VI

[Resolvido] NPC SCRIPT os.time())/(24 * 60 * 60))

Por vitorelias, 06 de nov. de 2019 em Resolvidos

5
2k
vitoreliasV
06 de novembro de 2019 às 18:44

Não tenho muita experiência com script, precisava adicionar uma função no script  que o intem so fica pronto depois 3 dias.
 

darkeyrenD
07 de novembro de 2019 às 22:00
Melhor resposta

Boa noite amigo!

 

O sistema que o Lua usa para lidar com tempo é o sistema UNIX, onde ele retorna um valor inteiro e ai sim devemos traduzi-lo para algo legível.

 

local config = {
    STORAGE = 99999, -- storage a sua escolha
	FLAG_DONE = -2, -- não mexer
    ITEM_ID = 2321, -- item q será entregue
	TIME = 3 --dias
}

local atual_time = os.time()
local registred_time = getPlayerStorageValue(cid, config.STORAGE)
local done = registred_time == config.FLAG_DONE

if done then 
  	selfSay(("Você já pegou seu item!", cid)
  	return false
end

if not registred_time then
	local time = atual_time + (config.DAYS * (24 * 60 * 60))
	setPlayerStorageValue(cid, config.STORAGE, time)
  	selfSay("Obrigado por vir aqui conquistar seu item, ele só vai ficar pronto daqui algum tempo!", cid) 
  	return false
end

if atual_time < registred_time then
  	selfSay("Seu item vai ficar pronto em "..os.date("%c", registred_time), cid)
  	return false
else
  	selfSay("Obrigado pela espera! Aqui está seu Item", cid)
  	doPlayerGiveItem(cid, config.ITEM_ID, 1)
  	setPlayerStorageValue(cid, config.STORAGE, config.FLAG_DONE)
  	return true
 end

 

Em seu curto e grosso, seria isso!

Fique a sua vontade editar da maneira que quiser, eu não testei, mas qualquer coisa só mandar mensagem aqui!

 

Um abraço!


 

 

Editado Novembro 7 por darkeyren

vitoreliasV
08 de novembro de 2019 às 04:31
6 horas atrás, darkeyren disse:

Boa noite amigo!

 

O sistema que o Lua usa para lidar com tempo é o sistema UNIX, onde ele retorna um valor inteiro e ai sim devemos traduzi-lo para algo legível.

 

local config = {
    STORAGE = 99999, -- storage a sua escolha
	FLAG_DONE = -2, -- não mexer
    ITEM_ID = 2321, -- item q será entregue
	TIME = 3 --dias
}

local atual_time = os.time()
local registred_time = getPlayerStorageValue(cid, config.STORAGE)
local done = registred_time == config.FLAG_DONE

if done then 
  	selfSay(("Você já pegou seu item!", cid)
  	return false
end

if not registred_time then
	local time = atual_time + (config.DAYS * (24 * 60 * 60))
	setPlayerStorageValue(cid, config.STORAGE, time)
  	selfSay("Obrigado por vir aqui conquistar seu item, ele só vai ficar pronto daqui algum tempo!", cid) 
  	return false
end

if atual_time < registred_time then
  	selfSay("Seu item vai ficar pronto em "..os.date("%c", registred_time), cid)
  	return false
else
  	selfSay("Obrigado pela espera! Aqui está seu Item", cid)
  	doPlayerGiveItem(cid, config.ITEM_ID, 1)
  	setPlayerStorageValue(cid, config.STORAGE, config.FLAG_DONE)
  	return true
 end

 

Em seu curto e grosso, seria isso!

Fique a sua vontade editar da maneira que quiser, eu não testei, mas qualquer coisa só mandar mensagem aqui!

 

Um abraço!


 

 

Bom dia muito obrigado aí pela atenção bom final de semana estou indo para o serviço quando chegar em casa testo.

vitoreliasV
08 de novembro de 2019 às 15:53

Deu certo muito obrigado bom final de semena.

3 semanas depois...
MarkowiiczM
26 de novembro de 2019 às 15:33
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.