Ir para conteúdo
Entre para seguir isso  
twiller

Lottery System v.1.5

Recommended Posts

twiller    0
twiller
Servidor Testado: Alissow 0.4.1 (mas acredito que funcione em diversos distros)

Protocolo: 8.60

Autor: vDK

Informações: esse script tem a seguinte função, realizar um sorteio em seu ot para que o vencedor(sorteado) ganhe o iten do qual vc configurou em rewards_id

.

- Crie um arquivo chamado "lottery.lua" na pasta "data/globalevents/scripts" do seu servidor. Cole isto no arquivo:

 

-- by vDk
local config = {
   lottery_hour = "3 Hours", -- Tempo para o proximo sorteio (para transmitir mensagens em tempo real [broadcast] basta vc configurar em globalevents.xml)
   [color=darkorange]rewards_id = {2494, 2472, 2514, 2160}[/color], -- Premios ID
 [color=red]  crystal_counts[/color] = 10, -- Used only if on rewards_id is crystal coin (ID: 2160).
   }
function onThink(interval, lastExecution)
   if(getWorldCreatures(0) == 0)then
       return true
   end

   local list = {}
   for i, tid in ipairs(getPlayersOnline()) do
       list[i] = tid
   end

   local winner = list[math.random(1, #list)]
   local random_item = config.rewards_id[math.random(1, #config.rewards_id)]

   if(random_item == 2160) then
       doPlayerAddItem(winner, random_item, config.crystal_counts)
       doBroadcastMessage("[LOTTERY SYSTEM] Vencedor: " .. getCreatureName(winner) .. ", Premio: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! Parabens! (Proximo sorteio em " .. config.lottery_hour .. ")")
   else
       doBroadcastMessage("[LOTTERY SYSTEM] Vencedor: " .. getCreatureName(winner) .. ", Premio: " .. getItemNameById(random_item) .. "! Parabens! (Proximo sorteio em " .. config.lottery_hour .. ")")
       doPlayerAddItem(winner, random_item, 1)
   end
   return true
end

- Agora, abra seu arquivo "globalevents.xml" e cole essa linha nele.

 

<globalevent name="lottery" [color=lime]interval="10800"[/color] event="script" value="lottery.lua"/>

 

vermelho: quantia de quantos crystais coins o vencedor ira ganhar!

laranja: id dos premios que serao sorteados

verde: configuração do tempo em segundos

 

Créditos:

100% vDK

0% eu, pois apenas trouxe para ca (traduzi tbm)

Editado por Garou

Compartilhar este post


Link para o post
Oneshot    24
Oneshot

É um sistema interessante, acho que não há algo parecido no fórum. Estarei retirando a parte de integração com sites de servidores, para evitar possíveis reclamações de bugs.

 

Aprovado!

Você receberá uma remuneração de V$ 10 pela contribuição.

Editado por Garou

Compartilhar este post


Link para o post
Baixinho    0
Baixinho

Como posso fazer para sortear todo dia as 20h?

Compartilhar este post


Link para o post
dalvorsn    46
dalvorsn
Como posso fazer para sortear todo dia as 20h?

 

Muda a função de onThink para onTimer

-- by vDk
local config = {
   lottery_hour = "3 Hours", -- Tempo para o proximo sorteio (para transmitir mensagens em tempo real [broadcast] basta vc configurar em globalevents.xml)
   rewards_id = {2494, 2472, 2514, 2160}, -- Premios ID
   crystal_counts = 10, -- Used only if on rewards_id is crystal coin (ID: 2160).
   }
function onTimer() -- se for tfs 0.4 é onTime()
if(getWorldCreatures(0) == 0)then
       return true
   end

   local list = {}
   for i, tid in ipairs(getPlayersOnline()) do
       list[i] = tid
   end

   local winner = list[math.random(1, #list)]
   local random_item = config.rewards_id[math.random(1, #config.rewards_id)]

   if(random_item == 2160) then
       doPlayerAddItem(winner, random_item, config.crystal_counts)
       doBroadcastMessage("[LOTTERY SYSTEM] Vencedor: " .. getCreatureName(winner) .. ", Premio: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! Parabens! (Proximo sorteio em " .. config.lottery_hour .. ")")
   else
       doBroadcastMessage("[LOTTERY SYSTEM] Vencedor: " .. getCreatureName(winner) .. ", Premio: " .. getItemNameById(random_item) .. "! Parabens! (Proximo sorteio em " .. config.lottery_hour .. ")")
       doPlayerAddItem(winner, random_item, 1)
   end
   return true
end

tag

<globalevent name="lottery" time="20:00:00" event="script" value="lottery.lua"/>

 

 

edit

A hora tu configura na tag

Editado por dalvorsn

Compartilhar este post


Link para o post
Baixinho    0
Baixinho

dai ponho 20 ali nas horas do config, só isso?

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×