Horktan 0 Postado Novembro 4, 2013 Share Postado Novembro 4, 2013 Galera, preciso de um npc de troca: Trocaria item id "x" por 25 item id "x". Similar ao Npc Mark mas por um motivo dessa forma não deu Certo. Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Novembro 4, 2013 Share Postado Novembro 4, 2013 (editado) Seria, simplesmente, um NPC que retira um único item x do player e adiciona 25 de outro item? Ou nesse NPC teria vários outros items, sendo uma espécie de Mark? Estou indo para o curso de inglês agora, na volta, se ninguém tiver te ajudado ainda, tentarei fazer o NPC para você. Editado Novembro 4, 2013 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
Horktan 0 Postado Novembro 4, 2013 Autor Share Postado Novembro 4, 2013 Zipter, seria apenas 1 item por 25 itens.No caso seria uma unidade monetária por outra unidade monetária. o Npc seria exclusivo para apenas essa função Link para o comentário Compartilhar em outros sites More sharing options...
akumah 34 Postado Novembro 4, 2013 Share Postado Novembro 4, 2013 (editado) o .lua do npc (troque onde está 'itemId1 = ????' e 'itemId2 = ????', as interrogações pelo id dos itens, sendo o 1 o item que precisa de 25, e o 2 o item que irá ganhar.) local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid ---------- MSGs ---------- local itemId1 = ???? local itemId2 = ???? if msgcontains(msg, 'trade coin') then selfSay("Do you want to trade 25 "..getItemInfo(itemId1).plural.." for only one "..getItemInfo(itemId2).name.."?", cid) talkState[talkUser] = 3 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 3 then if doPlayerRemoveItem(cid, itemId1, 25) then selfSay("Very well! Take this "..getItemInfo(itemId2).name.." then.", cid) doPlayerAddItem(cid, itemId2, 1) else selfSay("You don't have 25 "..getItemInfo(itemId1).plural.."!.", cid) end talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) O xml coloque como quiser, mas basicamente é isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="NPC de Troca" script="npcdetroca.lua" walkinterval="350000" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="510" head="91" body="114" legs="86" feet="0"/> <parameters> <parameter key="message_greet" value="Hello dear customer! Do you want to trade some coins?"/> <parameter key="message_farewell" value="Good bye to you!"/> <parameter key="message_idletimeout" value="Bye bye!"/> <parameter key="message_walkaway" value="Oh, good bye then!"/> </parameters> </npc> Editado Novembro 4, 2013 por Akumah Link para o comentário Compartilhar em outros sites More sharing options...
Gabrieltxu 737 Postado Novembro 12, 2013 Share Postado Novembro 12, 2013 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 21, 2018 Share Postado Abril 21, 2018 A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta. + Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda. * Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados