Estou com um problema no tibia que muitos servidores rate alta devem passar pelo mesmo problema acredito eu, um limite no setCreatureMaxHealth, no tibia a source meio que limita ele a um tal numero, 2 bilhões e pouco não sei o numero ao certo, porém já a função GetCreatureMaxHealth essa pega o valor certo da sua vida.
Quando você pega acima do valor de 2 bilhões e pouco, sua maxhealth reseta para 1, quero retirar esse limite e deixar indo o número sem limites. Como eu sei que o getcreaturemaxhealth pega o valor todo? Dei um print no valor e pega lá 5 bilhões e pouco.
peguei essas linhas da source.
SetCreatureMaxHealth.
int32_t LuaScriptInterface::luaSetCreatureMaxHealth(lua_State* L)
{
//setCreatureMaxHealth(uid, health)
uint32_t maxHealth = (uint32_t)popNumber(L);
ScriptEnviroment* env = getEnv();
if(Creature* creature = env->getCreatureByUID(popNumber(L)))
{
creature->changeMaxHealth(maxHealth);
lua_pushboolean(L, true);
}
else
{
errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));
lua_pushboolean(L, false);
}
return 1;
}
GetCreatureMaxHealth.
int32_t LuaScriptInterface::luaGetCreatureMaxHealth(lua_State* L)
{
//getCreatureMaxHealth(cid)
ScriptEnviroment* env = getEnv();
if(Creature* creature = env->getCreatureByUID(popNumber(L)))
lua_pushnumber(L, creature->getMaxHealth());
else
{
errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));
lua_pushboolean(L, false);
}
return 1;
}
seria o caso de mudar para uint64_t?