Ir para conteúdo
  • Cadastre-se

(Resolvido)[Resolvido]Event onTimer not found


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Estou com esse erro em meu distro.

 

>> Loading script systems
[Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/mataevento.lua)
[Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/mataevento.lua)
[Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/mataevento.lua)
[Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/mataevento.lua)
[Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/mataevento.lua)
[Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/mataevento.lua)
[Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/mataevento.lua)
>> Loading chat channels
 

mataevento.lua

 

 


 


local monsters = {"Mummy", "Snake Easy", "Fighter", "Wolf"} 
local time_min, max = 11, 30 -- Em minutos
local premios, gold = {{639, 20}, {640, 10}}, 0 -- {id do item, quantidade} que o jogador ganha e quantia de gold
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. Recompensas: 10 Senzu Beans e 20 Magic Senzu Beans. Parabéns!")
        for _, prize in pairs(premios) do
            doPlayerAddItem(winner, prize[1], prize[2])
        end
        doPlayerAddMoney(winner, gold)
    else
        doBroadcastMessage("[Monstro Evento] O evento terminou e nao houve nenhum vencedor.")
    end 
    setGlobalStorageValue(1919211, 0)
end   



function onTime(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("[Monstro Evento] O evento começou e vai durar "..time.." minuto. O Monstro sorteado foi "..monsters[random].."! Quem matar mais deles até o fim será o vencedor!")
    addEvent(winMonsterEvent, time*1000*60)    
    return true
end

 

 

Editado por diarmaint (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

É porque em servidores mais recentes não existe mais a função onTimer()
então usem dessa forma:
 

local hours = {"00:00", "16:00", "21:00"} -- defina os horários dos eventos
local monsters = {"Mummy", "Snake Easy", "Fighter", "Wolf"} 
local time_min, max = 11, 30 -- Em minutos
local premios, gold = {{639, 20}, {640, 10}}, 0 -- {id do item, quantidade} que o jogador ganha e quantia de gold
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. Recompensas: 10 Senzu Beans e 20 Magic Senzu Beans. Parabéns!")
        for _, prize in pairs(premios) do
            doPlayerAddItem(winner, prize[1], prize[2])
        end
        doPlayerAddMoney(winner, gold)
    else
        doBroadcastMessage("[Monstro Evento] O evento terminou e nao houve nenhum vencedor.")
    end 
    setGlobalStorageValue(1919211, 0)
end    
function onThink(interval, lastExecution)
if isInArray(hours, tostring(os.date("%X")):sub(1, 5)) then
    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("[Monstro Evento] O evento começou e vai durar "..time.." minuto. O Monstro sorteado foi "..monsters[random].."! Quem matar mais deles até o fim será o vencedor!")
    addEvent(winMonsterEvent, time*1000*60)
end    
    return true
end 

 

globalevents.xml

 

<globalevent name="MonsterEvent" interval="60" event="script" value="NOME DO SEU SCRIPT.lua"/>

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
  • Solução
local days, hours = {"Tuesday", "Thursday", "Saturday"}, {"00:00", "16:00", "21:00"} -- defina os dias e horários dos eventos
local monsters = {"Mummy", "Snake Easy", "Fighter", "Wolf"} 
local time_min, max = 11, 30 -- Em minutos
local premios, gold = {{639, 20}, {640, 10}}, 0 -- {id do item, quantidade} que o jogador ganha e quantia de gold
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. Recompensas: 10 Senzu Beans e 20 Magic Senzu Beans. Parabéns!")
        for _, prize in pairs(premios) do
            doPlayerAddItem(winner, prize[1], prize[2])
        end
        doPlayerAddMoney(winner, gold)
    else
        doBroadcastMessage("[Monstro Evento] O evento terminou e nao houve nenhum vencedor.")
    end 
    setGlobalStorageValue(1919211, 0)
end    
function onThink(interval, lastExecution)
if isInArray(days, os.date("%A")) and isInArray(hours, tostring(os.date("%X")):sub(1, 5)) then
    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("[Monstro Evento] O evento começou e vai durar "..time.." minuto. O Monstro sorteado foi "..monsters[random].."! Quem matar mais deles até o fim será o vencedor!")
    addEvent(winMonsterEvent, time*1000*60)
end    
    return true
end 

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo