Postado Agosto 25, 2014 10 anos Olá , Gostaria de uma ajuda para entender melhor como funciona está script e como fazê-la funcionar.O objetivo é o seguinte :Fazer o NPC vender o item X por Y quantidade de diamantes.Eu procurei alguns outros tópicos de scripts que fazem o Npc trocar o item X pelo item Y da quantidade que foi determinada na script , porém , tive problemas.A script que eu utilizei como base foi esta do tópico abaixo :http://www.tibiaking.com/forum/topic/35955-pedido-npc-trocando-items/PS : Não sei se o caso de ter alterado o nome do npc fez que ela não funcionasse. [Alterei tanto no XML como no LUA dos respectivos arquivos.]O problema :O Npc não responde quando eu digo Hi/Oi/OláSegue abaixo as scripts depois de editadas por mim : XML <?xml version="1.0"?> <npc name="Diamond Trader" script="data/npc/scripts/diamondtrader.lua" access="5" lookdir="2" walkinterval="0"> <health now="200" max="200" /> <look type="139" head="95" body="95" legs="95" feet="95" addons="3" /> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja trocar diamonds por itens ? Diga {items}." /> </parameters> </npc> LUA 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 -- STRIKE START -- function jestervip(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if getPlayerItemCount(cid,2145) >= 50 then if doPlayerRemoveItem(cid,2145,50) then npcHandler:say('Aqui esta seu item!', cid) doPlayerAddItem(cid,12153,1) end else npcHandler:say('Voce nao tem diamond suficiente!', cid) end end -- STRIKE END -- keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {bag of pollem} por diamonds."}) local node1 = keywordHandler:addKeyword({'bag of pollem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 diamonds por 1 bag of pollem?? Yes or no??'}) node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quiser negociar!', reset = true}) . Editado Agosto 26, 2014 10 anos por Born Retarded (veja o histórico de edições)
Postado Agosto 28, 2014 10 anos Autor UP @PP Caso sejam necessárias ainda mais informações , podem perguntar.
Postado Agosto 28, 2014 10 anos O problema : O Npc não responde quando eu digo Hi/Oi/Olá XML <?xml version="1.0"?> <npc name="Diamond Trader" script="data/npc/scripts/diamondtrader.lua" access="5" lookdir="2" walkinterval="0"> <parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja trocar diamonds por itens ? Diga {items}." /> LUA keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {bag of pollem} por diamonds."}) local node1 = keywordHandler:addKeyword({'bag of pollem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 diamonds por 1 bag of pollem?? Yes or no??'}) node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quiser negociar!', reset = true}) . no lugar de XML <?xml version="1.0"?> <npc name="Diamond Trader" script="data/npc/scripts/diamondtrader.lua" access="5" lookdir="2" walkinterval="0"> <parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja trocar diamonds por itens ? Diga {items}." /> tente por XML <?xml version="1.0"?> <npc name="Diamond Trader" script="data/npc/scripts/diamondtrader.lua" access="1" lookdir="2" walkinterval="0"> <parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja trocar diamonds por itens ? Diga {items}." /> no lugar de LUA keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {bag of pollem} por diamonds."}) local node1 = keywordHandler:addKeyword({'bag of pollem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 diamonds por 1 bag of pollem?? Yes or no??'}) node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quiser negociar!', reset = true}) tente LUA keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {bag of pollem} por {diamonds."}) local node1 = keywordHandler:addKeyword({'bag of pollem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 diamonds por 1 bag of pollem?? {Yes} or {no} ??'}) node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quiser negociar!', reset = true}) Gente, não dou suporte via mp, caso queira ajuda crie um tópico no fórum!!! Ajudei? Clicar em gostar não vai te matar
Postado Agosto 28, 2014 10 anos Autor Os seguintes erros apareceram ao utilizar o comando /n dentro do jogo : [28/08/2014 03:00:05] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/Diamond Trader.xml). [28/08/2014 03:00:05] Info: failed to load external entity "data/npc/Diamond Trader.xml" [28/08/2014 03:00:14] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/diamondtrader.xml). [28/08/2014 03:00:14] Line: 3, Info: Premature end of data in tag npc line 2 [28/08/2014 03:05:07] [Error - Npc interface] [28/08/2014 03:05:07] data/npc/scripts/default.lua:onThink [28/08/2014 03:05:07] Description: [28/08/2014 03:05:07] Stack size changed! [28/08/2014 03:05:19] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/diamondtrader.xml). [28/08/2014 03:05:19] Line: 3, Info: Premature end of data in tag npc line 2 Editado Agosto 28, 2014 10 anos por Born Retarded (veja o histórico de edições)
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.