• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    Monster pasivos c++

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1default Monster pasivos c++ el Vie Mar 13, 2015 2:22 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    hola usuarios de tibiaface


    bueno le traigo l sistema de mosutros pasico y agresivos para su ot bueno practicamente estos cambios en sus sources es para que haya moustros pasivos ya que por defecto ya hay agresivos bueno comensemos.


    buscamos en monster.h esta linea

    Código:
    bool isHostile() {return mType->isHostile;}

    y la remplazamos por esta linea:

    Código:
        bool isHostile() const {
        std::string value;
        if(!getStorage("hostile", value))
        return mType->isHostile;
        return booleanString(value);
        }

    En monster.cpp buscamos esta linea:

    Código:
    Monster::selectTarget

    mas abajo de aquella linea esta:

    Código:
        if(!isTarget(creature))
        return false;

    y debajo de esa linea colocas:

    Código:
        if(!isHostile())
        return false;

    Bueno ahora nos vamo la carpeta de nuestro ot:

    Data/creaturescripts/scripts

    copiamos cualquier archivo y renombramos por passive_system.lua y pegamos esto dentro

    Código:
        PASSIVE_BEHAVIOR = {"Deer", "Rabbit"} -- Aqui ficam os monstros que não atacam, mesmo que atacados.
        function onCombat(cid, target)
        if isMonster(target) then
        if not isInArray(PASSIVE_BEHAVIOR, getCreatureName(target)) then
        doCreatureSetStorage(target, "hostile", 1)
        end
        doMonsterSetTarget(target, cid)
        end
        return true
        end



    luego añadimos esta tag en:

    Data/creaturescripts/creaturescripts.xml

    Código:
    <event type="combat" name="PassiveSystem" event="script" value="passive_system.lua"/>


    y registramos el evento en

    Data/creaturescripts/scripts/login.lua

    abrimos el archivo y adentro pegamos esta linea

    Código:
    registerCreatureEvent(cid, "PassiveSystem")

    luego nos vamos al moustro que quieren que sea pasivo modifican la flag: ejemplo

    Código:
    <flag hostile="1"/>

    a
    Código:

    <flag hostile="0"/>

    y listo


    creditos: Garou



    Ver perfil de usuario http://www.tibiaface.com

    2default Re: Monster pasivos c++ el Mar Sep 20, 2016 11:11 am

    Invitado

    avatar
    Invitado
    Al compilar, me da error en Monster.h, mira esta foto, dice que la línea:
    Código:
    if(!getStorage("hostile", value))


    Esta mal escrita, aqui una foto:



    Al parecer pareciera que le falta un #define o algo asi

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).