Ir para conteúdo

Conhecendo Melhor A Pasta Globalevents


Posts Recomendados

Bem, como todos sabem, o TFS sempre está com uma nova atualização, e a casa atualização, novos conteúdos são adicionados. Este tópico tem o principal objetivo, de mostrar para vocês um dos novos sistemas das novas versões do The Forgotten Server.

Não garanto que haverá está pasta em todos os servidores. Mais garanto que será muito utilizado em pouco tempo.

Pois bem, vamos ao que interessa.

 

-Iniciando:

 

A pasta globalevents, é um sistema que facilita o uso de alguns scripts específicos que são ativados por um tempo X.

Apartir deste sistema, o administrador do servidor, poderá gerar diversas funções como mensagens pre-determinadas, raids personalizadas e até mesmo funções de manutenção, como saves e clears.

 

-Entendendo mais sobre a função:

 

Para saber se o seu servidor possui esta função, basta procurar a pasta globalevents, dentro da pasta data do seu servidor.

 

Confira se dentro desta pasta, existe uma outra pasta com o nome scripts, e um arquivo de nome globalevents.xml

 

Se for encontrada esta pasta, é sinal de que o servidor tem o 'sistema'.

Mais isso não indica certeza. dependendo ou não da pasta, o mais importante e a versão do servidor.

Creio que a maioria dos servidores de 8.31 á 8.4 (0.3beta2), possui este 'sistema'.

 

-Entendendo mais sobre o Globalevents.xml:

 

Este arquivo, é onde você vai definir as ações que serão executadas pelo servidor.

Veja um exemplo:

 

<globalevent name="save" interval="900" script="save.lua"/>

 

save = Nome da função a ser executada, no caso pegaremos um exemplo de um autosave pre-determinado. Obs: O nome da função não é o que a define.

 

900 = É o intervalo de tempo em segundos que aquela função será executada. Sendo então, 15 minutos.

 

save.lua = Sendo o save.lua, que será lido pela função declarada no arquivo.

 

Bem, ja que demos um nome a função, colocamos um tempo de ação e definimos o arquivo.lua da função, partiremos agora para o mais importante do sistema.

 

-Configurando o script da função:

 

Apos definir isso no globalevents.xml, veremos agora o save.lua dentro da pasta scripts.

 

Save.lua:

 

function onThink(interval, lastExecution)

saveServer()

return TRUE

end

 

Definimos a função onThink para iniciar o script, e declaramos o intervalo e a última execução (interval, lastExecution).

É simples...como todo os outros scripts, basta você adicionar o seu contúdo entre function onThink(interval, lastExecution) e o end, e seu script será executado de 15 em 15 minutos como aviamos feito no globalevents.xml.

 

Ou seja, a função de salvar no script, é apenas saveServer().

 

Podemos também complementar este script com uma mensagem global, determinada por " doBroadcastMessage(message, type)". Ficaria assim:

 

function onThink(cid, words, interval, lastExecution)

saveServer()

 

doBroadcastMessage("Feliz 2009!",21)

 

return TRUE

end

 

Veja que usei a function "broadcastMessage", para mandar uma mensagem global, seguida do texto 'Feliz 2009!', que é o texto que será exibido, com sua cor '21' (branca).

 

Pronto, agora você tem um autosave de 15 em 15 minutos com uma mensagem personalizada!

 

-Adicionais:

 

Como todo bom tutorial, deixo para vocês mais funções que podem ser usadas, fica por conta de vocês configurar o tempo e o nome do arquivo agora:

 

Mensagem para todos os jogadores:

function onThink(cid, words, param, interval, lastExecution)

broadcastMessage(" Tenha um bom jogo! ",21)

end

 

Auto Clean:

function onThink(cid, words, param, interval, lastExecution)

function executeClean()

cleanMap()

doBroadcastMessage("Próximo clean em 1 hora.")

return TRUE

end

 

function onThink(cid, words, interval, lastExecution)

doBroadcastMessage("Map clean em 30 segundos. Por favor, pegue seus itens!")

addEvent(executeClean, 30000)

return TRUE

end

 

Horas:

function onThink(cid, words, interval, lastExecution)

data = os.date("\nData: %d/%m/%Y \n\n Horário: %H:%M:%S \n")

 

doPlayerSendTextMessage(cid, 22, ""..data.."")

 

end

 

Uptime:

function onThink(cid, words, interval, lastExecution)

local hours = math.ceil(getWorldUpTime() / 3600) - 1

local minutes = math.ceil((getWorldUpTime() - (3600 * hours)) / 60)

if minutes == 60 then

minutes = 0

hours = hours + 1

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uptime: " .. hours .. " hours and " .. minutes .. " minutes.")

return TRUE

end

 

Mostrando quanto de dinheiro o player tem:

function onThink(cid, words, interval, lastExecution)

local money = getPlayerMoney(cid)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have " .. money .. " gold.")

return TRUE

end

 

Mostrando os frags do player:

local config = {

fragTime = getConfigInfo('timeToDecreaseFrags')

}

 

function onThink(cid, words, interval, lastExecution)

local amount = getPlayerRedSkullTicks(cid)

if(amount > 0 and config.fragTime > 0) then

local frags = math.floor((amount / config.fragTime) + 1)

local remainingTime = math.floor(amount - (config.fragTime * (frags - 1)))

 

local hours = math.floor(((remainingTime / 1000) / 60) / 60)

local minutes = math.floor(((remainingTime / 1000) / 60) - (hours * 60))

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have " .. frags .. " unjustified frag" .. (frags > 2 and "s" or "") .. ". The amount of unjustified frags will decrease after: " .. hours .. "h and " .. minutes .. "m.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not have any unjustified frag.")

end

return TRUE

end

 

 

Bom, por enquanto é so.

Bom aproveito a todos. =D

 

Até o próximo!

Editado por AlissonLinneker
Link para o comentário
Compartilhar em outros sites

AlissonLinneker

 

Fico muito legal seu tutorial, APROVADO.

 

Mas tipo você poderia explicar as funções lua, tipo "onThink" ou "broadcastMessage" para que a pessoa entenda o que está acontecendo e não venha aqui nesse post fazer um geral de "Copiar e Colar", até para chamar mais atenção também xD

 

Delton~~

Link para o comentário
Compartilhar em outros sites

AlissonLinneker

 

Fico muito legal seu tutorial, APROVADO.

 

Mas tipo você poderia explicar as funções lua, tipo "onThink" ou "broadcastMessage" para que a pessoa entenda o que está acontecendo e não venha aqui nesse post fazer um geral de "Copiar e Colar", até para chamar mais atenção também xD

 

Delton~~

 

Vlw por lembrar...

adicionei algumas linhas explicando melhor as funções...

Link para o comentário
Compartilhar em outros sites

Muito bom... Esse até que aprendi facil

 

vlw...=D

 

To me enrolando um pouco com o creature events

 

suahsuahusah

com esse creature event, vai ser bem melhor...melhor do que jah táh

 

Não foi aprovado ainda ?

 

pois é..

=/

Link para o comentário
Compartilhar em outros sites

Hiho!

 

@Topico

Legal alguém falar do globalevent :)

Mas, não querendo ser chato, a maioria dos exemplos ai não vai funcionar O_O'

A função do global event é descrita por: onThink(interval, lastExecution)

O que seria isso que você utilizou:

function onThink(cid, words, param, interval, lastExecution)

!? Talvéz uma mistura de globalevent com talkaction haha :p

Otro exemplo é o cid que você utilizou, não existe cid como parâmetro :X

De uma arrumada nos scripts.

 

cya ^^'

Editado por soulblaster
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
×
×
  • Criar Novo...