M

[Resolvido] Quest diaria

Por M i s s, 06 de nov. de 2018 em Resolvidos

5
2.6k
M i s sM
06 de novembro de 2018 às 18:33

Preciso de uma quest na qual o Player possa pegar o premio apenas 1 vez por dia ou seja a cada 24hrs. ❤️ 

M i s sM
06 de novembro de 2018 às 21:19

Olha eu achei "como fazer um bau"  "criando bau" "bau que deitem aleatorio" mas nada de bau diario '-' se vc souber de algum coloca link ae ;-

Ayron5A
07 de novembro de 2018 às 07:47
Melhor resposta
10 horas atrás, R e d disse:

Olha eu achei "como fazer um bau"  "criando bau" "bau que deitem aleatorio" mas nada de bau diario '-' se vc souber de algum coloca link ae ;-

Teste aí...

Em "Data/actions/scripts" adicione resetquest.lua e cole:

Spoiler
local t = {
storage = 35350, -- Soh mexa se necessario.
temp = 24, -- Tempo em horas.
count = 1, -- quantidade da reward que sera ganha
reward = 2160 -- Item que irá ganhar. -- por ser o ultimo item do array nao necessita virgula
}

function onUse(cid, item, fromPos, itemEx, toPos)
    if getPlayerStorageValue(cid, t.storage) < os.time() then
       doPlayerSendTextMessage(cid, 25, "Você encontrou um "..getItemNameById(t.reward)..".")
       doPlayerAddItem(cid, t.reward, t.count)
       setPlayerStorageValue(cid, t.storage, os.time() + (t.temp * 60 * 60))
    else
       doPlayerSendTextMessage(cid, 25, "Você precisa esperar ".. math.ceil((getPlayerStorageValue(cid, t.storage) - os.time())/3600) .." hora(s) para usar novamente.")
    end
    return true
end

 

Em "Data/actions" abra o actions.xml e adicione:

Spoiler
<action uniqueid="90004" script="resetquest.lua"/>

 

Só colocar a unique 90004 ( pode mudar se quiser ) no baú.

Caso queira para adicionar mais de 1 item avise... Boa sorte aí ^^ 

Creditos: Wakon, xWhiteWolf

MarshmelloM
08 de novembro de 2018 às 18:16

Nosso Amigo Ali já deu a resposta mais caso queria vir itens randon

 

local t = {
storage = 35350, -- Soh mexa se necessario.
temp = 24, -- Tempo em horas.
count = 1, -- quantidade da reward que sera ganha
reward = {2160, 2152} -- Item que irá ganhar. -- por ser o ultimo item do array nao necessita virgula
}

function onUse(cid, item, fromPos, itemEx, toPos)
    if getPlayerStorageValue(cid, t.storage) < os.time() then
        local randomZ = t.reward[math.random(1,#t.reward)]                  
       doPlayerSendTextMessage(cid, 25, "Você encontrou um "..getItemNameById(randomZ)..".")
       doPlayerAddItem(cid, randomZ, t.count)
       setPlayerStorageValue(cid, t.storage, os.time() + (t.temp * 60 * 60))
    else
       doPlayerSendTextMessage(cid, 25, "Você precisa esperar ".. math.ceil((getPlayerStorageValue(cid, t.storage) - os.time())/3600) .." hora(s) para usar novamente.")
    end
    return true
end

 

Editado Novembro 9 por Marshmello

MarshmelloM
08 de novembro de 2018 às 18:17
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico.