Ir para conteúdo

[c++] passive system


Posts Recomendados

Agora, Josegvb disse:

 

tinha uma chave demais encima do if (isTarget(creature) && !isHostile() && !isSummon())

 

retirei e compilou sem erro, porem mesmo problema, o pokemon nunca fica + passivo :/ 

 

Pera, passei da source errada D:

bool Monster::selectTarget(Creature* creature){#ifdef __DEBUG__	std::cout << "Selecting target... " << std::endl;#endif	if(!isTarget(creature))		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 (isPassive() && !hasBeenAttacked(creature->getID())) {		return false;	}		if(!isHostile() && getHealth() ==  getMaxHealth() && !isSummon() && !isTarget(creature))    {		return false;	}			}	if (isTarget(creature) && !isHostile() && !isSummon())	{ Dispatcher::getInstance().addTask(createTask(			boost::bind(&Game::checkCreatureAttack, &g_game, getID())));				return setFollowCreature(creature, true);                         }                         if((isHostile() || isSummon() || !isHostile() && getHealth() !=  getMaxHealth() || !isHostile() && isTarget(creature) || isPassive()) && setAttackedCreature(creature) && !isSummon())		Dispatcher::getInstance().addTask(createTask(			boost::bind(&Game::checkCreatureAttack, &g_game, getID())));	return setFollowCreature(creature, true);}

 

Link para o comentário
Compartilhar em outros sites

2 hours ago, Ceetros said:

 

Pera, passei da source errada D:

bool Monster::selectTarget(Creature* creature){#ifdef __DEBUG__	std::cout << "Selecting target... " << std::endl;#endif	if(!isTarget(creature))		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 (isPassive() && !hasBeenAttacked(creature->getID())) {		return false;	}		if(!isHostile() && getHealth() ==  getMaxHealth() && !isSummon() && !isTarget(creature))    {		return false;	}			}	if (isTarget(creature) && !isHostile() && !isSummon())	{ Dispatcher::getInstance().addTask(createTask(			boost::bind(&Game::checkCreatureAttack, &g_game, getID())));				return setFollowCreature(creature, true);                         }                         if((isHostile() || isSummon() || !isHostile() && getHealth() !=  getMaxHealth() || !isHostile() && isTarget(creature) || isPassive()) && setAttackedCreature(creature) && !isSummon())		Dispatcher::getInstance().addTask(createTask(			boost::bind(&Game::checkCreatureAttack, &g_game, getID())));	return setFollowCreature(creature, true);}

 

 

 

63923978cfc0160116d8ac1e6626853b.png

Link para o comentário
Compartilhar em outros sites

Agora, Josegvb disse:

me fodi ne @Ceetros? kk nem faço ideia de oque esteja faltando la ;/:

 

Cara, eu não sei oq vc fez de errado, me manda o arquivo todo (pastebin)

Link para o comentário
Compartilhar em outros sites

Na linha

if((isHostile() || !isPassive() || isSummon() || !isHostile() && getHealth() !=  getMaxHealth() && isPassive() || !isHostile() && isPassive() && isTarget(creature)) && setAttackedCreature(creature) && !isSummon())

Deixa assim:

 

if((isHostile() || !isPassive() || isSummon() || !isHostile() && getHealth() !=  getMaxHealth()|| !isHostile() && isPassive() && isTarget(creature)) && setAttackedCreature(creature) && !isSummon())

 

 

e TODOS PASSIVOS NAO PODEM SER HOSTIS 

Link para o comentário
Compartilhar em outros sites

1 hour ago, Ceetros said:

Na linha

if((isHostile() || !isPassive() || isSummon() || !isHostile() && getHealth() !=  getMaxHealth() && isPassive() || !isHostile() && isPassive() && isTarget(creature)) && setAttackedCreature(creature) && !isSummon())

Deixa assim:

 

if((isHostile() || !isPassive() || isSummon() || !isHostile() && getHealth() !=  getMaxHealth()|| !isHostile() && isPassive() && isTarget(creature)) && setAttackedCreature(creature) && !isSummon())

 

 

e TODOS PASSIVOS NAO PODEM SER HOSTIS 

 

obrigado, tirei o hostile deles deixando somente a flag passive no xlm

resultado:

737775e3190e5e9ff5bd3ae31db68dd4.gif

 

sei q esta bem complicado ja testamos mts coisas, irei entender se nao quiser ajudar + os bixos nascem hostiles nao estao pasivos

Link para o comentário
Compartilhar em outros sites

1 hour ago, Ceetros said:

Não cara, tem que ser HOSTILE 0 e PASSIVE 1 '-'

 

Tem que ter a flag hostile.

 

se mesmo assim n for usa esse:

 

http://pastebin.com/c44hpxeq

 

agr ele nao esta usando mais skills, só fica dando follow no pokemon msm se eu bate nele ele nao faz nada so ir atrais

1 hour ago, Ceetros said:

Não cara, tem que ser HOSTILE 0 e PASSIVE 1 '-'

 

Tem que ter a flag hostile.

 

se mesmo assim n for usa esse:

 

http://pastebin.com/c44hpxeq

 

testei com essa agr, ele voltou a ficar passivo nunca sai da pasividade kkkk

Link para o comentário
Compartilhar em outros sites

19 minutos atrás, Josegvb disse:

 

agr ele nao esta usando mais skills, só fica dando follow no pokemon msm se eu bate nele ele nao faz nada so ir atrais

 

testei com essa agr, ele voltou a ficar passivo nunca sai da pasividade kkkk

Errei link dnv

http://pastebin.com/wyZcWVsF

Editado por Ceetros
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...