Postado Abril 14, 2015 10 anos Autor Opa... Ativei a Storage 30, 53 no char e consegui pegar o item.. Só que não sei onde devo mexer.. Editado Abril 14, 2015 10 anos por arthur122222 (veja o histórico de edições)
Postado Abril 14, 2015 10 anos Testa este script aki function onUse (cid,item,frompos,item2,topos) pos = {x=1053, y=1053, z=7} pos2 = getPlayerPosition(cid) if getPlayerLevel(cid) >= 1 then if item.uid == 9054 then queststatus = getPlayerStorageValue(cid,10012) if queststatus == -1 then doTeleportThing(cid,pos) doPlayerSendTextMessage(cid,22,"Você encontrou itens. ") doPlayerAddItem(cid,9776,1) doPlayerAddItem(cid,9778,1) doPlayerAddItem(cid,9777,1) setPlayerStorageValue(cid,72719,1) doTeleportThing(cid, pos) doSendMagicEffect(getThingPos(cid), 29) else doPlayerSendTextMessage(cid,22,"Vazio.") end end else doPlayerSendCancel(cid,'Não é necessario editar aki.') end return 1 end Caso não funcionar teste esse: function onUse (cid,item,frompos,item2,topos) pos = {x=1053, y=1053, z=7} pos2 = getPlayerPosition(cid) if getPlayerLevel(cid) >= 1 then if item.uid == 9054 then queststatus = getPlayerStorageValue(cid,10012, 1) if queststatus == -1 then doTeleportThing(cid,pos) doPlayerSendTextMessage(cid,22,"Você encontrou itens. ") doPlayerAddItem(cid,9776,1) doPlayerAddItem(cid,9778,1) doPlayerAddItem(cid,9777,1) setPlayerStorageValue(cid,72719,1) doTeleportThing(cid, pos) doSendMagicEffect(getThingPos(cid), 29) else doPlayerSendTextMessage(cid,22,"Vazio.") end end else doPlayerSendCancel(cid,'Não é necessario editar aki.') end return 1 end Lembrando tem uma parte no começo que é assim pos = {x=1053, y=1053, z=7} Isto é para você editar, botar a coordenada do seu CP no caso, a hora que abrirem o báu serão teleportados para esta coordenada! ~Veja meus tópicos =D → Pokémon Zot Editado por Factur Final 80% → Quando poke morrer abrir TP por 30 segundos → Aumentando velocidade do player → Como criar cliente próprio (Com imagens) → Como criar uma quest (por SCRIPT) → Editando pokémons → [TinyTask] Explicação e tudo que você deve saber. → Adicionando o comando !bug → Adicionando o comando /buykit ~Projeto Antes e Depois ~~ → Umbreon - Antes e depois #1 → Esquilo - Antes e depois (Especial Snowsz)#2 → Lobo - Antes e Depois #3 → Entei - Antes e Depois #4 → Yveltal - Antes e Depois #5 → Morte - Antes e Depois #6
Postado Abril 14, 2015 10 anos Amigo, storage é um código/key que fica marcado no player e esse código/key tem um valor para ser usado em varias coisas. Como nessa quest o "código" é 30 para ganhar os items e 10012 para ganhar exp, você deve alterar o código 30 para o valor 53 e o 10012 para -1 (caso queira ganhar exp novamente). Vou explicar mais ou menos o script: function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerStorageValue(cid, 10012) < 1) then -- Se a storage 10012 for menor que 1 então faça. doPlayerAddExp(cid, 250000, true, true) -- Adiciona 250000 exp ao player. setPlayerStorageValue(cid, 10012, 1) -- Modifica a storage 10012 para o valor 1, fazendo com que o script não dê mais exp para o player quando clicar no baú. end if(item.uid == 3088) then -- Se a actionID do baú for 3088 então faça. if(getPlayerStorageValue(cid, 30) == 53) then -- Se a storage 30 for igual a 53 então faça. doPlayerAddItem(cid, 9776, 1) -- Adiciona o item 9776 no valor 1. setPlayerStorageValue(cid, 30, 54) -- Modifica a storage 30 para o valor 54. Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari armor.") -- Mensagem ao ganhar o item. else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") -- Mensagem caso a storage 30 não for valor 53 end elseif(item.uid == 3089) then if(getPlayerStorageValue(cid, 30) == 53) then doPlayerAddItem(cid, 9778, 1) setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari mask.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif(item.uid == 3090) then if(getPlayerStorageValue(cid, 30) == 53) then doPlayerAddItem(cid, 9777, 1) setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari leg piece.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end end return true end Mais amigo, basicamente sua quest não está bugada, é a storage que está com um valor errado, quando o player for fazer, irá ficar normal. ➥ Regras | Seções OTServ | Seções BOT
Postado Abril 14, 2015 10 anos Autor Mano, eu ativo a Storage 30, 53 no char e funciona tudo certinho, mas quando tento fazer a quest com outro char apenas dá a EXP..
Postado Abril 14, 2015 10 anos Mano, eu ativo a Storage 30, 53 no char e funciona tudo certinho, mas quando tento fazer a quest com outro char apenas dá a EXP.. É por que a storage tem que ser alterada para 53 amigo, essa storage irá mudar quando completar a quest. O padrão da storage é -1, então se você criou um char e a storage não foi alterada para 53, óbvio que não irá ganhar o item, porém essa storage muda quando o player está fazendo a quest de yalahar, por isso tem um valor tão alto, já a storage exp é < 1, como eu disse o padrão é -1 então ele vai dar exp para um char criado agora. ➥ Regras | Seções OTServ | Seções BOT
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.