-- Diiego Liima
local posInicio = {x = 5057, y = 3539, z = 7} --pos inicio da sala
local posFim = {x = 5078, y = 3562, z = 7}--pos final inicio da sala
local posExitTime = {x = 5064, y = 3519, z = 7}-- pos para onde o player vai sair
local function verificaPlayers()
for x = posInicio.x, posFim.x do
for y = posInicio.y, posFim.y do
if isPlayer(getThingFromPos({x = x, y = y, z = posInicio.z, stackpos = 253}).uid) then
return 1
end
end
end
end
local function verificaBoss()
for x = posInicio.x, posFim.x do
for y = posInicio.y, posFim.y do
if isMonster(getThingFromPos({x = x, y = y, z = posInicio.z, stackpos = 253}).uid) then
doRemoveCreature(getThingFromPos({x = x, y = y, z = posInicio.z, stackpos = 253}).uid)
end
end
end
end
local function removePlayersTime()
for x = posInicio.x, posFim.x do
for y = posInicio.y, posFim.y do
local remove, clean = true, true
local pos = {x = x, y = y, z = posInicio.z}
local m = getTopCreature(pos).uid
if m ~= 0 and isPlayer(m) then
doTeleportThing(m, posExitTime)
end
end
end
doSendMagicEffect(posExitTime, 10)
return true
end
function onUse(cid, item, frompos, item2, topos)
-- Lever Boss
if item.aid == 5130 then -- action id da alavanca
local playerChecked = false
local teleportToRoom = false
local stoExhaust = 5534241 -- staorage de segurança para exhaust
local stoExhaustPlayer = getPlayerStorageValue(cid, stoExhaust)
if stoExhaustPlayer > os.time() then
doPlayerSendCancel(cid, "You have to wait " .. stoExhaustPlayer - os.time() .. " seconds to try again.")
return true
end
if verificaPlayers() then
doPlayerSendCancel(cid, "There are other players inside the room at the moment.")
doSendMagicEffect(topos,2)
setPlayerStorageValue(cid, stoExhaust, os.time()+5)
return true
end
local config = {
[1] = {pos = {x = 5066, y = 3525, z = 7}}, --posições dos pisos
[2] = {pos = {x = 5067, y = 3525, z = 7}},
[3] = {pos = {x = 5068, y = 3525, z = 7}},
[4] = {pos = {x = 5069, y = 3525, z = 7}},
[5] = {pos = {x = 5070, y = 3525, z = 7}},
}
local storageTime = 5534240 -- storage de tempo
for i, v in pairs(config) do
if isPlayer(getTopCreature(config[i].pos).uid) then
player = getTopCreature(config[i].pos).uid
if getPlayerStorageValue(player, storageTime) > os.time() then
time = (getPlayerStorageValue(player, storageTime)-os.time())/60
str = "minutes"
if time > 60 then
time = time/60
str = "hours"
end
if player == cid then name = "You" else name = getCreatureName(player) end
doPlayerSendCancel(cid, name .. " need to wait more " .. math.floor(time+0.5) .. " " .. str .. " to do again.")
doSendMagicEffect(topos,2)
return true
end
if player == cid then
playerChecked = true
end
end
end
if playerChecked then
for i, v in pairs(config) do
if isPlayer(getTopCreature(config[i].pos).uid) then
player = getTopCreature(config[i].pos).uid
doSendMagicEffect(getCreaturePosition(player), 2)
doTeleportThing(player, {x = 5067, y = 3546, z = 7}) -- posiçao que player vai cair dentro da sala
setPlayerStorageValue(player, storageTime, os.time()+72000) -- 20 horas
teleportToRoom = true
end
end
if teleportToRoom then
stopEvent(ResetArea)
verificaBoss()
doSendMagicEffect({x = 5067, y = 3549, z = 7}, 10) -- efeito aonde o boss nasce
doCreateMonster("Boss", {x = 5067, y = 3549, z = 7}) -- onde o boss nasce
ResetArea = addEvent(function()
removePlayersTime()
end, 20 * 60 * 1000) -- tempo dentro da sala
return false
end
else
doPlayerSendCancel(cid, "Wouldn't you like to go too?")
doSendMagicEffect(topos,2)
end
return true
end
end