Ir para conteúdo

Featured Replies

Postado

Boa tarde amigos do TK, alguém poderia me dar uma ajuda com esse script de raid ?
Ele não está respeitando o max monsters e nem o timer do boss. Quando o evento acontece spawn toda a área² marcada de monstros e passando o tempo spawna toda a área com o boss.

Spoiler

local raids = {
    {name = "Death Servant Invasion", monsters = {"Undead Gladiator", "Undead Gladiator", "Undead Gladiator"}, boss = "Death Servant", fromPoss = {x=145, y=53, z=7}, toPoss = {x=155, y=60, z=7}, dates = {"Friday-15:51", "Saturday-22:12"}, maxMonsters = 1, timeBoss = 120},
    {name = "Dl", monsters = {"Dragon", "Dragon", "Dragon Lord"}, boss = "Undead Mega Dragon", fromPoss = {x=123, y=1509, z=7}, toPoss = {x=144, y=1518, z=7}, dates = {"Friday-15:31", "Sunday-20:10"}, maxMonsters = 12, timeBoss = 120}
}
function isWalkable(pos)-- by Nord / editado por Omega
    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0
        then return false
    elseif getTopCreature(pos).uid > 0 then
        return false
    elseif isCreature(getTopCreature(pos).uid) then
        return false
    elseif getTileInfo(pos).protection then
        return false
    elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then
        return false
    end
    return true
end
 
function onThink(interval, lastExecution, thinkInterval)
    for _, myRaids in pairs(raids) do
        if table.find(myRaids.dates, os.date("%A-%H:%M")) then
            local pos = {x = math.random(myRaids.fromPoss.x, myRaids.toPoss.x), y = math.random(myRaids.fromPoss.y, myRaids.toPoss.y), z = math.random(myRaids.fromPoss.z, myRaids.toPoss.z)}
            local a = 0
            local b = 60000
            addEvent(doBroadcastMessage, 120000, "A invasao de " .. myRaids.name .. " teve inicio!")
            addEvent(doBroadcastMessage, myRaids.maxMonsters * 60000 + myRaids.timeBoss * 1000, "O boss " .. myRaids.boss .. " chegou na invasao!")
            while not(a == myRaids.maxMonsters) do
            local bonsters = math.random(1, #myRaids.monsters)
            local pos = {x = math.random(myRaids.fromPoss.x, myRaids.toPoss.x), y = math.random(myRaids.fromPoss.y, myRaids.toPoss.y), z = math.random(myRaids.fromPoss.z, myRaids.toPoss.z)}
            addEvent(function()
                if isWalkable(pos) then
                    doCreateMonster(myRaids.monsters[bonsters], pos)
                end
            end, b)
                a = a + 1
                b = b + 500
            end
             addEvent(function()
                if isWalkable(pos) then
                doCreateMonster(myRaids.boss, pos)
            end
        end, myRaids.maxMonsters * 500 + myRaids.timeBoss * 1000)
        end
    end
    return true
end     

Agradeço qualquer ajuda desde já.

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo