Ir para conteúdo

Posts Recomendados

Postado

Olá pessoal do TK eu queria fazer um pedido a vocês de um Script de evento ele funciona da seguinte maneira

 

toda terça as 14:00, quinta as 18:00, sábado as 09:30 ele inicie um evento

ele irá sortea de 1 a 3 eventos:

se for o 1 todos os players com vocation 7 e 8 vai alterar a vocation para 9 por 3 horas. e mande uma mensagem global que será está:

    "O cometa sozin chegou ao mundo avatar, os dobradores de fogo tem o dano de suas dobras aumentadas em 50%"

 

se for o 2  todos os players com vocation 1 e 2 vai alterar a vocation para 10  por 3 horas. e mande uma mensagem global que será está:

    "A lua cheia chegou ao mundo avatar, os dobradores de agua tem o dano de suas dobras aumentadas em 50%"

 

se for o 3 todos os players com vocation 7 e 8 vai alterar a vocation para 11 e os players com vocation 1 e 2, vai alterar a vocation para 12 por 3 horas. e mande uma mensagem global que será está

    "O eclipe lunar chegou ao mundo avatar, os dobradores de fogo e agua tem o dano de suas dobras reduzidas em 50%"

depois que o tempo acabar as vocations voltam ao normal.

 

é isso ai quem puder fazer será de grande ajuda, REP++

 

Postado

Hmm... Estou interessado na resolução desse script, em como vai ter a checagem do horário (quando chegar na hora certa o script ser executado) sem ficar verificando o tempo todo (o que gera um processamento desnecessário). 

Postado

@samuelandrade45 Confesso que tive ajuda e ainda tive trabalho

 

-- <globalevent name="Terça" time="14:00" event="script" value="evento.lua"/>
-- <globalevent name="Quinta" time="18:00" event="script" value="evento.lua"/>
-- <globalevent name="Sabado" time="09:30" event="script" value="evento.lua"/>

local day = "Tuesday", "Thursday","Saturday" -- em ingles

function onTimer()
       
        if (os.date("%A") == config.day) then
        
        
               if math.random(1,3) == 1 then
               
               ExecuteCometa()
               
               elseif math.random(1,3) == 2 then
               
               ExecuteLuaCheia()
               
               elseif math.random(1,3) == 3 then
               
               ExecuteLunar()
        
               end
        return true
        end
end



function ExecuteCometa()

local hora = 3 -- horas de duração do evento 1

local online = getPlayersOnline()

for _, pid in pairs(online) do  -- by xWhiteWolf

     if getPlayerVocation(pid) == 7 then 
         doPlayerSetVocation(pid, 9)
         addEvent(doPlayerSetVocation, 1000 * 60 * 3, pid, 7)
         
     elseif getPlayerVocation(pid) == 8 then
     doPlayerSetVocation(pid, 9)
     addEvent(doPlayerSetVocation, 1000 * 60 * 3, pid, 8)

     end
end

doBroadcastMessage("O cometa sozin chegou ao mundo avatar, os dobradores de fogo tem o dano de suas dobras aumentadas em 50%", 17)

return true
end 

function ExecuteLuaCheia()
local horaa = 3 -- horas de duração do evento 1

local onlini = getPlayersOnline()

for _, pidd in pairs(onlini) do  -- by xWhiteWolf

     if getPlayerVocation(pidd) == 1 then 
         doPlayerSetVocation(pidd, 10)
         addEvent(doPlayerSetVocation, 1000 * 60 * horaa, pidd, 1)
         
     elseif getPlayerVocation(pidd) == 2 then
     doPlayerSetVocation(pidd, 10)
     addEvent(doPlayerSetVocation, 1000 * 60 * horaa, pidd, 2)

     end
end

doBroadcastMessage("A lua cheia chegou ao mundo avatar, os dobradores de agua tem o dano de suas dobras aumentadas em 50%", 17)

return true
end

function ExecuteLunar()
local horaaa = 3 -- horas de duração do evento 1

local onlinii = getPlayersOnline()

for _, piddd in pairs(onlinii) do  -- by xWhiteWolf

     if getPlayerVocation(piddd) == 7 then 
         doPlayerSetVocation(piddd, 11)
         addEvent(doPlayerSetVocation, 1000 * 60 * horaaa, piddd, 7)
         
     elseif getPlayerVocation(piddd) == 8 then
     doPlayerSetVocation(piddd, 11)
     addEvent(doPlayerSetVocation, 1000 * 60 * horaaa, piddd, 8)
     
     elseif getPlayerVocation(piddd) == 1 then
     doPlayerSetVocation(piddd, 12)
     addEvent(doPlayerSetVocation, 1000 * 60 * horaaa, piddd, 1)
     
     elseif getPlayerVocation(piddd) == 2 then
     doPlayerSetVocation(piddd, 12)
     addEvent(doPlayerSetVocation, 1000 * 60 * horaaa, piddd, 2)

     end
end

doBroadcastMessage("O eclipe lunar chegou ao mundo avatar, os dobradores de fogo e agua tem o dano de suas dobras reduzidas em 50%", 17)

return true
end

 

Postado

Creio que o script acima ainda deve ser complementado. Nunca testei, mas o que acontece com o addEvent quando o jogador estiver offline? E os jogadores que logarem depois da hora exata do evento, ainda receberão o bônus? (não sei se o dono quer este segundo, mas faria sentido existir)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo