Ir para conteúdo

Featured Replies

Postado

Alguém consegue abreviar essa formula?

 

Gostaria que o NPC disse que horas são, mas se usar apenas o comando 'GetWorldTime()" o NPC fala a hora sem os ' : ' (Dois pontos) ae aparece tipo assim 1548, e o certo é: 15:48
 

Estou usando essa formula mas ela é meio extensa '-' se alguém conseguir abreviar ficaria agradecido!!
 

Mostrar conteúdo oculto


Desde já Grato!

Resolvido por Rusherzin

Ir para solução
Postado

Se ele vem SEMPRE com 4 dígitos, pode fazer uma função assim:
 

function readableTime(time)
  time = tostring(time)
  local hours = time:sub(1, 2)
  local minutes = time:sub(3, 4)

  return hours..":"..minutes
end

Coloca ela em alguma lib tua, e depois usa assim nos scripts:
 

readableTime(1234)

 

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

Postado
  • Autor
  Em 16/06/2018 em 02:26, Rusherzin disse:

Se ele vem SEMPRE com 4 dígitos, pode fazer uma função assim:
 


function readableTime(time)
  time = tostring(time)
  local hours = time:sub(1, 2)
  local minutes = time:sub(3, 4)

  return hours..":"..minutes
end

Coloca ela em alguma lib tua, e depois usa assim nos scripts:
 


readableTime(1234)

 

@Rusherzin
Não entendi muito bem... Com esse function ela vai transformar os 4 dígitos do getWorldTime em '12:34'

Pois eu testei e quando dou start no server o npc me diz essa hora:

image.png.df32e8e854d762495c1dfc8d0c03ae11.png


Sendo que o certo seria:
image.png.2677e204990b0c717978da562c2c8b48.png

 

Coloquei assim no .lua do NPC:
 

Mostrar conteúdo oculto


 

Postado
  • Solução

Aaaah, pensei que tu tivesse o tempo já em 4 dígitos. Faz o seguinte, cria uma função assim na lib:
 

function readableTime()
	local config = {
		tibianTime = true,
		twentyFour = true -- only if tibianTime = false
	}

		local str = ""
		if(config.tibianTime) then
			local var = (os.date('%M') * 60 + os.date('%S')) / 150
			local hour = math.floor(var)

			local minute = math.floor(60 * (var - hour))
			if(hour < 10) then
				hour = '0' .. hour
			end

			if(minute < 10) then
				minute = '0' .. minute
			end

			str = hour .. ':' .. minute
		elseif(config.twentyFour) then
			str = os.date('%H:%M')
		else
			str = os.date('%I:%M %p')
		end
	return str
end

No NPC tu bota:
 

	selfSay('Agora são: ' ..readableTime()..'.',cid)

 

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

Postado
  • Autor
  Em 16/06/2018 em 04:04, Rusherzin disse:

Aaaah, pensei que tu tivesse o tempo já em 4 dígitos. Faz o seguinte, cria uma função assim na lib:
 


function readableTime()
	local config = {
		tibianTime = true,
		twentyFour = true -- only if tibianTime = false
	}

		local str = ""
		if(config.tibianTime) then
			local var = (os.date('%M') * 60 + os.date('%S')) / 150
			local hour = math.floor(var)

			local minute = math.floor(60 * (var - hour))
			if(hour < 10) then
				hour = '0' .. hour
			end

			if(minute < 10) then
				minute = '0' .. minute
			end

			str = hour .. ':' .. minute
		elseif(config.twentyFour) then
			str = os.date('%H:%M')
		else
			str = os.date('%I:%M %p')
		end
	return str
end

No NPC tu bota:
 


	selfSay('Agora são: ' ..readableTime()..'.',cid)

 

@Rusherzin
Obrigado manow! deu certo.

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo