Sua Comunidade de servidores derivados


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

#1
 Luan Mello

avatar
Membro
Membro
eae galera venho aqui trazer um código liberada pela otland então vamos deixar de blabla

encontre
em monster.h

Código:
class Monster : public Creature

em seguida, adicione esta sob público:

Código:
std::string name, nameDescription;

deixando assim

Código:
class Monster : public Creature
{
   private:
      Monster(MonsterType* _mType);

   public:
          std::string name, nameDescription;
#ifdef __ENABLE_SERVER_DIAGNOSTIC__
      static uint32_t monsterCount;
#endif

agora procure por

Código:
virtual const std::string& getName() const {return mType->name;}

substitua por

Código:
virtual const std::string& getName() const {return name;}

procure por

Código:
virtual const std::string& getNameDescription() const {return mType->nameDescription;}

substitua por

Código:
virtual const std::string& getNameDescription() const {return nameDescription;}

procure por

Código:
virtual std::string getDescription(int32_t) const {return mType->nameDescription + ".";}

e substitua por

Código:
virtual std::string getDescription(int32_t) const {return nameDescription + ".";}

Agora em Monster.cpp

procure por

Código:
Monster::Monster(MonsterType* _mType):

em seguida, adicione o seguinte código logo acima

Código:
name = _mType->name;
    nameDescription = _mType->nameDescription;

deixando assim

Código:
Monster::Monster(MonsterType* _mType):
   Creature()
{
   isIdle = true;
   isMasterInRange = false;
   teleportToMaster = false;
   mType = _mType;
   spawn = NULL;
   raid = NULL;
   name = mType->name;
    nameDescription = mType->nameDescription;
   defaultOutfit = mType->outfit;
   currentOutfit = mType->outfit;

agora em luascript.h

adicionar perto das linhas semelhantes

Código:
static int32_t luaSetCreatureName(lua_State* L);

Luascripts.cpp

adicionar perto de linhas semelhantes

Código:
//setCreatureName(cid, name, description)
lua_register(m_luaState, "setCreatureName", LuaInterface::luaSetCreatureName);

adicionar perto de linhas semelhantes

Código:
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;
}

Galera Se Der Algum Erro Só Deixar Aqui Porque testei na 0.3.6 e tem uns 0.3.6 que eles da um erro básico

se der 2 erros é so substitiu por esse

Código:
//setCreatureName(cid, name, description)
    lua_register(m_luaState, "setCreatureName", LuaScriptInterface::luaSetCreatureName);

Código:
int32_t LuaScriptInterface::luaSetCreatureName(lua_State* L)

em spells/naruto/bunshi so apagar o que tem dentro e colocar esse aqui

Spoiler:
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}
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

onde tem às positions vocês tem que criar uma pequena área bem distante do mapa para o clone copiar o nome espero ter ajudado

Creditos: Scarlet Ayleid Pelo código
Créditos Eu Pelo Postar aqui e pelo spells
Ver perfil do usuário

#2
 AnnaFeeh

avatar
Membro
Membro
Otimo Tutorial Very Happy
Por mim Aprovado  cheers 
Ver perfil do usuário http://www.EmBreve.com

#3
 Kuuhaku

avatar
Estagiário
Estagiário
Muito bom em, ótimo tutorial, hehe trás mais funções pra nois ae.
Ver perfil do usuário http://www.felipemuniz.com.br

#4
 Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum