Postado Abril 28, 2018 7 anos Salve galera, então eu fiz uns itens que tem duração de 3 dias, e as quests que dão eles tem como refazer acada 5 dias, eu queria que quando a pessoa clicasse na quest, ele ganhasse uma storage, que ao passar no SQM na frente do TP que da ao acesso a ela novamente, mostrasse quanto tempo falta pra ele poder refazer, pra ele nao perder tempo fazendo ela toda novamente, e chegar la clicar no bau e nao ter dado o tempo. Nessa primeira foto, é pra mostrar onde eu quero que o SQM de check fique. Nessa segunda foto usei outra quest que tenho aqui como exemplo, porque essa quest só mostra o tempo quando clica nela pra receber, e o negocio que eu quero é um TILE que mostre o tempo que falta pra mim poder coletar o item novamente. Script de quest diaria que eu uso. Spoiler local t = { storage = 678678, -- storage, so mude se tiver usando pra outra coisa. tempo = 24, -- Tempo em horas. qt = 250, -- quatidade. itemidxx = 6527 -- Item que ira ganhar. } function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerStorageValue(cid, t.storage) < os.time() then doPlayerSendTextMessage(cid, 25, "Voce ganhou "..t.qt.." "..t.itemidxx.." diário, espere dar 24 horas para pegar novamente.") doPlayerAddItem(cid,t.itemidxx,t.qt) setPlayerStorageValue(cid, t.storage, os.time() + t.tempo * 60 * 60) else doPlayerSendTextMessage(cid, 25, "Você precisa esperar ".. getPlayerStorageValue(cid, t.storage) - os.time() .." segundos para coletar novamente.") end return true end Editado Abril 28, 2018 7 anos por Zzyzx Adicionei o scrip (veja o histórico de edições)
Postado Abril 29, 2018 7 anos tenta assim local t = { storage = 678678, -- storage, so mude se tiver usando pra outra coisa. tempo = 24, -- Tempo em horas. } function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, t.storage) < os.time() then setPlayerStorageValue(cid, t.storage, os.time() + t.tempo * 60 * 60) else doPlayerSendTextMessage(cid, 25, "Você precisa esperar ".. getPlayerStorageValue(cid, t.storage) - os.time() .." segundos para coletar novamente.") end return true end Editado Abril 29, 2018 7 anos por Igorzerah (veja o histórico de edições)
Postado Abril 29, 2018 7 anos Solução o action do bau local t = { storage = 678678, -- storage, so mude se tiver usando pra outra coisa. tempo = 24, -- Tempo em horas. qt = 250, -- quatidade. itemidxx = 6527 -- Item que ira ganhar. } function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerStorageValue(cid, t.storage) - os.time() > 0 then return doPlayerSendTextMessage(cid, 25, "Você só poderá abrir seu bau em "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,t.storage))..".") end setPlayerStorageValue(cid, t.storage, os.time() + t.tempo * 60 * 60) doPlayerSendTextMessage(cid, 25, "Voce ganhou "..t.qt.." "..t.itemidxx.." diário, espere até "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,t.storage)).." para pegar novamente.") doPlayerAddItem(cid,t.itemidxx,t.qt) return true end o tile: local storage = 678678 function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end return doPlayerSendTextMessage(cid, 25, getPlayerStorageValue(cid,storage) <= os.time() and "Você está apto a pegar a recompesa do báu" or "Você só poderá abrir seu bau em "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,storage))..".") end [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Abril 29, 2018 7 anos Autor 5 horas atrás, Vodkart disse: o action do bau local t = { storage = 678678, -- storage, so mude se tiver usando pra outra coisa. tempo = 24, -- Tempo em horas. qt = 250, -- quatidade. itemidxx = 6527 -- Item que ira ganhar. } function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerStorageValue(cid, t.storage) - os.time() > 0 then return doPlayerSendTextMessage(cid, 25, "Você só poderá abrir seu bau em "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,t.storage))..".") end setPlayerStorageValue(cid, t.storage, os.time() + t.tempo * 60 * 60) doPlayerSendTextMessage(cid, 25, "Voce ganhou "..t.qt.." "..t.itemidxx.." diário, espere até "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,t.storage)).." para pegar novamente.") doPlayerAddItem(cid,t.itemidxx,t.qt) return true end o tile: local storage = 678678 function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end return doPlayerSendTextMessage(cid, 25, getPlayerStorageValue(cid,storage) <= os.time() and "Você está apto a pegar a recompesa do báu" or "Você só poderá abrir seu bau em "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,storage))..".") end Valeu meu querido, ficou perfeito, ficou bom demais, deixa eu te perguntar uma coisa, tu fez faculdade de algo sobre programação ? se não, e aprendeu sozinho, sabe por onde posso começar estudar? acho muito interessante esses negocios de programar.
Postado Abril 30, 2018 7 anos 19 horas atrás, Zzyzx disse: Valeu meu querido, ficou perfeito, ficou bom demais, deixa eu te perguntar uma coisa, tu fez faculdade de algo sobre programação ? se não, e aprendeu sozinho, sabe por onde posso começar estudar? acho muito interessante esses negocios de programar. Sozinho, copiando script e alterando, tentando entender e tal... Na época tava cansado de fazer pedido de script no xtibia(n existia tk ainda) e ngm responder, cansei de esperar já que não tenho paciência praticamente pra nada e comecei a fuçar pra aprender alguma coisa, nunca fui programador e faço faculdade de Direito. Abraços. [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
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.