Sistema de loteria feito por min, podendo ter classificação de qntos vão ganhar.
Crie um arquivo chamado lotery.lua
local premio = { [1] = {item = 2160, count = 60}, [2] = {item = 2165, count = 1} } local configs = { hours = 3, -- quantas em quantas horas, vai acontecer. winners = 3 -- qntos players podem ganhar. } function onThink(interval, lastExecution) local p = getPlayersOnline() local winners = configs.winners if #p < winners then winners = #p end for i = 1, winners do local p = getPlayersOnline() local c, w = #p, #premio local d, e = math.random(c), math.random(w) local playerwin = p[d] doPlayerAddItem(playerwin, premio[e].item, premio[e].count) doBroadcastMessage("[" .. i .. "ST PLACE] Winner: " .. getCreatureName(playerwin) .. ", Reward: " .. premio[e].count .. " " .. getItemNameById(premio[e].item) .. ", Congratulations!") if i == winners then doBroadcastMessage("(Next Lottery in " .. configs.hours .. " hours.)") end doSendMagicEffect(getThingPos(playerwin), 12) end return true end
19:27 [1ST PLACE] Winner: Dante, Reward: 1 stealth ring, Congratulations!
19:27 (Next Lottery in 3 hours.)
Tag:
<globalevent name="Lotery" interval="10800" event="script" value="lotery.lua"/>
O interval é sempre o tantode horas * 3600, exemplo 3 * 3600 = 10800.
Configurando premios :
local premio = { [1] = {item = 2160, count = 60}, [2] = {item = 2165, count = 1} }
é só ir adicionando como em cima, mais o numero do [] , item é o id, e count é o tanto, vai aumentando exemplo :
local premio = { [1] = {item = 2160, count = 60}, [2] = {item = 2165, count = 1}, [3] = {item = 2166, count = 1} }