Ir para conteúdo

Featured Replies

Postado
3 minutos atrás, stauro disse:

Sabe em qual arquivo da source? já mexi no "config.lua" da source, também não mudou nada

condition.cpp
na função

bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)

 

Se não tiver conhecimento de C++, poste aqui a função toda para que eu analise. Lembrando que alterações na source requer compilar novamente depois.

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

  • Respostas 8
  • Visualizações 589
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • condition.cpp na função bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)   Se não tiver conhecimento de C++, poste aqui a função toda para que eu ana

  • Só essa parte: bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) { internalHealthTicks += interval; internalManaTicks += interval; if(internalHealthTic

Postado
  • Autor
4 minutos atrás, luangop disse:

condition.cpp
na função

bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)

 

Se não tiver conhecimento de C++, poste aqui a função toda para que eu analise. Lembrando que alterações na source requer compilar novamente depois.

bool ConditionRegeneration::serialize(PropWriteStream& propWriteStream)
{
    if(!ConditionGeneric::serialize(propWriteStream))
        return false;

    propWriteStream.addByte(CONDITIONATTR_HEALTHTICKS);
    propWriteStream.addType(healthTicks);

    propWriteStream.addByte(CONDITIONATTR_HEALTHGAIN);
    propWriteStream.addType(healthGain);

    propWriteStream.addByte(CONDITIONATTR_MANATICKS);
    propWriteStream.addType(manaTicks);

    propWriteStream.addByte(CONDITIONATTR_MANAGAIN);
    propWriteStream.addType(manaGain);
    return true;
}

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);
}

bool ConditionRegeneration::setParam(ConditionParam_t param, int32_t value)
{
    bool ret = ConditionGeneric::setParam(param, value);
    switch(param)
    {
        case CONDITIONPARAM_HEALTHGAIN:
            healthGain = value;
            return true;

        case CONDITIONPARAM_HEALTHTICKS:
            healthTicks = value;
            return true;

        case CONDITIONPARAM_MANAGAIN:
            manaGain = value;
            return true;

        case CONDITIONPARAM_MANATICKS:
            manaTicks = value;
            return true;

        default:
            break;
    }

    return ret;
}

 

 

É isso?

Postado
Agora, stauro disse:

bool ConditionRegeneration::serialize(PropWriteStream& propWriteStream)
{
    if(!ConditionGeneric::serialize(propWriteStream))
        return false;

    propWriteStream.addByte(CONDITIONATTR_HEALTHTICKS);
    propWriteStream.addType(healthTicks);

    propWriteStream.addByte(CONDITIONATTR_HEALTHGAIN);
    propWriteStream.addType(healthGain);

    propWriteStream.addByte(CONDITIONATTR_MANATICKS);
    propWriteStream.addType(manaTicks);

    propWriteStream.addByte(CONDITIONATTR_MANAGAIN);
    propWriteStream.addType(manaGain);
    return true;
}

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);
}

bool ConditionRegeneration::setParam(ConditionParam_t param, int32_t value)
{
    bool ret = ConditionGeneric::setParam(param, value);
    switch(param)
    {
        case CONDITIONPARAM_HEALTHGAIN:
            healthGain = value;
            return true;

        case CONDITIONPARAM_HEALTHTICKS:
            healthTicks = value;
            return true;

        case CONDITIONPARAM_MANAGAIN:
            manaGain = value;
            return true;

        case CONDITIONPARAM_MANATICKS:
            manaTicks = value;
            return true;

        default:
            break;
    }

    return ret;
}

 

 

É isso?

 

Só essa parte:

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);
}

 

Muda para isso:
 

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);
}

 

Não esqueça de compilar novamente.

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Postado
  • Autor
6 minutos atrás, luangop disse:

 

Só essa parte:


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);
}

 

Muda para isso:
 


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);
}

 

Não esqueça de compilar novamente.

Funcionou!!!! Muito obrigado, amigo!!! Vc sabe se o sistema de parcel também é na source? não consigo fazer funcionar de jeito nenhum

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.7k

Informação Importante

Confirmação de Termo