Conhecendo o os.date !

 


Introdução.





Código:
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:

Código:
"%X"

Certo, eu acho que eu poderia chamar isto de Pattern; 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:

Código:
"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:

Código:
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:



Código:
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:

Código:
Pattern:          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:

Código:
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:



Código:
os.date("*t", Valor_da_Tabela)
Finalização.

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. 
 

Pesquisar no site

© 2012 Todos os direitos reservados.