MÓJÓ 63 Posted October 15, 2017 Share Posted October 15, 2017 Boas a todos estou aqui com um problema nessa quest que é a seguinte eu gostaria de saber como é que posso por exemplo colocar ai por exemplo 200 adicionares e receber 40 feitiços de item ou seja receber 20 porcento, eu ja consegui por a fazer a troca e por a receber o problema é que por qualquer quantidade que dé neste caso 1 da me sempre os 40 feitiços , sei que a forma simples era entregar 1 e receber 1 isso eu consigo por a dar mas queria tipo como disse acima dar por exmplo 200 adicionares e receber 40 feitiços ou seja receber 20 porcento. cumprimentos -- Quest wrote by Exygo -- Creation date: 19 December 2015 5:35 PM - Romania hour -- Line count: 44 ---------------------------------------------------------- quest item_exchange begin state start begin -- 9003 = NPC vnum when 9003.take begin local vnum = item.get_vnum() local items items = { --[GIVE] [RECEIVE] [COUNT] [71085] = { 71084, 20 }, [27993] = { 27003, 1 }, [27994] = { 27006, 1 }, } if items[vnum] then say_title("NPC NAME:") say("Exchange an item for another item") -- local received_vnum = items[vnum][1] local received_quantity = items[vnum][2] --- local item_name = item_name(received_vnum) -- say_reward("You'll receive: "..item_name.." , quantity: "..received_quantity.."") say_item_vnum(received_vnum) say_title("Are you sure you want to do exchange ?") say("") local sel=select("Yes","No") if sel == 2 then return else setskin(0) pc.give_item2(received_vnum, received_quantity) pc.remove_item(vnum, 1) end end -- i end -- w end -- s end -- q Hidden Content Give reaction or reply to this topic to see the hidden content. Link to post Share on other sites
MÓJÓ 63 Posted October 16, 2017 Author Share Posted October 16, 2017 BUMP Link to post Share on other sites
Mário. 194 Posted October 16, 2017 Share Posted October 16, 2017 Modifica: Hidden Content Give reaction or reply to this topic to see the hidden content. Por isto: Hidden Content Give reaction or reply to this topic to see the hidden content. 1 Link to post Share on other sites
JD9 24 Posted October 16, 2017 Share Posted October 16, 2017 Please login or register to see this quote. Problema disso é que fica aceitar até 200, mesmo que entregues so 1 ele da-te os 40 rodares a mesma, essa solução não resulta. 1 Link to post Share on other sites
[Admin] tierrilopes 3223 Posted October 16, 2017 Share Posted October 16, 2017 when 123.take begin if pc.count_item(456) >=200 then pc.remove_item(456, 200) pc.give_item2(789,40) else syschat("item insuficiente, precisas de 200 ") end end end 1 Link to post Share on other sites
MÓJÓ 63 Posted October 16, 2017 Author Share Posted October 16, 2017 Vcs são grandes , e já agora há forma de eu dentro da mesma quest colocar por exmplo as pedras partidas a dar uma perola ou tenho q fazer uma quest para cada item que quiser fazer a troca? cumprimentos . Link to post Share on other sites
Mário. 194 Posted October 16, 2017 Share Posted October 16, 2017 Please login or register to see this quote. Não precisas de fazer uma quest para cada um. Aproveitado o que o @Tierri Lopes fez: Hidden Content Give reaction or reply to this topic to see the hidden content. 1 Link to post Share on other sites
MÓJÓ 63 Posted October 16, 2017 Author Share Posted October 16, 2017 Mário para ti uma palavra . Muito obrigado és quase tão grande como o meu benfica Link to post Share on other sites
MÓJÓ 63 Posted October 16, 2017 Author Share Posted October 16, 2017 (edited) quest mojo_itens begin state start begin function get_settings() mojo_itens = {} mojo_itens.dar = 71085, 27990 -- Itens que o jogador precisa de ter para trocar por outros itens mojo_itens.quantidade = 200, 600, -- Quantidade de itens que o jogador precisa de ter para trocar pelos itens abaixo: mojo_itens.receber = 71084, 27992, 27993, 27994 -- Itens que o jogador irá receber depois da troca mojo_itens.rquantidade = 20, 1, 1, 1 -- Quantidade de itens que o jogador irá receber return mojo_itens end when 20008.take begin local settings = mojo_itens.get_settings() if pc.get_count(settings.dar[71085]) >= settings.quantidade[200] then -- Conta o primeiro valor, ou seja, 456 da tabela mojo_itens.dar e 200 da tabela mojo_itens.quantidade pc.remove_item(settings.dar[71085], settings.quantidade[200]) pc.give_item2(settings.receber[71084],settings.rquantidade[20]) elseif pc.get_count(settings.dar[27990]) >= settings.quantidade[600] then pc.remove_item(settings.dar[27990], settings.quantidade[600]) pc.give_item2(settings.receber[27992, 27993, 27994],settings.rquantidade[1]) elseif pc.get_count(settings.dar[]) >= settings.quantidade[] then pc.remove_item(settings.dar[], settings.quantidade[]) pc.give_item2(settings.receber[],settings.rquantidade[]) else syschat("Não tens itens suficientes, queres enganar o Otávio? ") end end end end Hidden Content Give reaction or reply to this topic to see the hidden content. Edited October 17, 2017 by MÓJÓ ERRO Link to post Share on other sites
MÓJÓ 63 Posted October 16, 2017 Author Share Posted October 16, 2017 está a dar esse erro devo ter ai feito asneira da grossa Link to post Share on other sites
Mário. 194 Posted October 17, 2017 Share Posted October 17, 2017 (edited) Please login or register to see this quote. Não é assim meu irmão, não precisas de mexer dessa forma! Hidden Content Give reaction or reply to this topic to see the hidden content. Vamos lá entender isto: Hidden Content Give reaction or reply to this topic to see the hidden content. settings.dar[2] & settings.quantidade[2] representam o segundo a frente de cada tabela dar e quantidade (mojo_itens.dar & mojo_itens.quantidade) que nestes casos são representados pelos números 789 e 200 respetivamente (consulta a tabela e começa a contar a partir do primeiro número que existe em cada uma delas). O que acontece acima é igual ao que o Tierri fez mas um pouco mais complexo, ela vai buscar os valores nas tabelas que foram criadas: Hidden Content Give reaction or reply to this topic to see the hidden content. OBS: Utiliza a minha primeira quest, tinha esquecido de meter os {} em cada uma das tabelas Edited October 17, 2017 by Mário. 1 Link to post Share on other sites
MÓJÓ 63 Posted October 17, 2017 Author Share Posted October 17, 2017 Mário muito obrigado uma vez mais , mais logo já instalo isto e dou te feedback. cumprimentos Link to post Share on other sites
MÓJÓ 63 Posted October 17, 2017 Author Share Posted October 17, 2017 quest feitico begin state start begin when 20008.take begin if pc.get_count(71085) >= 200 then pc.remove_item(71085,200) pc.give_item2(71084,20) else if pc.get_count(27990) >= 250 then pc.remove_item(27990,250) pc.give_item2(27992,1) else if pc.get_count(27990) >= 200 then pc.remove_item(27990,200) pc.give_item2(27993,1) else if pc.get_count(27990) >= 150 then pc.remove_item(27990,150) pc.give_item2(27994,1) else if pc.get_count(50300) >= 5 then pc.remove_item(50300,5) pc.give_item2(50300,1) else say("Não tens items suficientes, queres enganar o Otávio?.") end end end Mário depois de ver o teu post não aguentei o bixinho e tive que ir tentar e então passei horas nisto a queimar a cabecinha fiz a quest da informaçao no npc funcionou bem ai fiquei logo esperançado q ia correr tudo bem , e acontece- me isso q ai vez quando instalo esta , que mal fiz eu a deus ,que é que achas q eu ai pus mal ? ela está como o exemplo q me postas te em cima ate fiz o upload da quest . abraço e mais uma vez obrigado QUEST : feitico STATE : start WHEN : 20008.take Killed Hidden Content Give reaction or reply to this topic to see the hidden content. Link to post Share on other sites
Mário. 194 Posted October 17, 2017 Share Posted October 17, 2017 (edited) Faltou-te demasiado ends no final, de forma a poderes fechar cada uma delas Deixo-te aqui já feita e organizada, só precisas de instalar: Hidden Content Give reaction or reply to this topic to see the hidden content. Edited October 17, 2017 by Mário. 1 Link to post Share on other sites
MÓJÓ 63 Posted October 17, 2017 Author Share Posted October 17, 2017 o end eu depois ainda pus mas deu me erro na mesma ja vi e que acrescentaste onde eu tinha else por else if vou instalar digo te já algo .Não tenho palavras para ti .Um muito obrigado sentido Link to post Share on other sites
MÓJÓ 63 Posted October 17, 2017 Author Share Posted October 17, 2017 [email protected]:/usr/home/srv1/share/locale/germany/quest # ./qc feitico.quest QUEST : feitico STATE : start WHEN : 20008.take Calls undeclared function! : pc.get_count diz me isso exactamente como ai está , aliás já esse pc.get_count me tinha dado erro na outra quest das tabelas que eu ainda cheguei a por essa tb , é uma quest tão fixe que tenho pena de não conseguir por aqui . Obrigado uma vez mais mário Link to post Share on other sites
[Admin] tierrilopes 3223 Posted October 17, 2017 Share Posted October 17, 2017 no meu game chama-se pc.get_count, no original chama-se pc.count_item 1 Link to post Share on other sites
MÓJÓ 63 Posted October 17, 2017 Author Share Posted October 17, 2017 vou já ver isso , eu não entendo ainda muito disto como dá para ver mas tenho muito gosto no que estou a fazer e como tal tenho queimado muito a cabeça com isto , agradeço muito aos dois a ajuda que me em dado e desculpem se vos tenho chateado . muito obrigado mesmo Link to post Share on other sites
MÓJÓ 63 Posted October 17, 2017 Author Share Posted October 17, 2017 Era isso mesmo , já está a bombar , muito obrigado aos dois , como é que uma cena pequena dava cabo disto mas assim já sei Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now