Acho melhor passar o StartSurvival para dentro do SurvivalArena:
Novo SurvivalArena:
function onTimer()
setGlobalStorageValue(254600, 1)
setGlobalStorageValue(254601, 1)
addEvent(setGlobalStorageValue, 3 * 60 * 1000, 254601, -1)
doBroadcastMessage("[Survival Arena]: O evento irá começar em 3 minutos, você é forte o suficiente para participar?")
addEvent(doBroadcastMessage, 1 * 60 * 1000, "[Survival Arena]: A Entrada irá fechar em 2 minutos, você é forte o suficiente para participar?")
addEvent(doBroadcastMessage, 2 * 60 * 1000, "[Survival Arena]: A Entrada irá fechar em 1 minutos, você é forte o suficiente para participar?")
addEvent(doBroadcastMessage, 3 * 60 * 1000, "[Survival Arena]: A Entrada fechou.... Boa Sorte a todos.")
addEvent(startGolden, 3*60*1000)
return true
end
E na função setMonsterWave no lib troque por:
function setMonsterWave(arenaName, wave, count, multi)
if #getPlayersInArea(b.ArenaPlayers) < 1 then
doBroadcastMessage("[Survival Arena]: Todos jogadores foram derrotados.")
--limpar arena
return true
end
local this_wave = arena[arenaName].pokemon[wave]
if not arena[arenaName] then
return false
end
if not this_wave then
return false
end
for i = 1, count, 1 do
EX = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
EY = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
local position = {x = EX, y = EY, z = arena[arenaName].z}
if isWalkable(position) and getTopCreature(position).uid == 0 then
local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
setBonusWild(monster, multi)
else
for l = 0, 0, 0 do
position.x = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
position.y = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
if isWalkable(position) and getTopCreature(position).uid == 0 then
local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
setBonusWild(monster, multi)
break
end
end
end
end
wave = wave+1
setGlobalStorage(214689, wave)
addEvent(setMonsterWave, 1 * 60 * 1000, "Golden", wave, 25 + math.floor(wave * 2), 1 + (wave * 0.10))
end
Se necessário, nessa função troque "--limpar arena" pela função que remove os monstros que sobraram da arena.