Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/02/22 em todas áreas

  1. adicionar remover player

    Carlinhous1996 reagiu a Diiego Liima por uma resposta no tópico

    1 ponto
    qual sua tfs ?
  2. setCreatureName(cid, name, description)

    FeeTads reagiu a luanluciano93 por uma resposta no tópico

    1 ponto
    Olá pessoal, eu estava ajudando um amigo em um script de Tibia Naruto, e me deparei com a necessidade de usar uma função para trocar o nome de um summon, mas isso teria que ser inGame, e depois de procurar um pouco achei a função setCreatureName, que faz exatamente o que eu precisava. O que ela faz? Como eu expliquei acima, ela muda o nome da Creature inGame, podendo ser bastante útil (dependendo da sua criatividade). Como instalar? A instalação é feita inteiramente nas sources, então vamos lá .. 1 - No arquivo monster.h encontre esse trecho: class Monster : public Creature { private: Monster(MonsterType* _mType); public: E adicione isso abaixo de public:: std::string name, nameDescription; 2 - Ainda em monster.h procure por: virtual const std::string& getName() const {return mType->name;} E substitua por isso: virtual const std::string& getName() const {return name;} 3 - Ainda em monster.h procure por: virtual const std::string& getNameDescription() const {return mType->nameDescription;} E substitua por isso: virtual const std::string& getNameDescription() const {return nameDescription;} 4 - Ainda em monster.h procure por: virtual std::string getDescription(int32_t) const {return mType->nameDescription + ".";} E substitua por isso: virtual std::string getDescription(int32_t) const {return nameDescription + ".";} 5 - Agora em monster.cpp procure por: Monster::Monster(MonsterType* _mType): Nas linhas abaixo tem a linha: raid = NULL; , adicione isso logo abaixo: name = _mType->name; nameDescription = _mType->nameDescription; 6 - Agora em luascript.h adicione isso perto das linhas semelhantes: static int32_t luaSetCreatureName(lua_State* L); 7 - Agora em luascript.cpp adicione isso perto das linhas semelhantes: //setCreatureName(cid, name, description) lua_register(m_luaState, "setCreatureName", LuaInterface::luaSetCreatureName); 8 - Ainda em luascript.cpp adicione isso perto das linhas semelhantes: int32_t LuaInterface::luaSetCreatureName(lua_State* L) { // setCreatureName(cid, newName, newDescription) std::string newDesc = popString(L); std::string newName = popString(L); ScriptEnviroment* env = getEnv(); Creature* creature; if (creature = env->getCreatureByUID(popNumber(L))) { Monster* monster = (Monster*)creature; monster->name = newName; monster->nameDescription = newDesc; lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Pelo fato de algumas diferenças no modo de escrever a função entre as TFS, pode ocorrer erros, e então substitua as seguintes linhas dos 2 passos anteriores: Créditos: Scarlet Ayeid É isso pessoal ... um exemplo de uso dentro de alguma função é assim basicamente: local pos = {x = 10, y = 10, z = 7} local Teste = doCreateMonster("Rat", pos) setCreatureName(Teste, ""..getCreatureName(cid).."", "a "..getCreatureName(cid).."") Espero ter ajudado pessoal, até mais.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo