Ludymila 0 Postado Julho 5, 2009 Share Postado Julho 5, 2009 Bom, O fato é. Um npc que voce fale, ele te fassa uma pergunta. e a partir dessa pergunta ele te leva pra um lugar. Pensei: So pergar um npc de barco, como o capitao coruja e edita-lo. O que eu fiz: Editei o arquivo xml, mudei a msg que ele fala os nomes das cidades e talz, e botei minha pergunta. e onde tinha as cidades, que ficam em negrito( e no arquivo entre parentese) botei as alternativas de resposta. Ate ai tudo bem, quando falo com ele, ele fala exatamente o que eu botei pra falar. O problema: no .lua do npc. onde tinha as cidades, eu mudei para o uma das resposta e mudei o local de ele ir. o x y z. local travelNode = keywordHandler:addKeyword({'Verdade'}, ..... por exemplo, ai onde esta verdade. estava yalahar. e o xyz de yalar depois. eu tirei yalhar. botei uma resposta para minha pergunta. e botei a direçao q eu queria que fosse. A questao: quando falo pro npc. a palavra Verdade, simplesmente ele nao me responde nada ..... sera que alguem pode me ajudar ? acho que eh uma coisa bem simples, mas é a primeira vez que estou mechendo com essas coisas. Bom. se alguem poder me ajudar, irei ficar muito feliz Obraços. Link para o comentário Compartilhar em outros sites More sharing options...
delton 6 Postado Julho 5, 2009 Share Postado Julho 5, 2009 Manda o script inteiro, só assim poderei intender =OO Delton~~ Link para o comentário Compartilhar em outros sites More sharing options...
Ludymila 0 Postado Julho 6, 2009 Autor Share Postado Julho 6, 2009 Manda o script inteiro, só assim poderei intender =OO Delton~~ O xml original é este <npc name="Izac" script="data/npc/scripts/izac.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. ! Eu posso te levar voando para {infernium}, {flam}, {saari}, {mirand theraan}, {mistyc} e {dorion}. Para onde deseja voar?" /> <parameter key="message_decline" value="Vai custar |TOTALCOST| gold coins. Vai viajar?"/> </parameters> </npc> O Lua original é este local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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 -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'infernium'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer voar para Infernium por 50 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 2, cost = 50, destination = {x=237, y=259, z=8} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Eu posso te levar para {dorion}, {Yalahar}, {Alfon}, {venonh} e {Anknor} por um pequeno custo.'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'dorion'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer voar para Dorion por 110 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 2, cost = 110, destination = {x=18, y=80, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to \'dorion\' for just a small fee.'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'flam'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer voar para flam por 115 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 2, cost = 115, destination = {x=266, y=32, z=5} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to \'Alfon\' for just a small fee.'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'saari'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer voar para saari por 100 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 2, cost = 100, destination = {x=251, y=114, z=5} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to \'venohn\' for just a small fee.'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'mirand theraan'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer voar para mirand theraan por 175 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 2, cost = 175, destination = {x=289, y=192, z=7} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to \'Anknor\' for just a small fee.'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'mistyc'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer voar para mystic por 100 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 2, cost = 100, destination = {x=455, y=127, z=7} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to \'anknor\' for just a small fee.'}) -- Makes sure the npc reacts when you say hi, bye etc. npcHandler:addModule(FocusModule:new()) O que eu fiz ta dito no começo do topico, se nao entendeu fala q eu tento explicar melhor... mas é simples. peguei por base esse npc, prafazer um "npc quest" onde ele falaria uma pergunta... e daria 3 alternativas por exemplo. e cada uma dessas alternativas, levaria para algum lugar Link para o comentário Compartilhar em outros sites More sharing options...
satan666 12 Postado Julho 6, 2009 Share Postado Julho 6, 2009 (editado) voce adicionou o "verdade" na função errada. local travelNode = keywordHandler:addKeyword({'Verdade'}, ..... por exemplo, ai onde esta verdade. estava yalahar. e o xyz de yalar depois. eu tirei yalhar. botei uma resposta para minha pergunta. e botei a direçao q eu queria que fosse. ele estando nesse local ele iria fazer outra pergunta confirmando a viajam ao "verdade" e no seu exemplo {'Verdade'} a letra "V" esta em maiusculo o que seria melhor por em minusculo. voce deveria ter posto a pergunta nessa função e dado a resposta nessa outra tag travelNode:addChildKeyword({'verdade'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 2, cost = 50, destination = {x=237, y=259, z=8} }) ele faria a pergunta se caso fosse respondido verdade mandaria pra tal local. edit: seção errada vo reporta pra moverem pra seção correta. Editado Julho 6, 2009 por Marcryzius Link para o comentário Compartilhar em outros sites More sharing options...
Merchant 0 Postado Julho 6, 2009 Share Postado Julho 6, 2009 Seção incorreta brother, estarei movendo para a seção destinada. Abraços Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados