Ir para conteúdo

Featured Replies

Postado

Boa noite gente, eu to com um problema e tava pensando numa solução aqui. Umas das soluções é um script que checa se tem monstro em uma area, se não tiver, ele spawna o monstro, dentro do intervalo de spawn dele, por exemplo:

Dentro da area x, y, z até x+1, y+1, z ele checa se existe alguma criatura lá. Se tiver, ele não spawna. Se não tiver, ele cria uma.

Obrigado

Resolvido por Jeanfersonsp

Ir para solução
Postado
  • Solução

Amigo topico de checar monster em certas areas ja existe, basta procurar um pouco.

 

Mas recetemente eu encontrei uma script no seguinte tópico https://tibiaking.com/forums/topic/89834-check-de-monster-em-um-determinado-lugar/

no qual checa qualquer Monsters em determinada area então eu resolvi aprimorar a funçao, para checar all ou somente um ou mais monstros em especifico.

 

Spoiler

local monsters = {"Monstro1","Monstro2"}

local area = {{x = 539, y = 592, z = 7}, {x = 556, y = 607, z = 7}}

 

function CheckMonsters(area, monsters)
        for x = area[1].x - 1, area[2].x + 1 do
            for y = area[1].y - 1, area[2].y + 1 do
                local pos = {x=x, y=y, z=area[1].z}
                local m = getTopCreature(pos).uid
                if monsters then
                if m ~= 0 and isMonster(m) and isInArray(monsters, getCreatureName(m)) then
                    return true
                end
                else
                if m ~= 0 and isMonster(m) then
                    return true
                end
                end
                
            end 
        end
        return false 
    end

 

Formas de uso :

 

Spoiler

Função = CheckMonsters(area [,monsters])

 

Ex¹: Checar qualquer tipo de monstro em determinada area

 

local area = {{x = 539, y = 592, z = 7}, {x = 556, y = 607, z = 7}}

 

CheckMonsters(area)

 

Ex²: Checar se um boss (por exemplo) se encontra em determinada sala

 

local area = {{x = 539, y = 592, z = 7}, {x = 556, y = 607, z = 7}}

local boss= {"Boss Doido"}

 

CheckMonsters(area, boss)

 

Ex³: Checar se possui Paladinos e Druids em uma sala que possui tmbm Elfos

 

local area = {{x = 539, y = 592, z = 7}, {x = 556, y = 607, z = 7}}

local monsters= {"Paladino","Druid"}

 

CheckMonsters(area, monsters)

 

 

 

Agora respondendo o seu tópico,  coloque isso na script

 

Spoiler

local area = {{x = 539, y = 592, z = 7}, {x = 556, y = 607, z = 7}}  --- area que vai checar 

local boss= {"Bossname"}  -- nome do monstro

local pos = {x = 539, y = 592, z = 7} --- posiçao que o monstro vai ser sumonado

 

if CheckMonsters(area , boss) then
else
doSummonCreature(boss[1], pos)

end

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo