Postado Agosto 22, 2021 3 anos Autor Em 22/08/2021 em 14:36, Saawsss disse: --///////////////CONFIGURAÇÃO/////////////////////// function onUse(cid, item, frompos, item2, topos) local Iditem = 7440 --ID DO ITEM local storage = 1524 local Exp = 3.0 local texto = 'Voce Ganhou 30 Minutos de Exp [3x]' local days = 1 --///////////////FINAL DA CONF////////////////////// if getPlayerStorageValue(cid, storage) <= 0 then doSendMagicEffect(getPlayerPosition(cid), 10) setPlayerStorageValue(cid, storage, os.time()+days*76*24) -- configurar o tempo doPlayerSendTextMessage(cid, 22, texto) doPlayerSetExperienceRate(cid, Exp) doPlayerRemoveItem(cid, Iditem, 1) else horas = math.floor((getPlayerStorageValue(cid, storage) - os.time())/(76)) minutos = math.floor((getPlayerStorageValue(cid, storage) - os.time())/(60)) if horas >= 1 then return doPlayerSendCancel(cid, "Voce podera usar a pocao em "..(minutos < 0 and 0 or minutos).." minutos") end end end Fiz esse aqui, testa ai. as vezes da pra usar, e as vezes da isso ''you cannot use this object'' Em 22/08/2021 em 21:49, Doidodepeda disse: as vezes da pra usar, e as vezes da isso ''you cannot use this object'' Outro bug que acabei de ver, caso vc jogue a potion no chao e vc sa user nela, ela n some. fica la no chao pra qlq pessoa usar e sem sumir.
Postado Agosto 23, 2021 3 anos Solução @Doidodepeda Boa noite, tente assim: Altere o xml para: Separe cada itemid da potion por ";", como está abaixo <action itemid="7440;7439" script="expPotions.lua"/> Altere o script para esse, está comentado como usar: local expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal. local textoPotionUsada = "em uso" local potions = { -- [ID_POTION] = { tempo = DURAÇÃO, experiencia = EXPERIENCIA, quantidade = QUANTIDADE_DE_POTIONS, texto = 'Voce Ganhou 30 Minutos de Exp [3x]', textofinal = 'Bonus de Exp [3x] Finalizada', storage = STORAGE_UNICO_PARA_CADA_POTION, textoClasse = 22, efeito = 1 }, [7440] = { tempo = 1800, experiencia = 3.0, quantidade = 1, texto = 'Voce Ganhou 30 Minutos de Exp [3x]', textofinal = 'Bonus de Exp [3x] Finalizada', storage = 33330, textoClasse = 22, efeito = 1 }, [7439] = { tempo = 2000, experiencia = 5.0, quantidade = 1, texto = 'Voce Ganhou 30 Minutos de Exp [5x]', textofinal = 'Bonus de Exp [5x] Finalizada', storage = 33331, textoClasse = 22, efeito = 1 } } function onUse(cid, item, frompos, item2, topos) for potionId, potionConfig in pairs(potions) do if item.itemid == potionId then if (getPlayerStorageValue(cid, potionConfig.storage) > os.time()) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, textoPotionUsada) return; end local quantidadePotionPlayer = getPlayerItemCount(cid, potionId) if quantidadePotionPlayer < potionConfig.quantidade or quantidadePotionPlayer <= 0 then return; end doRemoveItem(item.uid, potionConfig.quantidade) doPlayerSetExperienceRate(cid, potionConfig.experiencia) doSendMagicEffect(frompos, potionConfig.efeito) doPlayerSendTextMessage(cid, potionConfig.textoClasse, potionConfig.texto) addEvent(potion, potionConfig.tempo * 1000, cid, potionConfig) setPlayerStorageValue(cid, potionConfig.storage, (os.time() + potionConfig.tempo)) end end end function potion(cid, potionConfig) doPlayerSetExperienceRate(cid, expfinal) doPlayerSendTextMessage(cid, potionConfig.textoClasse, potionConfig.textofinal) end
Postado Agosto 23, 2021 3 anos Em 22/08/2021 em 21:49, Doidodepeda disse: as vezes da pra usar, e as vezes da isso ''you cannot use this object'' Outro bug que acabei de ver, caso vc jogue a potion no chao e vc sa user nela, ela n some. fica la no chao pra qlq pessoa usar e sem sumir. Vai no script que te mandei procura a linha >> doPlayerRemoveItem(cid, Iditem, 1) e muda pra doRemoveItem(IdItem.uid, 1) ver se funciona e me avisa
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.