Postado Junho 2, 2021 3 anos .Qual servidor ou website você utiliza como base? OTX Qual o motivo deste tópico? Estou com uma ideia para uma spell de criar um item temporario que dê algum atribudo ao jogador por determinado tempo. Tentei colocar um decayto no item.xml e fazer por conjure mas não da para colocar exhaust por que vai exhaustar a cura do proprio jogador como: <conjure name="create item" words="createitem" lvl="300" mana="20" soul="1" conjureId="7382" conjureCount="10" aggressive="0" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> </conjure> Então pensei em fazer por criação através de script, mas com o script que estou utilizando o item está sendo criado, mas o decayto não está funcionando. Eu precisaria que no proprio script removesse o item e colocasse um exhaust para conseguir a spell no proprio script, alguém poderia me ajudar por favor? No script abaixo eu precisaria que ele tivesse a função de remover o item do player após 10 segundos e uma exhaust para usar a spell novamente de 1 minuto. Alguém me ajuda por favor? Você tem o código disponível? Se tiver publique-o aqui: local cfg = { item = {7590, 3}, infinite = true, --Poderá pegar o item infinitas vezes? [true/sim] [false/não] } local storage = 91838 function onCastSpell(cid, var) if cfg.infinite then doPlayerAddItem(cid, cfg.item[1], cfg.item[2]) else if getPlayerStorageValue(cid, storage) < 1 then doPlayerAddItem(cid, item[1], item[2]) setPlayerStorageValue(cid, storage, 1) else return doPlayerSendCancel(cid, "Você já pegou seu item.") end end return true end
Postado Junho 4, 2021 3 anos local cfg = { item = {7590, 3}, infinite = true, --Poderá pegar o item infinitas vezes? [true/sim] [false/não] tempo = 10 -- tempo em segundos para o item sumir. } local storage = 91838 function onCastSpell(cid, var) if cfg.infinite then newitem = doPlayerAddItem(cid, cfg.item[1], cfg.item[2]) addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid) else if getPlayerStorageValue(cid, storage) < 1 then newitem = doPlayerAddItem(cid, item[1], item[2]) addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid) setPlayerStorageValue(cid, storage, 1) else return doPlayerSendCancel(cid, "Você já pegou seu item.") end end return true end
Postado Junho 4, 2021 3 anos Autor Em 04/06/2021 em 00:05, luangop disse: local cfg = { item = {7590, 3}, infinite = true, --Poderá pegar o item infinitas vezes? [true/sim] [false/não] tempo = 10 -- tempo em segundos para o item sumir. } local storage = 91838 function onCastSpell(cid, var) if cfg.infinite then newitem = doPlayerAddItem(cid, cfg.item[1], cfg.item[2]) addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid) else if getPlayerStorageValue(cid, storage) < 1 then newitem = doPlayerAddItem(cid, item[1], item[2]) addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid) setPlayerStorageValue(cid, storage, 1) else return doPlayerSendCancel(cid, "Você já pegou seu item.") end end return true end @luangop Olá, desculpa a demora para responder, não estava em casa. Acabei de testar aqui e apresentou um erro na distro. seria possivel colocar uma exhaust para poder usar esse script de 50 segundos para ser usada?
Postado Junho 4, 2021 3 anos Em 04/06/2021 em 14:07, hiquezerah disse: @luangop Olá, desculpa a demora para responder, não estava em casa. Acabei de testar aqui e apresentou um erro na distro. seria possivel colocar uma exhaust para poder usar esse script de 50 segundos para ser usada? bugou um pouco minha mente pelo fato de estar sendo criado 3 items... (quantidade 3) e vc não deu detalhes de pra que este item serve... local cfg = { item = {7590, 3}, infinite = true, --Poderá pegar o item infinitas vezes? [true/sim] [false/não] tempo = 10, -- tempo em segundos para o item sumir. storage = 91991, -- storage para o exhaust. exstTime = 50 -- tempo em segundos do exhausted. } local storage = 91838 function onCastSpell(cid, var) if getPlayerStorageValue(cid, cfg.storage) > os.time() then return doPlayerSendCancel(cid, "Aguarde ", getPlayerStorageValue(cid, cfg.storage) - os.time() ," segundos para usar novamente.") and false end if cfg.infinite then newitem = doPlayerAddItem(cid, cfg.item[1], cfg.item[2]) addEvent(doRemoveItem, cfg.tempo*1000, newitem) setPlayerStorageValue(cid, cfg.storage, os.time()+(cfg.exstTime*1000)) else if getPlayerStorageValue(cid, storage) < 1 then newitem = doPlayerAddItem(cid, item[1], item[2]) addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid) setPlayerStorageValue(cid, storage, 1) setPlayerStorageValue(cid, cfg.storage, os.time()+(cfg.exstTime*1000)) else return doPlayerSendCancel(cid, "Você já pegou seu item.") end end return true end
Postado Junho 4, 2021 3 anos Autor Em 04/06/2021 em 14:19, luangop disse: bugou um pouco minha mente pelo fato de estar sendo criado 3 items... (quantidade 3) e vc não deu detalhes de pra que este item serve... local cfg = { item = {7590, 3}, infinite = true, --Poderá pegar o item infinitas vezes? [true/sim] [false/não] tempo = 10, -- tempo em segundos para o item sumir. storage = 91991, -- storage para o exhaust. exstTime = 50 -- tempo em segundos do exhausted. } local storage = 91838 function onCastSpell(cid, var) if getPlayerStorageValue(cid, cfg.storage) > os.time() then return doPlayerSendCancel(cid, "Aguarde ", getPlayerStorageValue(cid, cfg.storage) - os.time() ," segundos para usar novamente.") and false end if cfg.infinite then newitem = doPlayerAddItem(cid, cfg.item[1], cfg.item[2]) addEvent(doRemoveItem, cfg.tempo*1000, newitem) setPlayerStorageValue(cid, cfg.storage, os.time()+(cfg.exstTime*1000)) else if getPlayerStorageValue(cid, storage) < 1 then newitem = doPlayerAddItem(cid, item[1], item[2]) addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid) setPlayerStorageValue(cid, storage, 1) setPlayerStorageValue(cid, cfg.storage, os.time()+(cfg.exstTime*1000)) else return doPlayerSendCancel(cid, "Você já pegou seu item.") end end return true end @luangop Desculpe-me não expliquei muito bem sobre a minha ideia, é o seguinte eu tive uma ideia de criar um item que da protection all de 20% durante 10 segundos ao personagem que usar, após 10 segundos o item deve sumir para que as pessoas não fiquem estacando esses itens em bps para usar depois. E essa spell teria um cooldown de 50 segundos, sabe? é basicamente o script vai criar apenas 1 item, não são três não. eu testei o seu novo script aqui e continuou dando alguns erros vou te mandar aqui esse print acima é após a spell ser usada e eu tentar usar ela novamente /\ esse outro aqui eu acredito que seja depois dos 10 segundos que o item deveria sumir, mas não sumiu
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.