--[[
day_of_week: 0 = Sunday, 1 = Monday ... 6 = Saturday
hour: value between 0 and 23
minute: value between 0 and 59
storage: unique, not used global storage value
--]]
local autoStartsTable = {
{["day_of_week"] = 6, ["hour"] = 19, ["minute"] = 30, ["storage"] = 7867},
{["day_of_week"] = 0, ["hour"] = 21, ["minute"] = 0, ["storage"] = 7868}
}
function shouldExecuteEvent(configTable)
for _, config in pairs(configTable) do
if(tonumber(os.date("%d")) ~= getStorage(config.storage) and tonumber(os.date("%w")) == config.day_of_week) then
if(tonumber(os.date("%H")) == config.hour and tonumber(os.date("%M")) == config.minute) then
doSetStorage(config.storage, tonumber(os.date("%d")))
return true
end
end
end
return false
end
function onThink(interval, lastExecution, thinkInterval)
if(shouldExecuteEvent(autoStartsTable)) then
if(getStorage(ZE_STATUS) ~= 1 and getStorage(ZE_STATUS) ~= 2) then
removeZombiesEventBlockEnterPosition()
doSetStorage(ZE_STATUS, 1)
doBroadcastMessage("Zombie Arena Event teleport will be open for 2 minutes. We are waiting for " .. getZombiesEventPlayersLimit() - #getZombiesEventPlayers() .. " players to start.")
addEvent(startArenaEvent, 120 * 1000)
end
end
return true
end
function startArenaEvent()
if(getStorage(ZE_STATUS) == 1) then
addZombiesEventBlockEnterPosition()
doSetStorage(ZE_STATUS, 2)
doBroadcastMessage("Zombie Arena Event started.")
end
end