Postado Janeiro 23, 2012 13 anos Função testada no TFS 0.3.5pl1. * player.cpp Procure: lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = 0; Troque por isso lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = extraAttackSpeed = 0; Procure: return vocation->getAttackSpeed() Troque por isso: return vocation->getAttackSpeed() - getPlayer()->getExtraAttackSpeed(); No fim do arquivo coloque isto: void Player::setPlayerExtraAttackSpeed(uint32_t speed) { extraAttackSpeed = speed; } * player.h Depois de: uint64_t getSpentMana() const {return manaSpent;} Coloque isto: uint32_t getExtraAttackSpeed() const {return extraAttackSpeed;} void setPlayerExtraAttackSpeed(uint32_t speed); Depois de: uint32_t idleTime; Coloque isto: uint32_t extraAttackSpeed; * luascript.cpp Depois de: //doPlayerAddSoul(cid, soul) lua_register(m_luaState, "doPlayerAddSoul", LuaScriptInterface::luaDoPlayerAddSoul); Coloque isto: //doPlayerSetExtraAttackSpeed(cid, speed) lua_register(m_luaState, "doPlayerSetExtraAttackSpeed", LuaScriptInterface::luaDoPlayerSetExtraAttackSpeed); Depois de: int32_t LuaScriptInterface::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; } Coloque isto: int32_t LuaScriptInterface::luaDoPlayerSetExtraAttackSpeed(lua_State *L) { uint32_t speed = popNumber(L); ScriptEnviroment* env = getScriptEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))){ player->setPlayerExtraAttackSpeed(speed); lua_pushnumber(L, true); } else{ reportErrorFunc(getErrorDesc(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushnumber(L, false); } return 1; } * luacript.h Depois de: static int32_t luaDoPlayerAddSoul(lua_State* L); Coloque isto: static int32_t luaDoPlayerSetExtraAttackSpeed(lua_State* L); Como usar: doPlayerSetExtraAttackSpeed(cid, 2000) <- irá atacar 2 segundos mais rápido Para voltar ao normal use isto: doPlayerSetExtraAttackSpeed(cid, 0) Créditos: darkhaos Ae ajudei? Rep+
Postado Fevereiro 18, 2012 13 anos Administrador na onde eu acho * player.cpp explica melhor Amigo, você acha isso nas sources do seu distro. --- Bela função cara, valeu por trazer ao TK. TibiaKing Team- KingTópicos www.tibiaking.com
Postado Fevereiro 18, 2012 13 anos Autor De nada oque eu achar eu trago e ate script que eu fazer sou iniciante preciso de ajuda pra aperfeiçoar-me esse codigo todos devem saber que não foi eu que feis foi um amigo! Ae ajudei? Rep+
Postado Dezembro 17, 2012 12 anos Apresentou este erro...OT server DEV.04...8.6 luascript.cpp: In member function ‘virtual void LuaInterface::registerFunctions()’: luascript.cpp:1686: error: ‘LuaScriptInterface’ has not been declared luascript.cpp: At global scope: luascript.cpp:5086: error: ‘LuaScriptInterface’ has not been declared luascript.cpp: In function ‘int32_t luaDoPlayerSetExtraAttackSpeed(lua_State*)’: luascript.cpp:5088: error: ‘popNumber’ was not declared in this scope luascript.cpp:5089: error: ‘getEnv’ was not declared in this scope luascript.cpp:5096: error: ‘getError’ was not declared in this scope luascript.cpp:5096: error: ‘error’ was not declared in this scope make[1]: ** [luascript.o] Erro 1 Assinatura retirada pela direção!
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.