Postado Fevereiro 22, 2018 7 anos 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 Fevereiro 22, 2018 7 anos 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 Fevereiro 22, 2018 7 anos @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 Fevereiro 22, 2018 7 anos 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.