O que são e como utilizar globalevents em seu OT Server

Globalevents são eventos que acontecem no seu OT Server de forma automática e periódica. Eles podem ser usados para criar situações dinâmicas e divertidas no jogo, como invasões de monstros, mudanças climáticas, eventos especiais e muito mais.

Neste post, vamos aprender o que são globalevents, como criá-los e configurá-los no seu OT Server e quais são os benefícios de usá-los.

O que são globalevents?

Globalevents são scripts que definem o que acontece quando um determinado evento é ativado no seu OT Server. Eles são salvos na pasta data/globalevents do seu OT Server e são carregados automaticamente quando o servidor é iniciado.

Cada globalevent tem um atributo chamado name, que é um nome único que identifica o globalevent. Além disso, cada globalevent pode ter os seguintes atributos opcionais:

  • type: define se o globalevent é do tipo startup (executado uma vez quando o servidor é iniciado), timer (executado a cada intervalo de tempo definido) ou event (executado quando uma condição específica é atendida).
  • interval: define o intervalo de tempo em segundos entre cada execução do globalevent do tipo timer.
  • delay: define o tempo em segundos que o globalevent espera antes de ser executado pela primeira vez.
  • chance: define a probabilidade em porcentagem de o globalevent ser executado a cada intervalo de tempo.
  • start: define a hora do dia em que o globalevent começa a ser executado.
  • stop: define a hora do dia em que o globalevent para de ser executado.
  • script: define o nome do arquivo que contém o código do globalevent.

Exemplo de globalevent

Por exemplo, se você quer criar um globalevent que faz chover no seu OT Server todos os dias às 18 horas por 10 minutos com 50% de chance, você pode usar os seguintes atributos:

<globalevent name="Rain" type="event" script="rain.lua" start="18:00" stop="18:10" chance="50" />

Dentro do arquivo rain.lua na pasta data/globalevents você deve escrever o código do seu globalevent usando as variáveis e as funções da API do OT Server. Por exemplo:

function onThink(interval)
    local weather = Game.getStorageValue(1000) -- obtém o valor da variável global 1000
    if weather == nil then -- se não houver valor definido
        weather = false -- assume falso como padrão
    end
    weather = not weather -- inverte o valor da variável
    Game.setStorageValue(1000, weather) -- salva o novo valor na variável global 1000
    if weather == true then -- se for verdadeiro
        Game.setWorldType(WORLD_TYPE_PVP_ENFORCED) -- muda o tipo de mundo para PVP Enforced
        broadcastMessage("It's raining!", MESSAGE_EVENT_ADVANCE) -- envia uma mensagem global para os jogadores
    else -- se for falso
        Game.setWorldType(WORLD_TYPE_OPEN_PVP) -- muda o tipo de mundo para Open PVP
        broadcastMessage("The rain has stopped.", MESSAGE_EVENT_ADVANCE) -- envia uma mensagem global para os jogadores
    end    
end 

Esse código define uma função onThink que é chamada sempre que o evento Rain é ativado. Dentro da função nós usamos uma variável global (1000) para armazenar se está chovendo ou não no jogo. Nós invertemos essa variável a cada execução e salvamos ela novamente na mesma variável global. Depois nós verificamos se ela é verdadeira ou falsa e mudamos o tipo de mundo e enviamos uma mensagem global de acordo.

Conclusão

Globalevents são uma forma de criar eventos dinâmicos e divertidos no seu OT Server, que podem aumentar o interesse e a participação dos jogadores. Neste post, você aprendeu o que são globalevents, como criá-los e configurá-los no seu OT Server e quais são os benefícios de usá-los. Agora você pode usar sua criatividade e imaginação para criar seus próprios globalevents e tornar seu OT Server mais atrativo e original.

Deixe um comentário