WI

Os.time

Por Wiltry, 06 de fev. de 2010 em Archived

6
1.1k
WiltryW
06 de fevereiro de 2010 às 20:08

Como faco pro os.time pegar só a hora?

tipo,

local time = os.time(%h%)

algo do tipo? riariariai

KydraiK
06 de fevereiro de 2010 às 22:15

Dependendo de como for usar pode ser:

local hora = 3600 -- 1h em seg
local time = os.time(t) + hora -- tempo atual + a hora

 

Ai dps pra verificar:

if time - os.time(t) <= 0 then
    passou 1 hora
end

 

Ou se quiser pegar a data e hora pode usar o os.date()

Acho que seria assim:

os.date('*t').hour
ou em string:
os.date("%H")

Editado Fevereiro 6 por kydrai

WiltryW
06 de fevereiro de 2010 às 22:43

nao pode usar os.time("%H") ?

KydraiK
06 de fevereiro de 2010 às 23:23

Tentei aqui, não deu não.

Mas oq vc quer fazer exatamente?

WiltryW
06 de fevereiro de 2010 às 23:47

um global event que execute entre 1 hr da tarde e 3 hr da tarde ;p

KydraiK
07 de fevereiro de 2010 às 01:17

Pode ser assim então:

<globalevent name="timer_example" time="13:00" event="script" value="my_script.lua"/>

Não sei se da pra fazer time="13:00-15:00", tenta e ve se da.

Se não poderia sortear o tempo entre 1h e 3h e executar a função com addEvent.

 

Acho que seria algo assim:

onTimer()
local seg = math.random(7200) -- sorteia um numero entre 1s e 7200s(2h)
addEvent(function, 1000*seg)
return TRUE
end

Editado Fevereiro 7 por kydrai