Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

O título é auto explicativo, precisei recentemente e só achei no final de um tópico escondido, resolvi respostar.

Algo bem comum em servidores derivados, encher mana e hp em pz..

 

  • Procure por esta função:
bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)

Em seguida, selecione ela toda:

bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)
{
	internalHealthTicks += interval;
	internalManaTicks += interval;
	if(creature->getZone() != ZONE_PROTECTION)
	{
		if(internalHealthTicks >= healthTicks)
		{
			internalHealthTicks = 0;
			creature->changeHealth(healthGain);
		}

		if(internalManaTicks >= manaTicks)
		{
			internalManaTicks = 0;
			creature->changeMana(manaGain);
		}
	}

	return ConditionGeneric::executeCondition(creature, interval);
}

E cola essa no lugar:

bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)
{
	internalHealthTicks += interval;
	internalManaTicks += interval;
	if(internalHealthTicks >= healthTicks)
	{
		internalHealthTicks = 0;
		creature->changeHealth(healthGain);
	}
	
	if(internalManaTicks >= manaTicks)
	{
		internalManaTicks = 0;
		creature->changeMana(manaGain);
	}
	return ConditionGeneric::executeCondition(creature, interval);
}

Agora é só compilar e pronto, Testada em tfs 0.4 funcionando..

Totais créditos para @RenanPhellip

 

 

 

 

As alterações que foram feitas estão aqui.

essa parte foi retirada,

Spoiler

if(creature->getZone() != ZONE_PROTECTION)	
	{	
		if(internalHealthTicks >= healthTicks)	
		{	
			internalHealthTicks = 0;	
			creature->changeHealth(healthGain);	
		}	
		if(internalManaTicks >= manaTicks)	
		{	
			internalManaTicks = 0;	
			creature->changeMana(manaGain);	
		}	
	}

 

e no lugar inserida essa, 

Spoiler

if(internalHealthTicks >= healthTicks)
	{
		internalHealthTicks = 0;
		creature->changeHealth(healthGain);
	}
	
	if(internalManaTicks >= manaTicks)
	{
		internalManaTicks = 0;
		creature->changeMana(manaGain);

 

 

Não entendo muito de source, mas uso um site que facilita bastante, ele verifica as mudanças de um texto para o outro.

Se o código que busco não for compatível com a que utilizo eu entro no site e vejo as diferenças para ir tentando soluções.

https://www.diffchecker.com/N47NJgaf exemplo da função que foi modificada no tutorial.

 

 

Editado por diarmaint (veja o histórico de edições)

  • Respostas 5
  • Visualizações 1.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado

@diarmaint da uma editada porque nem todas as sources são iguais destaca onde foi feita a alteração no caso 

 

bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)
{
	internalHealthTicks += interval;
	internalManaTicks += interval;
//	if(creature->getZone() != ZONE_PROTECTION)
	{
		if(internalHealthTicks >= healthTicks)
		{
			internalHealthTicks = 0;
			creature->changeHealth(healthGain);
		}

		if(internalManaTicks >= manaTicks)
		{
			internalManaTicks = 0;
			creature->changeMana(manaGain);
//		}
	}
	return ConditionGeneric::executeCondition(creature, interval);
}

deixei comentado onde foi removido

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Postado

@diarmaint Obrigado pela contribuição. Tópico aprovado!

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Postado

@diarmaint melhorou sim assim caso a pessoa tenha source diferente vai entender onde foi feita a modificação ^^ 

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo