SetCreaturename Bunshin

Dbko
Por Dbko
em Lixeira Pública
  • 1
  • 2

Dbko

Mudando Para Melhor
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/11/13Posts: 372

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:

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.

agora em Seu mapa Wolrd Procure por uma position bem distante do mapa e crie uma areá pequena assim

aula.gif[/spoiler

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

bunshin.gif



Caso Algum Erro So Deixar Que Estarei Ajudando

tumblr_mqi6iwn0FQ1s3jp5fo3_500.gif

HeelSpy

Programador Junior
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/10/11Posts: 82Char no Tibia: No Have

Coloca os créditos porque dai oque tu fez foi nada.

"My Remakes"

4a37d8dca2e3b66e89b13c5a1de255a9.png

992009de952facd713d2938b00add0d6.png

Dbko

Mudando Para Melhor
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/11/13Posts: 372

eu to Colocando os Spells e como ficou pq to arrumando e ta bugando

tumblr_mqi6iwn0FQ1s3jp5fo3_500.gif

Techrlz

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 03/03/14Posts: 239

Este script ja existe no forum, arrisco em dizer que você deu apenas Control+C e Control+V do topico existente, reportado para removerem..

 

 

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gê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...

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

Wiihtop

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 31/12/10Posts: 136

luan ja tem esse topico aqui no xtibia :/

Dbko

Mudando Para Melhor
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/11/13Posts: 372

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

tumblr_mqi6iwn0FQ1s3jp5fo3_500.gif

Techrlz

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 03/03/14Posts: 239

Cade os creditos de quem criou o codigo??

 

 

Dbko

Mudando Para Melhor
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/11/13Posts: 372

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

tumblr_mqi6iwn0FQ1s3jp5fo3_500.gif

Techrlz

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 03/03/14Posts: 239

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?

 

 

Dbko

Mudando Para Melhor
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/11/13Posts: 372

Sim ele Deixou a Autoria Por isso Postei Aki se não eu não ia postar né

tumblr_mqi6iwn0FQ1s3jp5fo3_500.gif

Techrlz

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 03/03/14Posts: 239

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.

 

 

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gê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...

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

Junior001

..................................
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 12/06/12Posts: 1026Gênero: MasculinoChar 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);

Atenciosamente, Junior Silva

 

 

 

 

 

 

 
 

 

T67thPC.png
 
 
 
 
 
 

Lordbaxx

Imperium Project
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 01/07/13Posts: 521

Funciona para usar assim --> "setCreatureName(monster, nick, "a "..nick..".") " <--- ?

Se Sim REP+

LOGO OFICIAL.png

  • 1
  • 2