Em player.cpp
Procure:
lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = 0;
E substitue por isso:
lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = extraAttackSpeed = 0;
Continuando no player.cpp procure por:
return ((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() : (vocation->getAttackSpeed() / std::max((size_t)1, getWeapons().size())));
E substitua por isso:
return ((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() : (vocation->getAttackSpeed() - getPlayer()->getExtraAttackSpeed() / std::max((size_t)1, getWeapons().size())));
No final do arquivo coloque isto:
void Player::setPlayerExtraAttackSpeed(uint32_t speed)
{
extraAttackSpeed = speed;
}
Em player.h
Depois de:
uint64_t getSpentMana() const {return manaSpent;}
Coloque isso:
uint32_t getExtraAttackSpeed() const {return extraAttackSpeed;}
void setPlayerExtraAttackSpeed(uint32_t speed);
Depois de:
uint32_t idleTime;
Coloque isso:
uint32_t extraAttackSpeed;
Em luascript.cpp
Procure por:
//doPlayerAddSoul(cid, amount) lua_register(m_luaState, "doPlayerAddSoul", LuaInterface::luaDoPlayerAddSoul);
Em baixo coloque isto:
//doPlayerSetExtraAttackSpeed(cid, speed) lua_register(m_luaState, "doPlayerSetExtraAttackSpeed", LuaInterface::luaDoPlayerSetExtraAttackSpeed);
Procure por:
int32_t LuaInterface::luaDoPlayerAddSoul(lua_State* L)
{
//doPlayerAddSoul(cid, soul)
int32_t soul = popNumber(L);
ScriptEnviroment* env = getScriptEnv();
if(Player* player = env->getPlayerByUID(popNumber(L)))
{
player->changeSoul(soul);
lua_pushboolean(L, true);
}
else
{
reportErrorFunc(getErrorDesc(LUA_ERROR_PLAYER_NOT_FOUND));
lua_pushboolean(L, false);
}
return 1;
}
E em baixo cole isto:
int32_t LuaInterface::luaDoPlayerSetExtraAttackSpeed(lua_State *L)
{
uint32_t speed = popNumber(L);
ScriptEnviroment* env = getEnv();
if(Player* player = env->getPlayerByUID(popNumber(L))){
player->setPlayerExtraAttackSpeed(speed);
lua_pushnumber(L, true);
}
else
{
errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
lua_pushnumber(L, false);
}
return 1;
}
Agora para finalizar... Em luascript.h
Depois de:
static int32_t luaDoPlayerAddSoul(lua_State* L);
Coloque isto:
static int32_t luaDoPlayerSetExtraAttackSpeed(lua_State* L);
Créditos:
darkhaos por fazer a função
E a mim por ter adaptado para TFS 0.4 xD






info
Grupo: Visconde
Registrado: 26/08/10
Posts: 431
Reputação: +60
Gênero: Masculino
Char no Tibia: Gabriel Rookgaardian
Olá, alguém poderia me passar a função doPlayerSetExtraAttackSpeed para TFS 0.4 rev 3884? Essa,http://www.xtibia.com/forum/topic/181206-funcao-doplayersetextraattackspeed/, feita pelo Snowsz não serve pro TFS 0.4.
Desde já, agradeço.