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.



info
Grupo: Artesão
Registrado: 28/02/17
Posts: 104
Reputação: 0
Gênero: Masculino
Char no Tibia: OWeen
Galera preciso de ajuda pra configurar melhor essa Arena....
Ando tendo problemas com ela...
o que eu quero é que ela de o aviso que vai iniciar a X hora com 3 minutos de antecedência e que a wave de monstros nasça de 1 em 1 minuto
O código acime é no LIB.....
Global Event
<globalevent name="StartSurvival" interval="300" event="script" value="startSurvival.lua"/>
<globalevent name="SurvivalArena1" time="11:57" event="script" value="survivalArena.lua"/>
<globalevent name="SurvivalArena2" time="15:57" event="script" value="survivalArena.lua"/>
<globalevent name="SurvivalArena3" time="19:57" event="script" value="survivalArena.lua"/>
<globalevent name="SurvivalArena4" time="23:57" event="script" value="survivalArena.lua"/>
Scripts
StartSurvival
function onThink(cid, interval, lastExecution)
if getGlobalStorageValue(214689) == 1 then
addEvent(function()
startGolden()
end, 3 * 60 * 1000)
else
startGolden()
end
return true
end
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.")
return true
end