• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Lvl para Los Monster

    Compartir:

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

    1default Lvl para Los Monster el Lun Mar 26, 2018 7:59 pm

    Funay

    avatar
    Miembro
    Miembro
    hola amigos necesito un Script para que los monster tengan lvl yo les pongo los lvl a cada monster pero lo necesito de urgencia por favor quien pueda ayudarme se lo agradecería mucho

    Ver perfil de usuario

    2default Re: Lvl para Los Monster el Lun Mar 26, 2018 10:01 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    bueno para lograr lo que quieres hay que hacer muchas modificaciones en sources y esta solo para tfs 0.3.6



    buscamos monsters.h

    buscamos

    Código:
    bool isSummonable, isIllusionable, isConvinceable, isAttackable, isHostile, isLureable,   isWalkable, canPushItems, canPushCreatures, pushable, hideName, hideHealth;

    remplazamos

    Código:
    bool isSummonable, isIllusionable, isConvinceable, isAttackable, isHostile, isLureable,   isWalkable, canPushItems, canPushCreatures, pushable, hideName, hideHealth, hideLevel;

    buscamos

    Código:
    int32_t defense, armor, health, healthMax, baseSpeed, lookCorpse, corpseUnique, corpseAction,   maxSummons, targetDistance, runAwayHealth, conditionImmunities, damageImmunities,   lightLevel, lightColor, changeTargetSpeed, changeTargetChance;

    remplazamos

    Código:
    int32_t defense, armor, health, healthMax, baseSpeed, lookCorpse, corpseUnique, corpseAction,   maxSummons, targetDistance, runAwayHealth, conditionImmunities, damageImmunities,   lightLevel, lightColor, changeTargetSpeed, changeTargetChance, levelMin, levelMax;


    Buscamos monsters.cpp

    buscamos

    Código:
    canPushItems = canPushCreatures = isSummonable = isIllusionable = isConvinceable = isLureable = isWalkable = hideName = hideHealth = false;

    remplazamos

    Código:
    canPushItems = canPushCreatures = isSummonable = isIllusionable = isConvinceable = isLureable = isWalkable = hideName = hideHealth = hideLevel = false;

    buscamos

    Código:
    baseSpeed = 200;

    agregamos abajo

    Código:
    levelMin = levelMax = 1;

    buscamos esta linea

    Código:
    if(readXMLInteger(p, "max", intValue))            
    mType->healthMax = intValue;         
    else         {            
    SHOW_XML_ERROR("Missing health.max");            
    monsterLoad = false;         
    }      }

    y abajo agregamos esta

    Código:
       else if(!xmlStrcmp(p->name, (const xmlChar*)"level"))     
      {            if(!readXMLInteger(p, "max", intValue))               
    mType->levelMax = 1;           
    else             
     mType->levelMax = intValue;           
    if(!readXMLInteger(p, "min", intValue))             
     mType->levelMin = mType->levelMax;           
    else             
     mType->levelMin = intValue;        }

    buscamos

    Código:
    if(readXMLString(tmpNode, "shield", strValue))   mType->partyShield = getPartyShield(strValue);

    agregamos abajo

    Código:
    if(readXMLString(tmpNode, "hidelevel", strValue))  mType->hideLevel = booleanString(strValue);


    vamos a Monster.h

    buscamos

    Código:
    virtual ~Monster();      
    std::string name, nameDescription;

    abajo agregamos

    Código:
    std::string name, nameDescription;int32_t level;double bonusAttack, bonusDefense;

    buscamos

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

    remplazamos


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

    vamos a Monster.cpp

    buscamos

    Código:
    isIdle = true;

    abajo agregamos

    Código:
    name = _mType->name;nameDescription = _mType->nameDescription;level = (int32_t)random_range(_mType->levelMin, _mType->levelMax, DISTRO_NORMAL);bonusAttack = 1.0;bonusDefense = 1.0;

    buscamos y eliminamos

    Código:
    Monster::onCreatureAppear

    y agregamos donde eliminamos

    Código:
    void Monster::onCreatureAppear(const Creature* creature){   Creature::onCreatureAppear(creature);   if(creature == this)   {      //We just spawned lets look around to see who is there.      if(isSummon())      {            std::string value;//            this->master->getStorage((uint32_t)"1996", value);            this->master->getStorage((uint32_t)"1996", value);            uint8_t intValue = atoi(value.c_str());            if(intValue || value == "0")                level = intValue;            else                level = 1;         isMasterInRange = canSee(master->getPosition());      }        if(g_config.getBool(ConfigManager::MONSTER_HAS_LEVEL))        {            this->healthMax = std::floor(this->getMaxHealth() * (1. + (0.1 * (level - 1))));            this->health = this->healthMax;            this->bonusAttack += (0.01 * (level - 1));            this->bonusDefense += (0.005 * (level - 1));        }      updateTargetList();      updateIdleStatus();   }   else      onCreatureEnter(const_cast<Creature*>(creature));}

    buscamos

    Código:
    g_config.getDouble(ConfigManager::RATE_MONSTER_DEFENSE)

    y remplazamos

    Código:
    g_config.getDouble(ConfigManager::RATE_MONSTER_DEFENSE) * bonusDefense

    buscamos

    Código:
    g_config.getDouble(ConfigManager::RATE_MONSTER_ATTACK)

    y remplzamos

    Código:
    g_config.getDouble(ConfigManager::RATE_MONSTER_ATTACK) * bonusAttack

    vamos a Map.cpp

    buscamos

    Código:
    #include "game.h"

    y abajo agregamos

    Código:
    #include "configmanager.h"

    buscamos

    Código:
    extern Game g_game;

    abajo agregamos

    Código:
    extern ConfigManager g_config;

    buscamos

    Código:
    bool Map::placeCreature(const Position& centerPos, Creature* creature, bool extendedPos /*= false*/, bool forced /*= false*/){

    y abajo del " { " pegamos esto

    Código:
      Monster* monster = creature->getMonster();    if(monster && g_config.getBool(ConfigManager::MONSTER_HAS_LEVEL))    {        uint8_t level;        if(!monster->getMonsterType()->hideLevel)        {            if(monster->isSummon())            {                std::string value;//                monster->getMaster()->getStorage((uint32_t)"1996", value);                  monster->getMaster()->getStorage((uint32_t)"1996", value);                uint8_t intValue = atoi(value.c_str());                if(intValue || value == "0")                    level = intValue;                else                    level = 1;            }            else                level = monster->level;            char buffer [10];            monster->name = monster->getName() + " [" + itoa(level, buffer, 10) + "]";        }    }

    vamos a configmanager.h

    buscamos

    Código:
    ADDONS_PREMIUM,

    abajo pegamos

    Código:
    MONSTER_HAS_LEVEL,

    vamos a configmanager.cpp

    buscamos

    Código:
    m_confBool[ADDONS_PREMIUM] = getGlobalBool("addonsOnlyPremium", true);

    y abajo pegamos

    Código:
    m_confBool[MONSTER_HAS_LEVEL] = getGlobalBool("monsterHasLevel", true);


    y en la config.lua agregar

    Código:
    monsterHasLevel = true -- true para monstros nascerem com level, false para não nascerem com level

    agregar esta tag al moustro


    Código:
    <level min="1" max="10"/> -- level minimo, level maximo







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

    3default Re: Lvl para Los Monster el Lun Mayo 07, 2018 6:24 am

    Deget92

    avatar
    Miembro
    Miembro

    ¿Y puedes pedir la versión tfs0.4 tibia 8.6?

    Ver perfil de usuario

    4default Re: Lvl para Los Monster el Jue Jul 19, 2018 10:34 am

    bitupx00

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Lo vi en muchos otros Foros, estara para el Otx 2.9 ?

    Ver perfil de usuario

    5default Re: Lvl para Los Monster el Jue Jul 19, 2018 10:00 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Lo vi en muchos otros Foros, estara para el Otx 2.9 ?

    es compatible para otx



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

    6default Re: Lvl para Los Monster el Vie Jul 20, 2018 8:21 am

    bitupx00

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Gracias Maya, lo implementare en mi ot.

    Ver perfil de usuario

    Contenido patrocinado


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