Ir para conteúdo

DarkWore

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    DarkWore recebeu reputação de Unknown Beats em [C++] Atribute isPokeball   
    Falaaa galeraaa, beleza? então, estou trazendo pra vocês aquela função do PDA a isPokeball que achei em outro fórum e vi que não tem aqui
    Bem, se você tá adaptando seu PDA com source, e deu erro no atributo isPokeball, após colocar essa função não irá mais dar erro.
     
    Vá em items.cpp procure por:
    decayTime = 0; e em baixo adicione:
    isPokeball = false; agora procure por:
    else if(tmpStrValue == "transformto") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.transformToFree = intValue; } abaixo do }, adicione:
    else if(tmpStrValue == "ispokeball") { it.weight = 1000; } agora em items.h procure por:
    Ammo_t ammoType; e em baixo adicione:
    bool isPokeball; Recompile. E puff, seu cap está igual o pda xd
    Lembrando que nas pokebolas deve ter o atributo. Como neste exemplo:
    <item id="xxxx" article="a" name="safarri ball"> <attribute key="ispokeball" value="1"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item>  
    Créditos
    Deadpool (por desenvolver e postar em outro fórum)
    Eu (por trazer ao fórum)
  2. Gostei
    DarkWore recebeu reputação de iury alves potter em Pokemon não aparece no /cb   
    Envie data/talkactions/createpokeball.lua
  3. Gostei
    DarkWore recebeu reputação de iury alves potter em Pokemon não aparece no /cb   
    Não vejo erro no script, siga o tutorial para adicionar pokémon, provavelmente você está esquecendo de alguma coisa.
     
    Tutorial: https://tibiaking.com/forums/topic/47010-pda-adicionando-novos-pokemons-em-seu-servidor/
  4. Gostei
    DarkWore deu reputação a Snowsz em Creature Information Offset   
    Faz tempo que não posto nada, então deu vontade, tava brincando um pouco ai fiz esse sisteminha básico.
     
    • Gifs
     
    Nesse primeiro Gif, ao trocar a direção da Outfit, o nome e as barras de informações como Health, Mana, mudam de posição, isso é bom para ajustar as Outfits de acordo com o seu tamanho, como o Demon, ficar com as informações logo em cima da cabeça, ou Hydra, todos estão com o local padrão.

     
    Aqui era como as informações ficavam com essa Outfit originalmente, no padrão de sempre dos clients.

     
     
    Comparativo em imagem estática:
     
    Tibia Outfit antes e depois:

     
    Aqui estão algumas outfits que meu primo @Fae1z fez, apliquei o sistema de offset nelas, uma do Graves, uma do Ekko, ambos são personagens do game League of Legends, e uma baseada Uganda Knuckle:
     
    Ekko antes:

     
    Ekko depois:

     
    Graves antes e depois:

     
    Uganda Knuckle antes e depois:

     
    Aqui eu estava brincando de por as informações da Outfit de anão de modo drogado kkk.

     
     
    • Código
     
    Em Creature.h modifique nesta linha:
    void Creature::drawInformation(const Point& point, bool useGray, const Rect& parentRect, int drawFlags) Mude "const Point& point" para "Point& point".
    Ficando:
    void Creature::drawInformation(Point& point, bool useGray, const Rect& parentRect, int drawFlags)  
    Embaixo de:
     
    std::string getName() { return m_name; } Adicione:
     
    Point getInformationOffset() { return m_informationOffset; } void setInformationOffset(int x, int y) { m_informationOffset.x = x; m_informationOffset.y = y; }  
    Embaixo de:
    Position m_oldPosition; Adicione:
     
    Point m_informationOffset;  
     
    Agora, em Creature.cpp procure por:
    void Creature::drawInformation(const Point& point, bool useGray, const Rect& parentRect, int drawFlags) Mude "const Point& point" para "Point& point".
    Ficando:
    void Creature::drawInformation(Point& point, bool useGray, const Rect& parentRect, int drawFlags) Sim, isso está repetido, é assim mesmo, o processo é necessário em Creature.h e Creature.cpp, nessa função a variável point tem seu tipo alterado de Const para normal.
     
    Ainda em Creature.cpp procure por:
    if(!useGray) fillColor = m_informationColor; Pule duas linhas e adicione:
    point.x += m_informationOffset.x; point.y += m_informationOffset.y;  
    Agora, em Luafunctions.cpp procure por:
    g_lua.bindClassMemberFunction<Creature>("jump", &Creature::jump); Embaixo adicione:
    g_lua.bindClassMemberFunction<Creature>("setInformationOffset", &Creature::setInformationOffset); g_lua.bindClassMemberFunction<Creature>("getInformationOffset", &Creature::getInformationOffset);  
    A parte da source é só isso.
     
    Foi criada uma variável do tipo Point na classe Creature, que pode armazenar dois valores do tipo Int, sendo eles X & Y, assim detendo uma posição de offset, para ajustar a posição das informações(Health Bar, Mana Bar e Name) da criatura, essa variável é usada na função Creature::drawInformation, onde ocorre todo o desenho de informações das criaturas, lá o offset criado altera a posição de um Point usado como posição base das informações, alterando esse Point todo o resto segue aquela posição,  você pode setar o offset diretamente na criatura, as funções podem ser usadas tanto na source usando C++ quanto nos scripts usando Lua, em Lua o uso das funções é o seguinte:
     
    Essa função retorna uma tabela com X & Y, algo como "table = {x = 10, y = 20}", são as posições do offset.
    Creature:getInformationOffset() Exemplo de uso:
     
    local Offset = Creature:getInformationOffset() print(Offset.x) print(Offset.y) Isso vai printar no client_terminal do OTClient os valores de X & Y.
     
    Enquanto esta altera as posições usando os valores X & Y.
    Creature:setInformationOffset(x, y) Exemplo:
    Creature:setInformationOffset(10, -5)  
    Essa configuração de offset vai aumentar X em 10 Pixels e diminuir Y em 5 Pixels, no meu primeiro gif, na direção Sul do Char, eu usei X diminuindo 13 Pixels e Y diminuindo 8 Pixels, algo como isso:
    Creature:setInformationOffset(-13, -8)  
     
    Para tudo isso funcionar igual os gifs acima eu fiz um módulo especial, onde dependendo da Outfit e da direção que a criatura está olhando, ele vai alterar o offset de acordo.
     
    Para criar o módulo, siga estes passos:
     
    Na pasta do OTClient em modules/ crie uma pasta chamada game_creatureinformation, dentro crie um arquivo com o mesmo nome e a extensão .otmod, algo como "game_creatureinformation.otmod", o conteúdo do arquivo é este:
    Module name: game_creatureinformation description: Changes the position of the informations point to correctly draw names and creature bars. author: Snowsz website: tibiaking.com autoload: true reloadable: true sandboxed: true version: 1.0 scripts: [ game_creatureinformation ] @onLoad: init() @onUnload: terminate()  
    Crie um arquivo com o mesmo nome e a extensão .lua, algo como "game_creatureinformation.lua", o conteúdo do arquivo é este:
    --[[ Directions: North /\ East > South \/ West < Structure: [OutfitID] = { [Direction] = {x = OFFSETX, y = OFFSETY}, } ]] --Lista de offsets para cada Outfit. local OutfitOffsets = { [143] = { --Outfit do primeiro gif [North] = {x = -13, y = -8}, [East] = {x = -17, y = -8}, [South] = {x = -13, y = -8}, [West] = {x = -15, y = -8}, }, [160] = { --Outfit de anão com o nome full drogado. [North] = {x = 0, y = 0}, [East] = {x = 0, y = 0}, [South] = {x = -13, y = -80}, [West] = {x = 0, y = 0}, } } local function translateDir(dir) if dir == NorthEast or dir == SouthEast then return East elseif dir == NorthWest or dir == SouthWest then return West end return dir end local function getOutfitInformationOffset(outfit, dir) if OutfitOffsets[outfit] then return OutfitOffsets[outfit][translateDir(dir)] end return {x = 0, y = 0} end local function onCreatureAppear(creature) local Offset = getOutfitInformationOffset(creature:getOutfit().type, creature:getDirection()) creature:setInformationOffset(Offset.x, Offset.y) end local function onCreatureDirectionChange(creature, oldDirection, newDirection) local Offset = getOutfitInformationOffset(creature:getOutfit().type, newDirection) creature:setInformationOffset(Offset.x, Offset.y) end local function onCreatureOutfitChange(creature, newOutfit, oldOutfit) local Offset = getOutfitInformationOffset(newOutfit.type, creature:getDirection()) creature:setInformationOffset(Offset.x, Offset.y) end function init() connect(LocalPlayer, {onOutfitChange = onCreatureOutfitChange}) connect(Creature, { onAppear = onCreatureAppear, onDirectionChange = onCreatureDirectionChange, onOutfitChange = onCreatureOutfitChange }) end function terminate() disconnect(LocalPlayer, {onOutfitChange = onCreatureOutfitChange}) disconnect(Creature, { onAppear = onCreatureAppear, onDirectionChange = onCreatureDirectionChange, onOutfitChange = onCreatureOutfitChange }) end  
    A parte do módulo está finalizada, o que resta agora é configurar as Outfits na tabela com seus determinados Offsets, e não se preocupe, se a outfit não estiver configurada, ela vai seguir o padrão normal, o módulo só altera algo quando determinada Outfit está configurada.
     
    Para configurar o módulo é simples, basta seguir o padrão:
    [ID DA OUTFIT AQUI] = { [North] = {x = 0, y = 0}, [East] = {x = 0, y = 0}, [South] = {x = 0, y = 0}, [West] = {x = -0, y = 0}, }, Nos primeiros colchetes coloque o ID da sua Outfit para ter o offset modificado, os colchetes restantes são as direções, não é necessário mexer neles, dentro de cada índice da tabela tem os offsets X & Y, basta modificar o valor de acordo, sendo ele positivo ou negativo. NÃO SE ESQUEÇA DA VÍRGULA NO FINAL "},".
  5. Gostei
    DarkWore recebeu reputação de Salazar Slytherin em Erro SQL Datebase.   
    Sim, Existe um Bloqueio na Source para o Inventario só abrir via MYSQL.
  6. Gostei
    DarkWore deu reputação a Ryukiimaru em [SHOW OFF] Elder Tale Online   
    E ae pessoas, venho apresentar aqui o projeto Elder Tale Online, que como base principal terá o anime Log Horizon.
     
     
    Pagina: facebook.com/ElderTaleOnline
    Youtube: https://www.youtube.com/channel/UCO_dna2DQWkbCAT3gSr5kBA
  7. Curtir
    DarkWore deu reputação a Matt Shadows em [OPEN-SOURCE] PokeChampions   
    Olá Caros membros, hoje estou trazendo um servidor para vocês no qual eu fui contratado para adaptar uma source, me "calotaram" e eu achei justo postar a base adaptada. Desfrutem...
     
     

     
     

     
     
     
     

     
     

     
     

     
  8. Curtir
    DarkWore recebeu reputação de Xalita em TSword Art Online   
    @Xalita  Se Precisar de Ajuda me contate atualmente sou Programador C++/Lua
  9. Gostei
    DarkWore recebeu reputação de kakashiiis em Mudar nome do Client   
    Tem não só baixar o Hex Editor e dar CTRL+F e procurar por Tibia e editar e salvar e pronto.
     
    Link do Hex Editor:
    Download
  10. Gostei
    DarkWore recebeu reputação de helix758 em Como tirar a paradinha de look que todos veem?   
    Isso ae é no Distro qual versão do OTX que ta usando?
  11. Gostei
    DarkWore recebeu reputação de Samuel Cstr em [RESOLVIDO] Não parece password apenas monte de códigos   
    @Math2017latos isso é á Criptografia do Banco de Dados vai no seu config.lua e troca isso:
     
    encryptionType = "sha1" para:
     
    encryptionType = "plain" Espero ter ajudado.
  12. Gostei
    DarkWore recebeu reputação de Silveira em (Resolvido)Account Manager   
    Vá no config.lua e mude isso:
     
    accountManager = false Para isso:
     
    accountManager = true Pronto problema resolvido.
  13. Gostei
    DarkWore recebeu reputação de Rick PQ em Erro SQL Datebase.   
    Isso acontece porque não tem nenhum MySQL Ligado, use SQLITE:
     
    accountManager = false namelockManager = true newPlayerChooseVoc = false newPlayerSpawnPosX = 1021 newPlayerSpawnPosY = 1019 newPlayerSpawnPosZ = 7 newPlayerTownId = 1 newPlayerLevel = 30 newPlayerMagicLevel = 0 generateAccountNumber = false lightInterval = 7500 lightChange = 1 startupTime = 351 startupLight = 40 limitPokeballs = 7 minHappinessEffectDelay = 25 maxHappinessEffectDelay = 40 PokemonStageVeryHappy = 0 maximumHunger = -1 stateHunger = -1 useTeleportWithFly = false dropHappyDuringBattles = false --adicionadas ghostPokemonNames = "Gastly, Haunter, Gengar" allowBlockSpawn = false rateGymSpellInterval = 0.10 redSkullLength = 30000 * 24 * 60 * 60 blackSkullLength = 45000 * 24 * 60 * 60 dailyFragsToRedSkull = 3 weeklyFragsToRedSkull = 5 monthlyFragsToRedSkull = 10 dailyFragsToBlackSkull = dailyFragsToRedSkull weeklyFragsToBlackSkull = weeklyFragsToRedSkull monthlyFragsToBlackSkull = monthlyFragsToRedSkull dailyFragsToBanishment = dailyFragsToRedSkull weeklyFragsToBanishment = weeklyFragsToRedSkull monthlyFragsToBanishment = monthlyFragsToRedSkull blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 useBlackSkull = true useFragHandler = true advancedFragList = false notationsToBan = 3 warningsToFinalBan = 4 warningsToDeletion = 5 banLength = 7 * 24 * 60 * 60 killsBanLength = 7 * 24 * 60 * 60 finalBanLength = 30 * 24 * 60 * 60 ipBanishmentLength = 1 * 24 * 60 * 60 broadcastBanishments = true maxViolationCommentSize = 200 violationNameReportActionType = 2 autoBanishUnknownBytes = false worldType = "pvp" protectionLevel = 1000 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 5 * 1000 huntingDuration = 60 * 1000 criticalHitChance = 7 criticalHitMultiplier = 1 displayCriticalHitNotify = false removeWeaponAmmunition = true removeWeaponCharges = true removeRuneCharges = true whiteSkullTime = 150000 * 60 * 1000 noDamageToSameLookfeet = false showHealingDamage = false showHealingDamageForMonsters = false fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false oldConditionAccuracy = false loginProtectionPeriod = 10 * 1000 deathLostPercent = 1 stairhopDelay = 0 * 1000 pushCreatureDelay = 1 * 1000 deathContainerId = 0 gainExperienceColor = 215 addManaSpentInPvPZone = true squareColor = 0 allowFightback = true worldId = 0 ip = "192.168.1.1" bindOnlyConfiguredIpAddress = false loginPort = 7171 gamePort = 7172 adminPort = 7171 statusPort = 7171 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 90 -- codificado e limitado para 7 motd = "Bem Vindo ao Mew Server!" displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = false allowClones = true serverName = "Mew" loginMessage = "Bem Vindo Ao Pokemon Evolution!" statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = true sqlType = "sqlite" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "" sqlDatabase = "PAlpha" sqlFile = "PAlpha.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "plain" deathListEnabled = true deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 19 maxDeathRecords = 10 ingameGuildManagement = true levelToFormGuild = 40 premiumDaysToFormGuild = 0 guildNameMinLength = 2 guildNameMaxLength = 25 highscoreDisplayPlayers = 15 updateHighscoresAfterMinutes = 60 buyableAndSellableHouses = true houseNeedPremium = true bedsRequirePremium = true levelToBuyHouse = 1 housesPerAccount = 0 houseRentAsPrice = true -- housePriceAsRent = false housePriceEachSquare = 2975 houseRentPeriod = "never" houseCleanOld = 0 -- tava 0 guildHalls = false timeBetweenActions = 500 timeBetweenExActions = 500 hotkeyAimbotEnabled = true mapName = "Pokemon" mapAuthor = "Three" randomizeTiles = true storeTrash = false cleanProtectedZones = true mailboxDisabledTowns = "1" defaultPriority = "high" niceLevel = 5 coresUsed = "-1" optimizeDatabaseAtStartup = true removePremiumOnInit = true confirmOutdatedVersion = false formulaLevel = 5.0 formulaMagic = 1.0 bufferMutedOnSpellFailure = false spellNameInsteadOfWords = false emoteSpells = false allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true disableOutfitsForPrivilegedPlayers = false addonsOnlyPremium = false dataDirectory = "data/" bankSystem = true displaySkillLevelOnAdvance = false promptExceptionTracerErrorBox = true separateViplistPerCharacter = false maximumDoorLevel = 500 maxMessageBuffer = 10000000 saveGlobalStorage = false useHouseDataStorage = false storePlayerDirection = false checkCorpseOwner = true monsterLootMessage = 3 monsterLootMessageType = 22 ghostModeInvisibleEffect = false ghostModeSpellEffects = false idleWarningTime = 14 * 60 * 1000 idleKickTime = 15 * 60 * 1000 expireReportsAfterReads = 1 playerQueryDeepness = 2 maxItemsPerPZTile = 0 maxItemsPerHouseTile = 0 freePremium = false premiumForPromotion = true blessingOnlyPremium = true blessingReductionBase = 30 blessingReductionDecreament = 5 eachBlessReduction = 8 experienceStages = true rateExperience = 1000 premiumrateExperience = 2000 ratePremiumExperience = 2000 rateExperienceFromPlayers = 200 rateSkill = 1 rateMagic = 1.0 rateLoot = 15 rateSpawn = 1 rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 41 * 60 staminaRatingLimitBottom = 14 * 60 rateStaminaAboveNormal = 1.0 rateStaminaUnderNormal = 1.0 staminaThresholdOnlyPremium = true experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 20 extraPartyExperienceLimit = 30 extraPartyExperiencePercent = 20 experienceShareActivity = 2 * 60 * 1000 globalSaveEnabled = false globalSaveHour = 8 shutdownAtGlobalSave = true cleanMapAtGlobalSave = false deSpawnRange = 2 deSpawnRadius = 25 maxPlayerSummons = 1 teleportAllSummons = true teleportPlayerSummons = true ownerName = "Taiger" ownerEmail = "" url = "" location = "Brazil" displayGamemastersWithOnlineCommand = false adminLogsEnabled = false displayPlayersLogging = false prefixChannelLogs = "" runFile = "" outLogName = "" errorLogName = "" truncateLogsOnStartup = false Só usar esse config ae.
  14. Gostei
    DarkWore recebeu reputação de xestesx em [Link Quebrado] Pokemon Evolution [DxP]   
    Funfa Sim
  15. Gostei
    DarkWore recebeu reputação de ZoR em (Resolvido)Modern Acc (Erro Account)   
    Altere por:
     
    <?php class Character_model extends Model { function __construct() { parent::__construct(); $this->load->database(); } public function getAccountID() { $this->db->select('id'); $sql = $this->db->get_where('accounts', array('name' => $_SESSION['name']))->row_array(); return $this->db->get_where('id', $where)->result_array(); } public function getPlayersOnline() { @$world = (int)$_REQUEST['world']; @$order = $_REQUEST['sort']; $where = array('online' => 1); if(!empty($world)) $where['world_id'] = $world; $o = "level DESC"; $allowed = array('level', 'vocation', 'name'); if(!empty($order)) if(in_array($order, $allowed)) $o = "$order DESC"; $this->db->select('name, level, world_id, vocation, promotion'); $this->db->order_by($o); return $this->db->get_where('players', $where)->result_array(); } public function getCount() { $this->db->where(array('account_id' => $_SESSION['account_id'], 'deleted' => 0)); $this->db->from('players'); return $this->db->count_all_results(); } public function characterExists($name) { $this->db->select('id'); return ($this->db->get_where('players', array('name' => $name))->num_rows ? true : false); } } ?> Testa assim.
  16. Gostei
    DarkWore recebeu reputação de forgotten em [Link Quebrado] Pokemon Evolution [DxP]   
    Usa á do DXP Já postado aqui como ele disse no post á que o programador dele fez ele não teve permissão pra postar.
  17. Gostei
    DarkWore recebeu reputação de radhanama em [C++] Atribute isPokeball   
    Falaaa galeraaa, beleza? então, estou trazendo pra vocês aquela função do PDA a isPokeball que achei em outro fórum e vi que não tem aqui
    Bem, se você tá adaptando seu PDA com source, e deu erro no atributo isPokeball, após colocar essa função não irá mais dar erro.
     
    Vá em items.cpp procure por:
    decayTime = 0; e em baixo adicione:
    isPokeball = false; agora procure por:
    else if(tmpStrValue == "transformto") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.transformToFree = intValue; } abaixo do }, adicione:
    else if(tmpStrValue == "ispokeball") { it.weight = 1000; } agora em items.h procure por:
    Ammo_t ammoType; e em baixo adicione:
    bool isPokeball; Recompile. E puff, seu cap está igual o pda xd
    Lembrando que nas pokebolas deve ter o atributo. Como neste exemplo:
    <item id="xxxx" article="a" name="safarri ball"> <attribute key="ispokeball" value="1"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item>  
    Créditos
    Deadpool (por desenvolver e postar em outro fórum)
    Eu (por trazer ao fórum)
  18. Gostei
    DarkWore recebeu reputação de Breaky em Passando Narutibia 8 5.4 para 8.60   
    Você precisará das seguintes coisas:
     
    Source 854 do seu Narutibia Nova Source 860 de Tibia Limpo. Cliente 854 do seu Narutibia (Incluindo SPR e DAT) Cliente 860 Limpo de Tibia (Incluindo SPR e DAT do seu Narutibia) Após isso será necessário passar á SPR e DAT Para 860 basta usar o Object Builder e Compilar na versão desejada, após isso basta, passar todos os códigos da versão 854 e seu devido tfs para á versão 860 e compilar á source e fazer na source para o seu distro aceitar os ITENS OTB E XML na versão 860 (Existe Tutorial aqui no fórum)
     
    Se ajudei REP+
  19. Gostei
    DarkWore recebeu reputação de Nto Avus em [PEDIDO] Barra de mana junto a de Vida   
    Isso ae deve sair na faixa de R$ 50,00 mais isso ae é com o ClientMaker só conheço um e o serviço dele é caro, achar free isso ae vai ser dificil.
  20. Gostei
    DarkWore deu reputação a rohfagundes em [C++] Color Monster   
    Ola, tinha umas pessoas pedindo para eu mostrar aonde muda a cor do monstro
    então resolvi criar um tópico para mostrar, vamos la.
    na source do cliente
    va no arquivo creature.cpp
    procure por:
    void Creature::internalDrawOutfit(Point dest, float scaleFactor, bool animateWalk, bool animateIdle, Otc::Direction direction, LightView *lightView) dentro dessa funçao ache isso:
    g_painter->setColor(m_outfitColor); logo abaixo add isso:
    if (isMonster() && m_name == "Demon") g_painter->setColor(Color::orange); if (isMonster() && m_name == "Dragon") g_painter->setColor(Color::teal);  
    pronto 
    todos os demons e dragons vão estar com cor diferente
    imagem:

     
    ps: no tópico eu editei para pegar o nome do monstro
    pq no meu ele pega outra informação q n vai ter no ot de vcs
     
    edit:
    as cores disponíveis:
    const Color Color::alpha = 0x00000000U; const Color Color::white = 0xffffffff; const Color Color::black = 0xff000000; const Color Color::red = 0xff0000ff; const Color Color::darkRed = 0xff000080; const Color Color::green = 0xff00ff00; const Color Color::darkGreen = 0xff008000; const Color Color::blue = 0xffff0000; const Color Color::darkBlue = 0xff800000; const Color Color::pink = 0xffff00ff; const Color Color::darkPink = 0xff800080; const Color Color::yellow = 0xff00ffff; const Color Color::darkYellow = 0xff008080; const Color Color::teal = 0xffffff00; const Color Color::darkTeal = 0xff808000; const Color Color::gray = 0xffa0a0a0; const Color Color::darkGray = 0xff808080; const Color Color::lightGray = 0xffc0c0c0; const Color Color::orange = 0xff008cff;  
  21. Gostei
    DarkWore recebeu reputação de Gustavo Ntos em Mecher na source   
    Isso ae fica em otserv.cpp só procurar á linha la e editar, boa sorte.
  22. Gostei
    DarkWore recebeu reputação de Lammorn123 em PEDIDO Source NTO Shinobi   
    Source: Download
    Scan: Link do Scan
  23. Gostei
    DarkWore recebeu reputação de L3K0T em Source Poketibia - Códigos de derrubar   
    Não é bug cara é um bloqueio nas sources para o servidor só rodar com MYSQL.
    @Alexy Brocanello Poderia verificar isso que o cara disse realmente eu abri o DXP em um Dedicado e fica Lag, poderia verificar? seria de grande ajuda.
  24. Gostei
    DarkWore recebeu reputação de p6droxp em Erro No Ot   
    Ao Logar não está sendo possível chamar:
     
    getCreatureCondition  
    Na Função:
     
    isPlayerGhost  
    Isso pode ser por falta da função, você fez alguma alteração no servidor que pode estar dando esse erro? 
  25. Gostei
    DarkWore recebeu reputação de p6droxp em Erro No Ot   
    Me Manda seu Login.lua pra mim dar uma olhada copia e cola ele nesse site:
    https://hastebin.com/

Informação Importante

Confirmação de Termo