Ir para conteúdo

[OTX 0.3.6] Respawn Com Efeito (Tibia RL)


LeoTK

Posts Recomendados

Fala galera bom eu achei um código na otland que ao iniciar o tempo de respawn de um monstro no mapa mostra um efeito antes umas 3 vezes avisando e nasce o monstro igual ao tibia normal bom eu consegui colocar na minha source otx 0.3.6 e estou aqui para compartilhar com todos vocês vamos aos códigos na sua source.

 

Procure as bibliotecas

 

Spawn.cpp

 

Procure por

Citar

bool Spawn::spawnMonster(uint32_t spawnId, MonsterType* mType,

e substitua o código todo por

Citar

bool Spawn::spawnMonster(uint32_t spawnId, MonsterType* mType, const Position& pos, Direction dir, int16_t t,
    bool startup /*= false*/)
{
    Monster* monster = Monster::createMonster(mType);
    if(!monster)
        return false;
 
    if(startup)
    {
        //No need to send out events to the surrounding since there is no one out there to listen!
        if(!g_game.internalPlaceCreature(monster, pos, false, true))
        {
            delete monster;
            return false;
        }
    }
    else if (t == 0)
    {
        if (!g_game.placeCreature(monster, pos, false, true))
        {
            delete monster;
            return false;
        }
    }
    else {
        g_game.addMagicEffect(pos, MAGIC_EFFECT_EFEITO87);
        Scheduler::getInstance().addEvent(createSchedulerTask(
            1400, boost::bind(&Spawn::spawnMonster, this, spawnId, mType, pos, dir, t - 1400,false)));
        return true;
    }
 
        monster->setSpawn(this);
        monster->setMasterPosition(pos, radius);
        monster->setDirection(dir);
 
        monster->addRef();
        spawnedMap.insert(SpawnedPair(spawnId, monster));
        spawnMap[spawnId].lastSpawn = OTSYS_TIME();
   
    return true;
}

obs: onde esta negrito é a área para editar o efeito que vai aparecer quando o monstro for nascer

 

Procure por

Citar

void Spawn::startup()

Neste código mude:

Citar

spawnMonster(it->first, sb.mType, sb.pos, sb.direction, true);

Para:

Citar

spawnMonster(it->first, sb.mType, sb.pos, sb.direction, false);

 

Procure por:

Citar

if(spawnCount >= (uint32_t)g_config.getNumber(ConfigManager::RATE_SPAWN))

Logo acima desse código vai ter

Citar

spawnMonster(it->first, sb.mType, sb.pos, sb.direction);

Mude para:

Citar

spawnMonster(it->first, sb.mType, sb.pos, sb.direction, 4200);

Spawn.h

 

Procure por

Citar

bool spawnMonster(uint32_t spawnId, MonsterType* mType, const Position& pos, Direction dir ,bool startup = false);

 

Substitua por

Citar

bool spawnMonster(uint32_t spawnId, MonsterType* mType, const Position& pos, Direction dir, int16_t t,bool startup = false);

Pronto seja feliz

 

Vídeo demonstrativo

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...