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.
Por glugluguga, 19 de jun. de 2011 em Linguagens de Programação
info
Grupo: Campones
Registrado: 02/12/10
Posts: 15
Reputação: +13
Char no Tibia: Hanna-montana

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.
info
Grupo: Campones
Registrado: 11/05/09
Posts: 34
Reputação: +11
Char no Tibia: Okuta Sujo

Valeu pq?
Eu só trouxe ela pra ca kkk.
Mesmo assim vlw pelo rep ae.
info
Grupo: Lorde
Registrado: 17/01/09
Posts: 2.1k
Reputação: +395
Char no Tibia: Adra Sata

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 +
info
Grupo: Campones
Registrado: 11/05/09
Posts: 34
Reputação: +11
Char no Tibia: Okuta Sujo

Quem dera, se eu pudesse estaria sempre aqui ajudando ao xtibia e a todos.
info
Grupo: Campones
Registrado: 19/05/11
Posts: 35
Reputação: +13

Quando se é zika eh assim msm...
Editado Junho 24 por Ciffer
info
Grupo: Campones
Registrado: 24/06/11
Posts: 71
Reputação: -1

muito bom gostei parabens obrigado pelo tutorial explicando exatamente com otem q faze :button_ok:
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.
info
Grupo: Campones
Registrado: 02/12/10
Posts: 15
Reputação: +13
Char no Tibia: Hanna-montana

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 26 por jeancassio
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.
info
Grupo: Campones
Registrado: 02/12/10
Posts: 15
Reputação: +13
Char no Tibia: Hanna-montana

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
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.
info
Grupo: Campones
Registrado: 11/05/09
Posts: 34
Reputação: +11
Char no Tibia: Okuta Sujo

Jean, não vi esse erro ai não :S
: por ;
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 por xotservx
info
Grupo: Campones
Registrado: 18/10/10
Posts: 33
Reputação: +11
Char no Tibia: Loide Knight

So Uma Duvida Nao Consegui Acha O Monter.h ,, Alguem Poderia Me Dizer Aonde Se Encontra Ele ?
Gratoo !
info
Grupo: Campones
Registrado: 11/05/09
Posts: 34
Reputação: +11
Char no Tibia: Okuta Sujo
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:
feito isso você verá isto:
class Monster : public Creature { private: Monster(MonsterType* _mType); public: #ifdef __ENABLE_SERVER_DIAGNOSTIC__ static uint32_t monsterCount; #endifNa parte de:
Você adicionara em cima:
Ficando assim:
class Monster : public Creature { private: Monster(MonsterType* _mType); public: std::string name, nameDescription; #ifdef __ENABLE_SERVER_DIAGNOSTIC__ static uint32_t monsterCount; #endifAgora 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:
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á:
feito isso você ira em luascript.h
e procure por:
logo abaixo você adicionará:
feito isso vá em luascript.cpp
e procure por:
e adicione abaixo:
depois procure por:
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 por glugluguga