Postado Agosto 11, 2017 7 anos 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á.
Postado Agosto 11, 2017 7 anos Verifique se sua tag no globalevents está em segundos ou milisegundos.
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.