glugluguga 11 Postado Junho 19, 2011 Share Postado Junho 19, 2011 (editado) Versão testada pelo Autor do post: TFS 0.4 rev 4395 Provavelmente pode ser usada em outras versões Versão testada por mim: TFS 0.3.6 pl1 Nome do code: setCreatureName(cid, newName, newNameDescription) Pra quem não sabe nameDescription é o nomezinho que aparecerá quando você der look. Exemplo: You see a troll. a parte do "troll" é a descrição do nome. Autor: Quetzalma(ou outro sei la, mais o que diz no post é que foi ele quem fez) O que ela faz: Esta função lhe permite renomear um único monstro no jogo para que, se você quiser um único monstro com um nome único, você não tem que fazer um arquivo novo monstro, simplesmente chamar esta função eo nome do monstro será o que você queria. Vamos começar. Bom, primeiramente queria dizer que este code não fui eu que fiz, e foi retirado da otland com autorização. Se você não sabe absolutamente nada do que vou dizer, nem me pergunte como resolver o bug, eu apenas traduzi a página que foi postada este code. Primeiramente vá em monster.h E procure por: class Monster : public Creature feito isso você verá isto: class Monster : public Creature { private: Monster(MonsterType* _mType); public: #ifdef __ENABLE_SERVER_DIAGNOSTIC__ static uint32_t monsterCount; #endif Na parte de: #ifdef __ENABLE_SERVER_DIAGNOSTIC__ Você adicionara em cima: std::string name, nameDescription; Ficando assim: class Monster : public Creature { private: Monster(MonsterType* _mType); public: std::string name, nameDescription; #ifdef __ENABLE_SERVER_DIAGNOSTIC__ static uint32_t monsterCount; #endif Agora você irá procurar por: virtual const std::string& getName() const {return mType->name;} e substituir por: virtual const std::string& getName() const {return name;} Depois procure por: virtual const std::string& getNameDescription() const {return mType->nameDescription;} substitua por: virtual const std::string& getNameDescription() const {return nameDescription;} novamente procure por: virtual std::string getDescription(int32_t) const {return mType->nameDescription + ".";} e substitua por: virtual std::string getDescription(int32_t) const {return nameDescription + ".";} Feito este você irá em monster.cpp e procure por: Monster::Monster(MonsterType* _mType): provavelmente você verá: Monster::Monster(MonsterType* _mType): Creature() { isIdle = true; isMasterInRange = false; teleportToMaster = false; mType = _mType; spawn = NULL; raid = NULL; defaultOutfit = mType->outfit; currentOutfit = mType->outfit; e embaixo de raid = NULL; você adicionará: name = mType->name; nameDescription = mType->nameDescription; feito isso você ira em luascript.h e procure por: static int32_t luaDoPlayerSendCancel(lua_State* L); logo abaixo você adicionará: static int32_t luaSetCreatureName(lua_State* L); feito isso vá em luascript.cpp e procure por: lua_register(m_luaState, "doPlayerSendCancel", LuaScriptInterface::luaDoPlayerSendCancel); e adicione abaixo: //setCreatureName(cid, name, description) lua_register(m_luaState, "setCreatureName", LuaInterface::luaSetCreatureName); depois procure por: int32_t LuaScriptInterface::luaDoSendDefaultCancel(lua_State* L) e adicione acima: 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; } Feito tudo o que foi pedido tecle Ctrl+F11 e bom proveito. Dependendo do erro vá postando ai embaixo, quem sabe eu posso ajudar. Agora quem saiba eu não possa fazer um nick system para o pessoal viciado em pokemon. Editado Julho 22, 2011 por glugluguga wallaceprado1 reagiu a isso 1 Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/ Compartilhar em outros sites More sharing options...
jeancassio2010 13 Postado Junho 19, 2011 Share Postado Junho 19, 2011 ai sim maninho, eu usei akela doCreateCustomMonster, mas era muito pesada pro nick system, vou fazer com essa ai e postar junto à um server!! valew. Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1049246 Compartilhar em outros sites More sharing options...
glugluguga 11 Postado Junho 19, 2011 Autor Share Postado Junho 19, 2011 Valeu pq? Eu só trouxe ela pra ca kkk. Mesmo assim vlw pelo rep ae. Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1049285 Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Junho 19, 2011 Share Postado Junho 19, 2011 Olá glugluguga Excelente trabalho , é bem legal utilizar essa função no jogo , depois eu vou testar certinho para ver se funciona , caso funcionar legalzinho eu fixo o tópico. Obrigado por contribuir ao Xtibia. REP + Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1049381 Compartilhar em outros sites More sharing options...
glugluguga 11 Postado Junho 19, 2011 Autor Share Postado Junho 19, 2011 Quem dera, se eu pudesse estaria sempre aqui ajudando ao xtibia e a todos. Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1049494 Compartilhar em outros sites More sharing options...
Ciffer 13 Postado Junho 24, 2011 Share Postado Junho 24, 2011 (editado) Quando se é zika eh assim msm... Rep+ continue assim manin Mas tipo assim... eu sou novo em OT Servers, mas isso nao vem ao caso eu só quero saber onde fka esse "monter.h" Editado Junho 24, 2011 por Ciffer Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1051981 Compartilhar em outros sites More sharing options...
Samuel2011 1 Postado Junho 24, 2011 Share Postado Junho 24, 2011 muito bom gostei parabens obrigado pelo tutorial explicando exatamente com otem q faze :button_ok: Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1052025 Compartilhar em outros sites More sharing options...
dranskr 0 Postado Junho 27, 2011 Share Postado Junho 27, 2011 Olha adicionei tudo perfeitamente só que quando vai compilar onde tem //setCreatureName(cid, name, description) lua_register(m_luaState, "setCreatureName", LuaInterface::luaSetCreatureName); em LuaInterface acontece um erro, então mudo para LuaScriptInterface como esta os outros e compila certo, ate ai beleza, agora quando tento executar a função no servidor não acontece nada e continua com o mesmo nick o monstro. Queria saber se você testou e conseguiu executar a scritp perfeitamente me fale pois fiz tudo seguindo o seu tutorial ja que o tutorial da otland não conseguir intender direito. Se resolver isso agradeço muito. Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1053329 Compartilhar em outros sites More sharing options...
jeancassio2010 13 Postado Junho 27, 2011 Share Postado Junho 27, 2011 (editado) Vc tem que editar o codigo pra versao do TFS que vc ta usando! essa ai é pra tfs 0.4(o guga pois 0.3.6pl1), mais nao é BYE edit: ahh tbm tem isso que ta errado: std::string name, nameDescription: mude esse : para ; fikando assim: std::string name, nameDescription; Te ajudei??? Dê Rep++, não custa nada! Editado Junho 27, 2011 por jeancassio Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1053331 Compartilhar em outros sites More sharing options...
dranskr 0 Postado Junho 27, 2011 Share Postado Junho 27, 2011 Eu fiz isso, o problema e que a função não ta rodando no server, apesar deu ter usado o 0.3.6 pl1 eu coloquei tudo certo para que pudesse ser compilado. O que quero saber e que se a função funciona mesmo e se algum ja testou pois aqui não deu certo. Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1053341 Compartilhar em outros sites More sharing options...
jeancassio2010 13 Postado Junho 27, 2011 Share Postado Junho 27, 2011 Eu fiz isso, o problema e que a função não ta rodando no server, apesar deu ter usado o 0.3.6 pl1 eu coloquei tudo certo para que pudesse ser compilado. O que quero saber e que se a função funciona mesmo e se algum ja testou pois aqui não deu certo. aki rodou normal, mas na versão 0.4, vo fazer na 0.3.6pl1 ai dps posto flw Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1053396 Compartilhar em outros sites More sharing options...
dranskr 0 Postado Junho 27, 2011 Share Postado Junho 27, 2011 Conseguir resolver, o problema e que só e possível ver o nome trocado caso o monstro seja criado fora da areá do client, mesmo assim obrigado pela ajuda. Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1053464 Compartilhar em outros sites More sharing options...
glugluguga 11 Postado Julho 2, 2011 Autor Share Postado Julho 2, 2011 Jean, não vi esse erro ai não :S : por ; Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1056375 Compartilhar em outros sites More sharing options...
meubk 257 Postado Julho 9, 2011 Share Postado Julho 9, 2011 (editado) há, vlw REP +, por ter trazido, mais é da otland... já fiz meu nick system , fico perfect. e arruma essa parte std::string name, nameDescription: que seria: std::string name, nameDescription; e tem que mudar algumas coisas pra tfs 0.3.6 Editado Julho 9, 2011 por xotservx Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1061237 Compartilhar em outros sites More sharing options...
Henrique127 11 Postado Julho 10, 2011 Share Postado Julho 10, 2011 So Uma Duvida Nao Consegui Acha O Monter.h ,, Alguem Poderia Me Dizer Aonde Se Encontra Ele ? Gratoo ! Link para o comentário https://xtibia.com/forum/topic/159133-setcreaturename-850-muda-o-nome-da-criature-in-game/#findComment-1062004 Compartilhar em outros sites More sharing options...
Posts Recomendados