travelnpc.xml
<?xml version="1.0"?>
<npc name="Travel NPC" script="data/npc/scripts/travelnpc.lua" walkinterval="1000" floorchange="0">
<health now="100" max="100"/>
<look type="155" head="115" body="76" legs="76" feet="83" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Posso levar voce para {carlin} ou {thais}!" />
</parameters>
</npc>
travelnpc.lua
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
local a = {
levelcidade1 = 30, -- Level que necessita para ir na cidade 1
levelcidade2 = 60, -- Level que necessita para ir na cidade 2
itemcidade1 = 2392, -- Item que necessita para viajar para cidade 1
itemcidade2 = 2190, -- Item que necessita para viajar para cidade 2
goldcidade1 = 1000, -- Gold que precisa para viajar para cidade 1
goldcidade2 = 2000, -- Gold que precisa para viajar para cidade 2
poscidade1 = {x = 168, y = 57, z = 7}, -- Posição da cidade 1
poscidade2 = {x = 168, y = 58, z = 7}, -- Posição da cidade 2
}
if msgcontains(msg, 'carlin') then
if getPlayerItemCount(cid, a.itemcidade1) >= 1 then
if getPlayerLevel(cid) >= a.levelcidade1 then
if getPlayerMoney(cid) >= a.goldcidade1 then
doTeleportThing(cid, a.poscidade1)
doPlayerRemoveMoney(cid, a.goldcidade1)
selfSay('Você foi teleportado para carlin!', cid)
else
selfSay('Você precisa de '..a.goldcidade1..' gold coins para viajar para {carlin}.', cid)
end
else
selfSay('Você precisa ser '..a.levelcidade1..' para viajar para {carlin}.', cid)
end
else
selfSay('Você precisa de uma '..getItemNameById(a.itemcidade1)..' para ir até {carlin}!', cid)
end
end
if msgcontains(msg, 'thais') then
if getPlayerItemCount(cid, a.itemcidade2) >= 1 then
if getPlayerLevel(cid) >= a.levelcidade2 then
if getPlayerMoney(cid) >= a.goldcidade2 then
doTeleportThing(cid, a.poscidade2)
doPlayerRemoveMoney(cid, a.goldcidade2)
selfSay('Você foi teleportado para thais!', cid)
else
selfSay('Você precisa de '..a.goldcidade2..' gold coins para viajar para {thais}.', cid)
end
else
selfSay('Você precisa ser '..a.levelcidade2..' para viajar para {thais}.', cid)
end
else
selfSay('Você precisa de uma '..getItemNameById(a.itemcidade2)..' para ir até {thais}!', cid)
end
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Eu testei e funcionou, caso algum erro basta avisar 
RIP AnneMotta 21/01/2012 - 15/01/2014
Liga das lendas: RUSHEI B1 DE AWP
†
