Coloca os créditos porque dai oque tu fez foi nada.
- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- SetCreaturename Bunshin
SetCreaturename Bunshin
Por Dbko, 01 de mai. de 2014 em Archived
info
Grupo: Campones
Registrado: 16/10/11
Posts: 82
Reputação: +10
Char no Tibia: No Have

eu to Colocando os Spells e como ficou pq to arrumando e ta bugando
Este script ja existe no forum, arrisco em dizer que você deu apenas Control+C e Control+V do topico existente, reportado para removerem..
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

e ve se da enter nos codigos pq se n os caras vao por do jeito q ta e vai ficar tudo em comentario...
luan ja tem esse topico aqui no xtibia ![]()
Mano Si eu dei um Ctrl c e v mas eu editei á Spells Pra criar o bunshin com nome que muitos procuram e coloquei como é que tem que por na sources pq n queria reviver um topico para não causar flood então resolvir criar esse tutorial como coloca na sources o spelsl e como ficou
Cade os creditos de quem criou o codigo??
Mano Tava na Otland e o Dono Deixou e outra o codigo tbm tem aki no xtibia os povo do xtibia demora muito de entender uma coisa meu Deus eu so copie o codigo e coloquei aki e spells pra os leks testarem creio que vai funfar então se o dono do Codigo Tive-se Conta no xtibia não sei e eu soube-se o nome eu colocaria os creditos dele oky
Mano Tava na Otland e o Dono Deixou e outra o codigo tbm tem aki no xtibia os povo do xtibia demora muito de entender uma coisa meu Deus eu so copie o codigo e coloquei aki e spells pra os leks testarem creio que vai funfar então se o dono do Codigo Tive-se Conta no xtibia não sei e eu soube-se o nome eu colocaria os creditos dele oky
Certo, coloque os creditos ou ele te deixou ter autoria 100% do trabalho dele?
Sim ele Deixou a Autoria Por isso Postei Aki se não eu não ia postar né
Sim ele Deixou a Autoria Por isso Postei Aki se não eu não ia postar né
Certo, duvido que ele tenha te dado autoria do trabalho mais então bote nos creditos que você que fez.
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

n era mais facil posta a spell e botar o link pro topico q ja tem essa funçao? u,U sem fla q tu ainda n desse os 'enters' no codigo.. se alguem sem muito conhecimento for por isso nas sources vai ficar quase tudo como comentario...
info
Grupo: Herói
Registrado: 12/06/12
Posts: 1k
Reputação: +362
Gênero: Masculino
Char no Tibia: Aarow

Esta parte esta declarada errada:
//setCreatureName(cid, name, description) lua_register(m_luaState, "setCreatureName", LuaInterface::luaSetCreatureName);
o certo seria:
//setCreatureName(cid, name, description) lua_register(m_luaState, "setCreatureName", LuaScriptInterface::luaSetCreatureName);
Editado Maio 2 por Junior Silva








info
Grupo: Visconde
Registrado: 20/11/13
Posts: 372
Reputação: +120
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.
esse codigo ja exist aki no xtibia mas so copie e postei no xtibia
Vamos começar.
Bom, primeiramente queria dizer que este code não fui eu que fiz, e foi retirado da otland com autorização.
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.
agora em Seu mapa Wolrd Procure por uma position bem distante do mapa e crie uma areá pequena assim
e após isso você va em data spells e naruto e procure por bunshin e coloque essa spells
function onCastSpell(cid, var)
local cloth = getCreatureOutfit(cid)
local health = getCreatureHealth(cid)
local maxhealth = getCreatureMaxHealth(cid)
local MaximoSummon = 2
local summons = getCreatureSummons(cid)
if(table.maxn(summons) < MaximoSummon) then
local pos = getPlayerPosition(cid)
local bpos = {x=pos.x+2, y = pos.y, z = pos.z}
local farAwayPos = {x = 2061, y = 2056, z = 7} -- aki é a position onde o bunshin vai ir e vai voltar
local Bunshin = doCreateMonster("Bunshin", farAwayPos)
doConvinceCreature(cid, Bunshin)
setCreatureMaxHealth(Bunshin, maxhealth)
doCreatureAddHealth(Bunshin, health)
doSetCreatureOutfit(Bunshin, cloth, -1)
setCreatureName(Bunshin, "".. getCreatureName(cid) .."", "a ".. getCreatureName(cid) .."")
addEvent(doSendMagicEffect, 300, pos, 2)
addEvent(doTeleportThing, 300, Bunshin, pos)
return TRUE
end
end
pronto salve o mapa na position e o spells e renicie sue servidor e teste
Caso Algum Erro So Deixar Que Estarei Ajudando
Editado Maio 1 por Dbko