local monsters = {"Demon", "Frost Dragon", "Hydra", "Dragon Lord", "Dragon"}
local time_min, max = 25, 60
local premios, gold = {{2160, 10}, {2157, 5}}, 10000
function winMonsterEvent()
local max_sto, winner = 0, 0
local monster = getGlobalStorageValue(1919211)
for _, pid in pairs(getPlayersOnline()) do
local sto = getPlayerStorageValue(pid, 1814210)
if sto > max_sto then
max_sto = sto
winner = pid
end
end
if isPlayer(winner) then
local artigo = getPlayerSex(winner) == 0 and "A jogadora" or "O jogador"
doBroadcastMessage(artigo.." "..getCreatureName(winner).." matou "..getPlayerStorageValue(winner, 1814210).." "..monster.."s e venceu o evento, parabens!")
for _, prize in pairs(premios) do
doPlayerAddItem(winner, prize[1], prize[2])
end
doPlayerAddMoney(winner, gold)
else
doBroadcastMessage("O evento terminou e nao houve nenhum vencedor.")
end
setGlobalStorageValue(1919211, 0)
end
function onTime()
local random = math.random(1, #monsters)
local time = math.random(time_min, max)
for _, pid in pairs(getPlayersOnline()) do
doPlayerSetStorageValue(pid, 1814210, 0)
end
setGlobalStorageValue(1919211, monsters[random])
doBroadcastMessage("O evento comecou e vai durar "..time.." minuto. O monstro sorteado foi "..monsters[random].."! Quem matar mais deles ate o fim sera o vencedor!")
addEvent(winMonsterEvent, time*1000*60)
return true
end
Tags:
<globalevent name="Evento1" time="13:00" event="script" value="nome_do_arquivo.lua"/> <globalevent name="Evento2" time="17:00" event="script" value="nome_do_arquivo.lua"/> <globalevent name="Evento3" time="23:00" event="script" value="nome_do_arquivo.lua"/>







info
Grupo: Artesão
Registrado: 02/11/12
Posts: 110
Reputação: +4
Char no Tibia: Druid
Olá galerinha xtibia tenho um evento em meu server ele está programado em function onThink(interval, lastExecution, thinkInterval) , gostaria de programar ele em on Time() com seguintes horários
a base seria +ou- assim
local times = { ["Monday"] = { ["13:00"], ["17:00"], ["23:00"], }, ["Tuesday"] = { ["13:00"], ["17:00"], ["23:00"], }, ["Wednesday"] = { ["13:00"], ["17:00"], ["23:00"], }, ["Thursday"] = { ["13:00"], ["17:00"], ["23:00"], }, ["Friday"] = { ["13:00"], ["17:00"], ["23:00"], }, ["Saturday"] = { ["13:00"], ["17:00"], ["23:00"], }, ["Sunday"] = { ["13:00"], ["17:00"], ["23:00"], }, }evento
local monsters = {"Demon", "Frost Dragon", "Hydra", "Dragon Lord", "Dragon"} local time_min, max = 25, 60 local premios, gold = {{2160, 10}, {2157, 5}}, 10000 function winMonsterEvent() local max_sto, winner = 0, 0 local monster = getGlobalStorageValue(1919211) for _, pid in pairs(getPlayersOnline()) do local sto = getPlayerStorageValue(pid, 1814210) if sto > max_sto then max_sto = sto winner = pid end end if isPlayer(winner) then local artigo = getPlayerSex(winner) == 0 and "A jogadora" or "O jogador" doBroadcastMessage(artigo.." "..getCreatureName(winner).." matou "..getPlayerStorageValue(winner, 1814210).." "..monster.."s e venceu o evento, parabens!") for _, prize in pairs(premios) do doPlayerAddItem(winner, prize[1], prize[2]) end doPlayerAddMoney(winner, gold) else doBroadcastMessage("O evento terminou e nao houve nenhum vencedor.") end setGlobalStorageValue(1919211, 0) end -- como podem ver ele está programado em onThink function onThink(interval, lastExecution, thinkInterval) local random = math.random(1, #monsters) local time = math.random(time_min, max) for _, pid in pairs(getPlayersOnline()) do doPlayerSetStorageValue(pid, 1814210, 0) end setGlobalStorageValue(1919211, monsters[random]) doBroadcastMessage("O evento comecou e vai durar "..time.." minuto. O monstro sorteado foi "..monsters[random].."! Quem matar mais deles ate o fim sera o vencedor!") addEvent(winMonsterEvent, time*1000*60) return true endEditado Agosto 5 por leandrozera