• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Moustros Passivos TFS 1.1 / 1.2

    Compartir:

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

    1default Moustros Passivos TFS 1.1 / 1.2 el Sáb Mayo 16, 2015 8:41 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Hola usuarios de tibiaface


    Bueno aqui les traigo el sistema de moustros pasivos en nuestro ot, claro que esto es lenguaje de programcion asi que tendran que editar sus sources y compilar el exe de sus ot TFs 1.1/ 1.2. practicamente esto hace que los moustro no te atequen mientra no los ataques obvio que tu podras editar eso en las flag de cada mosutro que quieras que sea pasivo.

    bueno vamos a edicion del sources:


    buscamos en luascript.cpp:

    Código:
    registerMethod("MonsterType", "isHostile", LuaScriptInterface::luaMonsterTypeIsHostile);

    y abajo colocamos

    Código:
    registerMethod("MonsterType", "isHostileOnAttack", LuaScriptInterface::luaMonsterTypeIsHostileOnAttack);

    buscamos luascript.cpp:

    Código:
    int LuaScriptInterface::luaMonsterTypeIsHostile(lua_State* L)
    {
        // monsterType:isHostile()
        MonsterType* monsterType = getUserdata<MonsterType>(L, 1);
        if (monsterType) {
            pushBoolean(L, monsterType->isHostile);
        } else {
            lua_pushnil(L);
        }
        return 1;
    }

    y abajo pegamos:

    Código:
    int LuaScriptInterface::luaMonsterTypeIsHostileOnAttack(lua_State* L)
    {
        // monsterType:isHostileOnAttack()
        MonsterType* monsterType = getUserdata<MonsterType>(L, 1);
        if (monsterType) {
            pushBoolean(L, monsterType->isHostileOnAttack);
        } else {
            lua_pushnil(L);
        }
        return 1;
    }


    Buscamos en luascript.h:

    Código:
    static int luaMonsterTypeIsHostile(lua_State* L);

    y abajo colocamos

    Código:
    static int luaMonsterTypeIsHostileOnAttack(lua_State* L);

    Buscamos en monster.cpp:


    Código:
    if (isHostile() || isSummon()) {
            if (setAttackedCreature(creature) && !isSummon()) {
                g_dispatcher.addTask(createTask(std::bind(&Game::checkCreatureAttack, &g_game, getID())));
            }
        }
        return setFollowCreature(creature);
    }


    y lo remplazamos por

    Código:
    if (isHostileOnAttack() && getHealth() >= getMaxHealth()) {
                return false;
        } else if (isHostile() || isSummon()) {
            if (setAttackedCreature(creature) && !isSummon()) {
                g_dispatcher.addTask(createTask(std::bind(&Game::checkCreatureAttack, &g_game, getID())));
            }
        }
        return setFollowCreature(creature);
    }


    Buscamos en monster.h:

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

    y abajo colocamos

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


    Buscamos en monsters.cpp:

    Código:
    isHostile = true;

    y abajo colocamos

    Código:
    isHostileOnAttack = false;


    Buscamos en monsters.cpp:


    Código:
    } else if (strcasecmp(attrName, "hostile") == 0) {
                    mType->isHostile = attr.as_bool();


    y abajos colocamos

    Código:
     } else if (strcasecmp(attrName, "hostileonattack") == 0) {
                    mType->isHostileOnAttack = attr.as_bool();


    Buscamos en monsters.h:

    Código:
    bool isHostile;

    y abajo colocamos

    Código:
    bool isHostileOnAttack;


    listo ahora editamos la flag de mosutro que queremos que se pasivo asi ejemplo:


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


    creditos:  fish04k.



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

    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).