-
Total de itens
13 -
Registro em
-
Última visita
-
WhiteWolf, boa tarde!
Sou Iago Melo e estou desenvolvendo um projeto OpenTibia de Batalha MOBA, chama-se League of Spirits
Eu tenho uma ideia que tentei implementar no servidor mas não obtive sucesso, estou falando da os.time
Seguinte, eu queria fazer um script que reconhecesse o horário do jogo e anunciasse aos players:
06:00 dentro do jogo: "O Sol está nascendo..."
12:00 dentro do jogo: "O Sol está á pino..."
18:00 dentro do jogo: "O Sol está se pondo..."Quando ficasse de noite o Nexus Azul e Vermelho escolheriam um de cada time para ser o Lider durante o periodo noturno do servidor, que no caso isso iria acontecer a cada 40 minutos durante 20 minutos que é o periodo norturno
O sistema de liderança eu já tenho, eu queria fazer essa parada de anunciar os horarios ingame pros outros players se situarem quanto ao sistema de liderança!!!Cara... você poderia me direcionar? Pois de os.time sou bem cabaço mesmo
Achei essa idéia do caralho e não consigo elimina-la da minha mente, me dá uma luz WhiteWOLFFF!!!
Ps: Tenho duas lobinhas dessas do seu avatar lá no quintal de casa, quase nem gosto rs
Caso queria ver o projeto como tá ficando, segue NET:
www.facebook.com/leagueofspirits
www.youtube.com/channel/UCwjo37_WnPF2acebcjw0ljQ-
os.time() retorna o tempo em segundos que se passaram desde 1 de janeiro de 1970 (UNIX TIME), o que vc quer é o os.date() que retorna a data e a hora atual.
https://www.lua.org/pil/22.1.html
hora = os.date("%H")
minuto = os.date("%M")
segundo = os.date("%S")
tudo que vc tem que fazer é um globalevents onthink e checar se a hora e o minuto são os que vc quer OU fazer onTime pra executar em determinados horários específicos -
Então xWhiteWolf veja as mais novas descobertas que fiz:
O relogio do tibia não é sincronizado com o clima, dia e noite...
Quando abre o servidor ele abre toda vez "meio dia" porque depois de 20 minutos ele escurece
Ai ele fica 20 minutos de Noite e o dia nasce outra vez...
Ai então que o ciclo corre 40 minutos de dia, depois 20 minutos de noite...
Sendo assim eu não to conseguindo sicronizar uma globalevent com um intervalo exato pq se eu coloco pra falar que o dia nasce a cada 40 minutos, depois do primeiro dia ele vai inverter as frases...
Ai eu te pergunto o seguinte: Você manja fazer um calculo pro horario do tibia iniciar as 00:00?
Olha o script que eu consegui fazer baseado na action Watch do relogio de pulso
Spoilerlocal i = {
["06:00"] = {nome = "O sol esta nascendo..."},
["12:00"] = {nome = "O sol esta a pino..."},
["18:00"] = {nome = "O sol esta se pondo..."},
["00:00"] = {nome = "A lua esta cheia..."},
}
function onThink(cid, interval)
local twentyfour = TRUE
local tibiantime = TRUE
if tibiantime == FALSE then
if twentyfour == TRUE then
time = os.date('%H:%M')
else
time = os.date('%I:%M %p')
end
else
varh = (os.date('%M') * 60 + os.date('%S')) / 150
tibH = math.floor(varh)
tibM = math.floor(60 * (varh-tibH))
if tibH < 10 then tibH = '0'..tibH end
if tibM < 10 then tibM = '0'..tibM end
time = (tibH..':'..tibM)
tb = i[time]
endif tb then
doBroadcastMessage("" .. tb.nome .. "")
end
end
return TRUECorrigindo: Pro servidor Iniciar as 12:00, não as 00:00 como falei no post acima!
-