Lightwood 8 #1 Posted January 16, 2020 Então recentemente achei esse sistema "perdido", porem ele estava com alguns bugs sinistros, os quais eram: Pokémon selvagem estava recebendo xp negativa quando seu pokémon morria. Você upava 70k de leveis caso matasse algum pokémon no selfdestruction. Por fim estes bugs foram removidos, agora estarei postando o sistema corrigido para vocês. Em monster.cpp e procure pela função: void Monster::onThink(uint32_t interval) E dentro dela, procure pela condição: else if(!targetList.empty()) E troque por esta: else if(!targetList.empty()) { if(!followCreature || !hasFollowPath) searchTarget(); } Agora procure pela função: bool Monster::selectTarget(Creature* creature) E troque por esta: bool Monster::selectTarget(Creature* creature) { #ifdef __DEBUG__ std::cout << "Selecting target... " << std::endl; #endif if(!isTarget(creature)) return false; Creature* target = creature->isPlayerSummon() ? creature->getMaster() : creature; if(!isHostile() && !hasBeenAttacked(target->getID()) && target->getAttackedCreature() != this) return false; CreatureList::iterator it = std::find(targetList.begin(), targetList.end(), creature); if(it == targetList.end()) { //Target not found in our target list. #ifdef __DEBUG__ std::cout << "Target not found in targetList." << std::endl; #endif return false; } if(setAttackedCreature(creature)) Dispatcher::getInstance().addTask(createTask(boost::bind(&Game::checkCreatureAttack, &g_game, getID()))); return setFollowCreature(creature, true); } --- Créditos pelo sistema e pela correção: Tony Araujo Crypter 2 Majesty and FlamesAdmin reacted to this Share this post Link to post
Majesty 1,755 #2 Posted January 16, 2020 Muito obrigado pela sua contribuição, seu tópico de conteúdo foi aprovado!Nós do OTServ Brasil agradecemos, seu conteúdo com certeza ajudará a muitos outros. Você recebeu +1 REP! Share this post Link to post