Bom galera tem muita gente que ainda não sabe usar os novos scripts
de barco pois não sabem mais adicionar as tags para fazer o com que o
barco leve a mais de 1 localidade.
Bom seus problemas acabaram posi eu estou aqui para ensinar um jeito
simples e facil de criar NPCs de Barco que levam a varias cidades.
Crie um arquivo chamado barco.lua e cole isto dentro dele:
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({'sograth'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Sograth Desert por 50 gold coins?'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 50, destination = {x=993, y=1290, z=6} })
travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Achou caro é?'})
keywordHandler:addKeyword({'travel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Eu posso te levar a Sograth e'}, enigma'})
-- Makes sure the npc reacts when you say hi, bye etc.
npcHandler:addModule(FocusModule:new())
Bom vamos começar a explicar:
Vermelho: é o nome da city que você quer que o NPC do abrco envie o player.
Laranja: é o que o npc irá perguntar a você qndo vc disser sograth.
Amarelo: é a frase que você precisa dizer para que o npc envie você para o lugar desejado.
Sublinhado em preto: esta é a parte em que você configura o preço e as coordenadas onde o player será enviado.
ex: premium = false (false = não precisa ser premium e true = precisa ser premium)
Level = 0 (level que o player precisa ter para poder navegar com o NPC.)
Cost = 50 (preço que será cobrado em gps que será cobrado para viajar)
Azul: é o que o player precisa dizer para que o npc não envie vocêpara o local que deseja.
Vermelho sublinhado: é o que o npc dira a você qndo você disser a frase em Azul.
Laranja sublinhado: é a frase que o player precisa dizer para que o npc diga as frases em Amarelo Sublinhado.
Amarelo Sublinhado: bom aqui é a frase que o npc dirá a você qndo vc disse a frase laranja. ex: qndo vc disser travel o npc respondera Eu posso te levar a Sograth e Enigma.
Bom ali em cima ja está tudo explicado agora vamos a adição de tags com o sistema mais antigo de npcs precisva ficar adicionando os comando else para adicionar mais lugares para ser enviado com este basta adicionar está tag:
local travelNode = keywordHandler:addKeyword({'nome da city'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'mensagem que o npc dirá qndo o player disser nome da city'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = precisa ou não de premium, level = level necessário para navegar, cost = preço, destination = {x=cordenadx, y=cordenaday, z=cordenadaz} })
travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'mensagem que o npc dirá qndo ouvir no'})
em baixo desta tag aqui:
travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Achou caro é?'})
e pronto adicione esta tag qntas vezes quiser mude as coordenadas e os nomes que os players dirão para cada city e pronto seu npc de barco está pronto.
Agora vamos aprender a criar o NPC do barco:
<npc name="Capitao Jack Sparrow" script="data/npc/scripts/barcoenigma.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="134" head="79" body="128" legs="114" feet="0" addons="3"/>
<parameters>
</parameters>
</npc>
Vermelho: este aqui é o nome do NPC mude a seu gosto.
Amarelo: mude de acordo com o local onde coê pois o script.
Preto: nome do script ex:barco.lua
Azul: o outifit do npc (a roupinha q ele usa)
Créditos: Markimbozi