Postado Fevereiro 19, 2015 10 anos Fala pessoal. Estou com um bug em algumas quests, parece ser um bug simples. Todo player que clica no bau, da "The chest is empty", como se ja tivesse pego a quest O script me parece normal, como de outras quests que funcionam Citar function onUse(cid, item, frompos, item2, topos) if item.uid == 10005 then queststatus = getPlayerStorageValue(cid,10005) if queststatus == -1 and getPlayerAccess(cid) == 0 then doPlayerSendTextMessage(cid,22,"You have found a steel boots.") item_uid = doPlayerAddItem(cid,2645,1) setPlayerStorageValue(cid,10005,1) else doPlayerSendTextMessage(cid,22,"The chest is empty.") end else return 0 end return 1 end e no cadastro da actions também Citar <action uniqueid="10005" script="Edron/Demon Helmet Quest/dh_steelboots.lua" /> No map editor ta normal, o uniqueid do bau esta certo. Alguém sabe o que pode ser? Grato!
Postado Fevereiro 19, 2015 10 anos Pode ser que já exista alguma quest com esse mesmo uniqueID, mas creio que não é isso, se não o distro já teria acusado um error logo quando ele é executado.. Tente usar outro valor diferente nessa storage. Caso não dê certo tente usar esse código aqui: function onUse(cid, item, frompos, item2, topos) if item.uid ==10005 then queststatus = getPlayerStorageValue(cid,1995) if queststatus == 1 then doCreatureSay(cid, "The chest is empty.", TALKTYPE_ORANGE_1) doSendMagicEffect(topos,2) else doCreatureSay(cid, "You won a Steel Boots!", TALKTYPE_ORANGE_1) doSendMagicEffect(topos,28) coins_uid = doPlayerAddItem(cid,2645) setPlayerStorageValue(cid,1995,1) end return 0 end return 1 end
Postado Fevereiro 19, 2015 10 anos primeiro tenta mudar o storage, as vezes alguma quest já usa este storage queststatus = getPlayerStorageValue(cid,10005) mude o 10005 para um outro valor qualquer, exemplo: 919188
Postado Fevereiro 19, 2015 10 anos Solução Faça o que falaram acima, caso não dê, comece tudo do zero: Primeiramente vá em data/actions/ e abra o arquivo actions.xml: coloque a tag: <action uniqueid="XXXX" script="YYYY.lua" /> Na tag acima, edite o número onde esta XXXX (normalmente 4 dígitos), lembrando que será um id único, ou seja, não pode ter outro igual. Edite também o YYYY que será o nome do arquivo que você criará para colocar o código, exemplo: quest1.lua (extensão lua) Feito isso, abra a pasta data/actions/scripts/ e crie um arquivo com o nome que você colocou na tag (YYYY) com extensão lu e coloque o código dentro: local quest = {item_id = 2645, count = 1, msg = "You won a Steel Boots!", storage = 1995} function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, quest.storage) < 1 then doCreatureSay(cid, quest.msg, TALKTYPE_ORANGE_1) doSendMagicEffect(topos, 28) doPlayerAddItem(cid, quest.item_id, quest.count) setPlayerStorageValue(cid, quest.storage, 1) else doCreatureSay(cid, "The chest is empty.", TALKTYPE_ORANGE_1) doSendMagicEffect(topos, 2) end return true end Qualquer dúvida posta ai!
Postado Fevereiro 22, 2015 10 anos Autor Luan, obrigado! Seu script funcionou 100% Ainda não entendi onde estava errado no meu. Mas obrigado!
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.