Postado Novembro 26, 2013 11 anos No caso da, se desejar me passe porque eu ja coloco no script! Eu fiz aqui rapidinho, no caso serve para apenas um item mais pode facilmente ser modificado para colocar quantos quiser. Eu fiz como eu imaginei que seria melhor, esta totalmente em português, e caso queira editar as mensagens ou item e id fique a vontade. Caso precise de suporte apenas poste aqui que acompanharei o post ate ser fechado. Vai na pasta data/npc e cria um arquivo chamado changer.xml e coloca isso dentro: <npc name="Nome que voce deseja" script="data/npc/scripts/changer.lua" access="5" lookdir="1"> <health now="1000" max="1000"/> <look type="133" head="95" body="86" legs="86" feet="38" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu posso trocar o seu ferro por uma espada apenas digite 'troca1' ." /> <parameter key="message_alreadyfocused" value="Senhor ? Nao vai falar nada ?" /> <parameter key="message_farewell" value="Adeus. Volte novamente." /> <parameter key="message_walkaway" value="Adeus. Volte novamente." /> </parameters> </npc> Apenas edite o nome do npc na primeira linha e as mensagens da forma que desejar. Agora vá na pasta data/npc/scripts e crie um arquivo chamado changer.lua e coloque isto dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 rechargeFirewalker(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if getPlayerItemCount(cid,6567) >= 100 then doPlayerRemoveItem(cid, 6567, 100) doPlayerAddItem(cid, 12415, 1) npcHandler:say("Aqui esta sua Espada conforme prometido!", cid) else npcHandler:say("Voce nao tem a quantidade de ferro nescessario.", cid) end keywordHandler:moveUp(1) return true end local node1 = keywordHandler:addKeyword({'troca1'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce deseja trocar 100 ferros por uma espada?'}) node1:addChildKeyword({'sim'}, rechargeferro, {blessing = 1}) node1:addChildKeyword({'nao'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Volte quando quiser trocar.'}) npcHandler:addModule(FocusModule:new()) E isto faz a troca conforme você pediu. No caso o player vai falar "Hi", o npc vai enviar uma mensagem respondendo o que ele faz e o que o player deve falar. O player apos isso digita "troca1" e o npc ira falar, "Voce deseja trocar 100 ferros por uma espada?". Caso ele responda sim e tiver os 100 ferro o npc agradecera e trocara o itens, caso não tenha a quantidade certa o npc alertara o player que não tem o suficiente de ferro e caso o player fale não, ele fala para o player voltar quando desejar e finaliza conversa. Eu deixei como troca1 a segunda fala pelo fato de voce poder adicionar mais itens e colocar troca2, troca3. Caso ajudei de +Rep Editado Novembro 26, 2013 11 anos por thiago270 (veja o histórico de edições)
Postado Novembro 26, 2013 11 anos Caso desejar eu faço com os outros itens, mas editei a minha ultima postagem já com o código vendendo o item que desejou. Qualquer duvida poste aqui..
Postado Novembro 26, 2013 11 anos Tem certeza que coloco todos nomes corretamente, e nas pastas corretas ? Este erro quer dizer que não encontro o arquivo changer.lua dentro da pasta data/npc/scripts.
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.