Postado Novembro 16, 2012 12 anos Este é um post popular. Este tutorial abaixo foi inteiramente criado por shoeei.Introdução 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/intermediário, ou seja, aqueles que já tem algum conhecimento quanto a os.time, variáveis, loopings, e etc...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 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: Citar "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: 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: 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) 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. Contato; god.marinii ryzor@tibiaking.com
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.