Ir para conteúdo

Os.date


Demonbholder

Posts Recomendados

Olá galera do XTibia, vamos ver... vou tentar ajudar vocês com um tutorial de os.date. Sendo sincero, eu aprendi a pouco tempo como usar o os.date, em um exemplar de programação lua. Estou fazendo este tutorial para esclarecer a maioria das duvidas que vocês possam ter, então, por favor, prestem muita atenção se forem ler, e não leiam a menos, que estejam com tempo, paciência e vontade de aprender, pois eu creio que mesmo sendo novato com o os.date, eu vou conseguir fazer um bom tutorial.

 

Publico alvo: Este tutorial foi feito para ensinar programadores lua, do nível iniciante/intermediario, ou seja, aqueles que já tem algum conhecimento quanto a os.time, variáveis, loopings, e etc...

 

Agradecimentos: Devo agradecer ao ta4e, uma pessoa que eu considero extremamente confiável e amiga, já que sempre esteve disposto a me ajudar em minhas duvidas, e me ensinou praticamente tudo que eu sei. Alguma coisa para o noobinhu, que me fez ter curiosidade quanto ao assunto.

 

Sem mais delongas, vamos ao tutorial...

 

Em OtServers, os.date é pouco explorado, já que sua funcionalidade, é, por muitos, desconhecida. Então vou explicar como você poderia usa-lo em um script para o seu ot. Vamos ver, digamos que você queira que um script funcione a partir das oito da manhã, e pare de funcionar a partir das duas da tarde; para isso, você poderia usar o os.date. O os.date, assim como o os.time, serve para controlar valores de tempo, e retornam os mesmos de acordo com os valores da cpu, a partir de quando o script entra em funcionamento, então, o exemplo acima ficaria assim:

 

function onSay(cid, words, param)

if os.date("%X") >= "08:00:00" and os.date("%X") <= "14:00:00" then
doPlayerSendTextMessage(cid, 22, "Teste")
end
end

 

No exemplo acima, a talkaction só ira funcionar se for depois das oito da manhã, e antes das duas da tarde, então, dentro deste intervalo de tempo, o script funcionará normalmente, e irá mandar a mensagem "Teste" para o jogador. Já se o script for executado fora deste intervalo, no caso, nada acontecerá.

 

Deve-se notar, também, que no script acima, dentro dos parênteses esta isto:

 

"%X"

 

Certo, eu acho que eu poderia chamar isto de parâmetro; existem vários destes parâmetros que podem ser utilizados, neste caso, eu usei o "%X", pois ele retorna valores do horário na seguinte forma:

 

"00:00:00"

 

Onde, azul são as horas, vermelho são os minutos, e verde são os segundos; neste caso, você deveria usar os números como um relógio digital de 24 horas.

 

Acho que a lógica do os.date já deu para entender, mas vamos recapitular:

 

O os.date é usado para retornar algum valor de tempo;

Você pode usa-lo como uma condição para executar um outro comando;

Dentro dos parênteses do os.date, você deve usar parâmetros.

 

Uma coisa muito importante do os.date, é que você deve igualar ele, com valores entre aspas, mesmo que sejam números, por exemplo:

 

if os.date("%X") >= "08:00:00" and os.date("%X") <= "20:00:00"

 

Perceba que os números estão entre aspas.

 

Certo, depois de termos recapitulado a lógica do os.date, vamos aos mais importantes parâmetros que podem ser usados e os valores que são retornados por eles; segue a lista:

 

Parâmetro:		  Explicação:

%a		 dia da semana abreviado (Wed)
%A		 dia da semana completo (Sunday)
%b		 nome do mês abreviado (Sep)
%B		 nome do mês completo (April)
%c		 data e hora (09/16/98 23:48:10)
%d		 dia do mês [01-31]
%H		 hora de um relógio de 24 horas [00-23]
%I		 hora de um relógio de 12 horas [01-12]
%M		 minutos [00-59]
%m		 mês [01-12]
%S		 segundos [00-60]
%w		 dia da semana por números [0-6 = Domigo-Sabado]
%x		 data (09/16/98)
%X		 hora (23:48:10)
%Y		 ano (1998)

 

Vocês podem perceber que todas as palavras que forem usadas, tanto abreviações, como palavras inteiras, devem ser em ingles, é claro.

 

Certo, dito os mais usados parâmetros e a lógica do os.date, acho que isso pode encerrar o nosso tutorial, mas antes, uma ultima dica; se você tem duvida de que valor o parâmetro vai retornar, faça o seguinte:

 

function onSay(cid, words, param)
local par = os.date("Parâmetro")

doPlayerSendTextMessage(cid, 22, "O valor é "..par.."!")
end

E por ultimo, mas não menos importante, para se criar uma tabela usando o os.date, deve-se usá-lo da seguinte maneira:

 

 os.date("*t", Valor_da_Tabela) 

 

Isso deve funcionar e encerrar o nosso tutorial; é claro que o os.date pode ter mais alguma utilidade que eu desconheça, mas eu acho que isso pode ser uma boa introdução dele. Espero que tenham gostado, ate mais.

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

Eu também já sabia usar os.date há algum tempo,mais seu tutorial está ótimo,além disso os.date é muito importante para criar eventos ou executar algo em determinado mês/dia/hora/minuto.

 

Parabéns REP + and Tópico Recomendando!

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 2 weeks later...

eu entendi o q faz mais nao sei como usar pois nao entendo de programaçao . meu nivel de experiencia no assunto é "Futucador" pode ser engraçado amis é verdade eu so sei entender + ou- o q e o script e mudo ate xegar onde eu qro, se possivel eu qria aproveitar e pedir se alguem souber onde tem aulas de programaçao aki no xtibia e puder postar um topico inicial, ou seja , algo q eu poça começar desde os primordios eu agradeceria muito.... e outra coisa tuto bom e um dia vou saber usar isso de verdade xD

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...