Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

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+ :D
 

  • 4 weeks later...
  • Respostas 9
  • Visualizações 3.4k
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • 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
  • 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+ :D
 

  • 9 months later...
Postado

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.

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