• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

7.4/7.6 RealMap (not ready to run) (need edits before run) Happy New 2019

dont listen to him there is no backdoor in these files he is just bluffing because he does not want to see anyone learning successing these files taught me a lot.
if you want there is my newest .exe that is pretty much the perfect thing with working fields etc :)
file size is only 2kb bigger therefore there is no way i could fit keylogger or anything else in here but im posting a scan:

enjoy your fully working server ! and goodluck fixing actions and quests people :)
~Canine Otland where Open Tibia is actually Open.
I don't care about these files, it's just unfair to release them here for those who paid for them. Did you check the source and NPC's clearly? :)
 
everything is working lessthe "bring me to" xxx(ex: carlin,thais,)
can someone fix bring me to in boats please? that part is not working
 
Of course not, these were made by me but I wouldn't recommend to use those files unless you spoke with me about publishing. These files have a backdoor to avoid sharing through any forum without my permission.

PS: Those files are way older than 5 years and were totally outdated. I meanwhile already had another project I've started to work on but stopped later again.
You are even more of a scumbag than I ever though.

So you make a backdoor to the server, and sell it..
And then claim it's for "nobody should use my files without my consent".. but... YOU sold the server.. what the buyer does with the server after that is UP TO HIM, He bought it.

OR did you think you'd be able to run a damn cracker factory with your server and sell thousands of them?

Just one word for you.. You f****d up scamming douche bag!
 
You are even more of a scumbag than I ever though.

So you make a backdoor to the server, and sell it..
And then claim it's for "nobody should use my files without my consent".. but... YOU sold the server.. what the buyer does with the server after that is UP TO HIM, He bought it.

OR did you think you'd be able to run a damn cracker factory with your server and sell thousands of them?

Just one word for you.. You f****d up scamming douche bag!

35009
 
bring me to xxx code in boats npcs is not working maybe cause some files are missing in the libs folder maybe in items111.lua or global.lua inside lib folder, would you release the code to make it work please? im just using the npcs from the datapack nothing else
I wouldnt recommend to use them, but if you want to, check sell / buy prices from Sam in thais and several buyer npcs from venore, i do not have any files of this datapack anymore, sorry.
 
Hello everyone and happy 2019 to everyone
Today i want to share some files i bought from a guy some years ago
remember this files are not 100% done and not ready to run you should take a look before planing to advertise the server.

why do i share those files? i don't see the point of taking money from someone with files that are not done.
i share the files with the community to let more people try run their own servers.
maybe someone that have time to fix the files and bugs will success
Take care guys
Kindly Regards Piraten :)
I Don't Take Credits for the files

  • Custom City vangloria
  • Guild Wars
  • Party Share Experience (25% bonus experience)
  • No Protection Zones on Boats, Runes from NPC (1x charged)
  • All 7.4 features!
  • Blessing System
  • PoI Dragon Lords and Quest are added to the game (Soft boots can be obtained there)
  • Runes are double charged. You can leave your blank runes in your backpack while conjuring.
  • Loot message [optional]
  • Task System on & off
  • Remember there could be more futures that i don't know on this server
Thanks for sharing this to the community!
 
well the best feature in this datapack are the npcs, that have their real converasations im using them with my otx engine and they are working pretty good the only issues were related to banker npcs and few boats / capet ones but i replaced them and everything is working pretty good

thanks for share it with us
 
everything is working lessthe "bring me to" xxx(ex: carlin,thais,)
can someone fix bring me to in boats please? that part is not working

LUA:
dofile(getDataDir() .. 'global/greeting.lua')


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

function greetCallback(cid)
    if getPlayerSex(cid) == 1 then
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Sir ".. getPlayerName(cid) ..".")
    return true
    else
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Madam ".. getPlayerName(cid) ..".")
    return true
    end   
end   
npcHandler:setCallback(CALLBACK_GREET, greetCallback)

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
 

keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "My name is Captain Bluebear from the Royal Tibia Line."})
keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'ship'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'line'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'company'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'route'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'tibia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'good'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We can transport everything you want."})
keywordHandler:addKeyword({'passenger'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We would like to welcome you on board."})
keywordHandler:addKeyword({'trip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Carlin, Ab'Dendriel, Venore, Port Hope or Edron?"})
keywordHandler:addKeyword({'passage'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Carlin, Ab'Dendriel, Venore, Port Hope or Edron?"})
keywordHandler:addKeyword({'town'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Carlin, Ab'Dendriel, Venore, Port Hope or Edron?"})
keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Carlin, Ab'Dendriel, Venore, Port Hope or Edron?"})
keywordHandler:addKeyword({'sail'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Carlin, Ab'Dendriel, Venore, Port Hope or Edron?"})
keywordHandler:addKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Carlin, Ab'Dendriel, Venore, Port Hope or Edron?"})
keywordHandler:addKeyword({'ice'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'senja'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'folda'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'vega'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'darashia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm not sailing there. This route is afflicted by a ghostship! However I've heard that Captain Fearless from Venore sails there."})
keywordHandler:addKeyword({'darama'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm not sailing there. This route is afflicted by a ghostship! However I've heard that Captain Fearless from Venore sails there."})
keywordHandler:addKeyword({'ghost'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Many people who sailed to Darashia never returned because they were attacked by a ghostship! I'll never sail there!"})
keywordHandler:addKeyword({'thais'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "This is Thais. Where do you want to go?"})


function creatureSayCallback(cid, type, msg) msg = string.lower(msg)
pos = getPlayerPosition(cid)
    
    if(npcHandler.busyState ~= 0) and (npcHandler.focus ~= cid) then
        --Travel in hurry--
        if msgcontains(msg, "bring me to carlin") then
            CapBluebearbcprice = 110
            CapBluebearbcdestination = Boatcarlin
            bcname = "Carlin"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapBluebearbcprice) == TRUE then
                doTeleportThing(cid, CapBluebearbcdestination)
                doSendMagicEffect(CapBluebearbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to ab'dendriel") then
            CapBluebearbcprice = 130
            CapBluebearbcdestination = Boatabdendriel
            bcname = "Ab'Dendriel"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapBluebearbcprice) == TRUE then
                doTeleportThing(cid, CapBluebearbcdestination)
                doSendMagicEffect(CapBluebearbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to edron") then
            CapBluebearbcprice = 160
            CapBluebearbcdestination = Boatedron
            bcname = "Edron"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapBluebearbcprice) == TRUE then
                doTeleportThing(cid, CapBluebearbcdestination)
                doSendMagicEffect(CapBluebearbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to venore") then
            CapBluebearbcprice = 170
            CapBluebearbcdestination = Boatvenore
            bcname = "Venore"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapBluebearbcprice) == TRUE then
                doTeleportThing(cid, CapBluebearbcdestination)
                doSendMagicEffect(CapBluebearbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end   
        elseif msgcontains(msg, "bring me to port hope") then
            CapBluebearbcprice = 160
            CapBluebearbcdestination = Boatporthope
            bcname = "Port Hope"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapBluebearbcprice) == TRUE then
                doTeleportThing(cid, CapBluebearbcdestination)
                doSendMagicEffect(CapBluebearbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        end
        --End of Travel in hurry--
    end
    
    if(npcHandler.focus ~= cid) then
        return false
    end
    
--Give Destination--
if msgcontains(msg, 'carlin') and npcHandler.focus == cid then
    CapBluebearbcprice = 110
    CapBluebearbcdestination = Boatcarlin
    bcname = "Carlin"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapBluebearbcprice .." gold?", 1)
    TalkState(cid, 94995)

elseif msgcontains(msg, "ab'dendriel") and npcHandler.focus == cid then
    CapBluebearbcprice = 130
    CapBluebearbcdestination = Boatabdendriel
    bcname = "Ab'Dendriel"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapBluebearbcprice .." gold?", 1)
    TalkState(cid, 94994)

elseif msgcontains(msg, "edron") and npcHandler.focus == cid then
    CapBluebearbcprice = 160
    CapBluebearbcdestination = Boatedron
    bcname = "Edron"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapBluebearbcprice .." gold?", 1)
    TalkState(cid, 94994)
    
elseif msgcontains(msg, "venore") and npcHandler.focus == cid then
    CapBluebearbcprice = 170
    CapBluebearbcdestination = Boatvenore
    bcname = "venore"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapBluebearbcprice .." gold?", 1)
    TalkState(cid, 94994)
    
elseif msgcontains(msg, "port hope") and npcHandler.focus == cid then
    CapBluebearbcprice = 160
    CapBluebearbcdestination = Boatporthope
    bcname = "port hope"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapBluebearbcprice .." gold?", 1)
    TalkState(cid, 94994)
--End of Give Destination--
    

    
    
--System that does the job after confirm destination--
elseif GetTalkState(cid) == 94994 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    if (getTilePzInfo(pos) == FALSE) then
        if doPlayerRemoveMoney(cid, CapBluebearbcprice) == TRUE then
        doTeleportThing(cid, CapBluebearbcdestination)
        doSendMagicEffect(CapBluebearbcdestination, 10)
        npcHandler:say("Set the sails!", 1)
        TalkState(cid, 0)
        else
        npcHandler:say("You don't have enough money.", 1)
        TalkState(cid, 0)
        end
    else
    npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
    TalkState(cid, 0)   
    end
    
elseif GetTalkState(cid) == 94995 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    if (getTilePzInfo(pos) == FALSE) then
        if doPlayerRemoveMoney(cid, CapBluebearbcprice) == TRUE then
        doTeleportThing(cid, CapBluebearbcdestination)
        doSendMagicEffect(CapBluebearbcdestination, 10)
        if(getPlayerStorageValue(cid, 250) == 1 and getPlayerStorageValue(cid, 251) <= 1) then
        setPlayerStorageValue(cid, 251, 1)
        end
        npcHandler:say("Set the sails!", 1)
        TalkState(cid, 0)
        else
        npcHandler:say("You don't have enough money.", 1)
        TalkState(cid, 0)
        end
    else
    npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
    TalkState(cid, 0)   
    end
--End of the System that does the job after confirm destination--
    
    
end       
    return 1
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Captain bluebear
 
carlin:
captain greyhound
LUA:
dofile(getDataDir() .. 'global/greeting.lua')

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

function greetCallback(cid)
    if getPlayerSex(cid) == 1 then
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Sir ".. getPlayerName(cid) ..".")
    return true
    else
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Madam ".. getPlayerName(cid) ..".")
    return true
    end   
end   
npcHandler:setCallback(CALLBACK_GREET, greetCallback)

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
 

keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "My name is Captain Greyhound from the Royal Tibia Line."})
keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'ship'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'line'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'company'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'route'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'tibia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'good'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We can transport everything you want."})
keywordHandler:addKeyword({'passanger'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We would like to welcome you on board."})
keywordHandler:addKeyword({'trip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Ab'Dendriel, Venore or Edron?"})
keywordHandler:addKeyword({'passage'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Ab'Dendriel, Venore or Edron?"})
keywordHandler:addKeyword({'town'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Ab'Dendriel, Venore or Edron?"})
keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Ab'Dendriel, Venore or Edron?"})
keywordHandler:addKeyword({'sail'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Ab'Dendriel, Venore or Edron?"})
keywordHandler:addKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Ab'Dendriel, Venore or Edron?"})
keywordHandler:addKeyword({'ice'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'senja'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'folda'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'vega'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'darashia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm not sailing there. This route is afflicted by a ghost ship! However I've heard that Captain Fearless from Venore sails there."})
keywordHandler:addKeyword({'darama'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm not sailing there. This route is afflicted by a ghost ship! However I've heard that Captain Fearless from Venore sails there."})
keywordHandler:addKeyword({'ghost'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Many people who sailed to Darashia never returned because they were attacked by a ghostship! I'll never sail there!"})
keywordHandler:addKeyword({'carlin'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "This is Carlin. Where do you want to go?"})

function creatureSayCallback(cid, type, msg) msg = string.lower(msg)
pos = getPlayerPosition(cid)
    if(npcHandler.busyState ~= 0) and (npcHandler.focus ~= cid) then
        --Travel in hurry--
        if msgcontains(msg, "bring me to thais") then
            CapGreyhoundbcprice = 110
            CapGreyhoundbcdestination = Boatthais
            bcname = "Thais"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapGreyhoundbcprice) == TRUE then
                doTeleportThing(cid, CapGreyhoundbcdestination)
                doSendMagicEffect(CapGreyhoundbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to ab'dendriel") then
            CapGreyhoundbcprice = 80
            CapGreyhoundbcdestination = Boatabdendriel
            bcname = "Ab'Dendriel"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapGreyhoundbcprice) == TRUE then
                doTeleportThing(cid, CapGreyhoundbcdestination)
                doSendMagicEffect(CapGreyhoundbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end   
        elseif msgcontains(msg, "bring me to edron") then
            CapGreyhoundbcprice = 110
            CapGreyhoundbcdestination = Boatedron
            bcname = "Edron"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapGreyhoundbcprice) == TRUE then
                doTeleportThing(cid, CapGreyhoundbcdestination)
                doSendMagicEffect(CapGreyhoundbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end       
        elseif msgcontains(msg, "bring me to venore") then
            CapGreyhoundbcprice = 130
            CapGreyhoundbcdestination = Boatvenore
            bcname = "venore"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapGreyhoundbcprice) == TRUE then
                doTeleportThing(cid, CapGreyhoundbcdestination)
                doSendMagicEffect(CapGreyhoundbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end   
        --End of Travel in hurry--
        end
    end
    
    if(npcHandler.focus ~= cid) then
        return false
    end
    
--Give Destination--
if msgcontains(msg, 'thais') and npcHandler.focus == cid then
    CapGreyhoundbcprice = 110
    CapGreyhoundbcdestination = Boatthais
    bcname = "Thais"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapGreyhoundbcprice .." gold?", 1)
    TalkState(cid, 94986)
    
elseif msgcontains(msg, "ab'dendriel") and npcHandler.focus == cid then
    CapGreyhoundbcprice = 80
    CapGreyhoundbcdestination = Boatabdendriel
    bcname = "Ab'Dendriel"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapGreyhoundbcprice .." gold?", 1)
    TalkState(cid, 94986)

elseif msgcontains(msg, "edron") and npcHandler.focus == cid then
    CapGreyhoundbcprice = 110
    CapGreyhoundbcdestination = Boatedron
    bcname = "Edron"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapGreyhoundbcprice .." gold?", 1)
    TalkState(cid, 94986)
    
elseif msgcontains(msg, "venore") and npcHandler.focus == cid then
    CapGreyhoundbcprice = 130
    CapGreyhoundbcdestination = Boatvenore
    bcname = "Venore"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapGreyhoundbcprice .." gold?", 1)
    TalkState(cid, 94986)

--End of Give Destination--
    

    
    
--System that does the job after confirm destination--
elseif GetTalkState(cid) == 94986 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    if (getTilePzInfo(pos) == FALSE) then
        if doPlayerRemoveMoney(cid, CapGreyhoundbcprice) == TRUE then
        doTeleportThing(cid, CapGreyhoundbcdestination)
        doSendMagicEffect(CapGreyhoundbcdestination, 10)
        npcHandler:say("Set the sails!", 1)
        TalkState(cid, 0)
        else
        npcHandler:say("You don't have enough money.", 1)
        TalkState(cid, 0)
        end
    else
    npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
    TalkState(cid, 0)   
    end
--End of the System that does the job after confirm destination--
    
    
end       
    return 1
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
captain fearless:

LUA:
dofile(getDataDir() .. 'global/greeting.lua')

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

function greetCallback(cid)
    if getPlayerSex(cid) == 1 then
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Sir ".. getPlayerName(cid) ..".")
    return true
    else
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Madam ".. getPlayerName(cid) ..".")
    return true
    end   
end   
npcHandler:setCallback(CALLBACK_GREET, greetCallback)

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
 

keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "My name is Captain Fearless from the Royal Tibia Line."})
keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'ship'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'line'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'company'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'route'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'tibia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'good'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We can transport everything you want."})
keywordHandler:addKeyword({'passanger'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We would like to welcome you on board."})
keywordHandler:addKeyword({'trip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Edron, Darashia, Port Hope or Ankrahmun?"})
keywordHandler:addKeyword({'passage'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Edron, Darashia, Port Hope or Ankrahmun?"})
keywordHandler:addKeyword({'town'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Edron, Darashia, Port Hope or Ankrahmun?"})
keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Edron, Darashia, Port Hope or Ankrahmun?"})
keywordHandler:addKeyword({'sail'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Edron, Darashia, Port Hope or Ankrahmun?"})
keywordHandler:addKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Edron, Darashia, Port Hope or Ankrahmun?"})
keywordHandler:addKeyword({'ice'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'senja'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'folda'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'vega'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'iceona'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'ghost'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "There's a legend of a ghostship cruising between Venore and Darashia. Many captains are afraid to sail this route. Hah, but not me!"})
keywordHandler:addKeyword({'venore'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "This is Venore. Where do you want to go?"})

function creatureSayCallback(cid, type, msg) msg = string.lower(msg)
pos = getPlayerPosition(cid)

    if(npcHandler.busyState ~= 0) and (npcHandler.focus ~= cid) then
        --Travel in hurry--
        if msgcontains(msg, "bring me to carlin") then
            CapFearlessbcprice = 110
            CapFearlessbcdestination = Boatcarlin
            bcname = "Carlin"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapFearlessbcprice) == TRUE then
                doTeleportThing(cid, CapFearlessbcdestination)
                doSendMagicEffect(CapFearlessbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to darashia") then
            CapFearlessbcprice = 60
            CapFearlessbcdestination = Boatdarashia
            bcname = "Darashia"
            npcHandler:say("I warn you! This route is haunted by a ghostship. Do you really want to go there?", 1)
            TalkState(cid, 9167)
            
        elseif msgcontains(msg, "bring me to thais") then
            CapFearlessbcprice = 170
            CapFearlessbcdestination = Boatthais
            bcname = "Thais"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapFearlessbcprice) == TRUE then
                doTeleportThing(cid, CapFearlessbcdestination)
                doSendMagicEffect(CapFearlessbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
            
        elseif msgcontains(msg, "bring me to ab'dendriel") then
            CapFearlessbcprice = 90
            CapFearlessbcdestination = Boatabdendriel
            bcname = "Ab'Dendriel"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapFearlessbcprice) == TRUE then
                doTeleportThing(cid, CapFearlessbcdestination)
                doSendMagicEffect(CapFearlessbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
            
        elseif msgcontains(msg, "bring me to edron") then
            CapFearlessbcprice = 40
            CapFearlessbcdestination = Boatedron
            bcname = "Edron"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapFearlessbcprice) == TRUE then
                doTeleportThing(cid, CapFearlessbcdestination)
                doSendMagicEffect(CapFearlessbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
            
        elseif msgcontains(msg, "bring me to ankrahmun") then
            CapFearlessbcprice = 150
            CapFearlessbcdestination = Boatankrahmun
            bcname = "Ankrahmun"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapFearlessbcprice) == TRUE then
                doTeleportThing(cid, CapFearlessbcdestination)
                doSendMagicEffect(CapFearlessbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to port hope") then
            CapFearlessbcprice = 160
            CapFearlessbcdestination = Boatporthope
            bcname = "Port Hope"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapFearlessbcprice) == TRUE then
                doTeleportThing(cid, CapFearlessbcdestination)
                doSendMagicEffect(CapFearlessbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        end
        --End of Travel in hurry--
    end
    if(npcHandler.focus ~= cid) then
        return false
    end
    
--Give Destination--
if msgcontains(msg, 'thais') and npcHandler.focus == cid then
    CapFearlessbcprice = 170
    CapFearlessbcdestination = Boatthais
    bcname = "Thais"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapFearlessbcprice .." gold?", 1)
    TalkState(cid, 94995)
    
elseif msgcontains(msg, 'carlin') and npcHandler.focus == cid then
    CapFearlessbcprice = 130
    CapFearlessbcdestination = Boatcarlin
    bcname = "Carlin"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapFearlessbcprice .." gold?", 1)
    TalkState(cid, 94995)

elseif msgcontains(msg, "ab'dendriel") and npcHandler.focus == cid then
    CapFearlessbcprice = 90
    CapFearlessbcdestination = Boatabdendriel
    bcname = "Ab'Dendriel"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapFearlessbcprice .." gold?", 1)
    TalkState(cid, 94995)
    
elseif msgcontains(msg, 'darashia') and npcHandler.focus == cid then
    CapFearlessbcprice = 60
    CapFearlessbcdestination = Boatdarashia
    bcname = "Darashia"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapFearlessbcprice .." gold?", 1)
    TalkState(cid, 9167)
    
elseif msgcontains(msg, 'edron') and npcHandler.focus == cid then
    CapFearlessbcprice = 40
    CapFearlessbcdestination = Boatedron
    bcname = "Edron"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapFearlessbcprice .." gold?", 1)
    TalkState(cid, 94995)

elseif msgcontains(msg, 'ankrahmun') and npcHandler.focus == cid then
    CapFearlessbcprice = 150
    CapFearlessbcdestination = Boatankrahmun
    bcname = "Ankrahmun"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapFearlessbcprice .." gold?", 1)
    TalkState(cid, 94995)
    
elseif msgcontains(msg, 'port hope') and npcHandler.focus == cid then
    CapFearlessbcprice = 160
    CapFearlessbcdestination = Boatporthope
    bcname = "Port Hope"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapFearlessbcprice .." gold?", 1)
    TalkState(cid, 94995)
    
elseif GetTalkState(cid) == 9167 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    CapFearlessbcprice = 60
    CapFearlessbcdestination = Boatdarashia
    bcname = "Darashia"
    npcHandler:say("I warn you! This route is haunted by a ghostship. Do you really want to go there?", 1)
    TalkState(cid, 9168)
    
--End of Give Destination--
    

    
    
--System that does the job after confirm destination--
elseif GetTalkState(cid) == 94995 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    if (getTilePzInfo(pos) == FALSE) then
        if doPlayerRemoveMoney(cid, CapFearlessbcprice) == TRUE then
        doTeleportThing(cid, CapFearlessbcdestination)
        doSendMagicEffect(CapFearlessbcdestination, 10)
        npcHandler:say("Set the sails!", 1)
        TalkState(cid, 0)
        else
        npcHandler:say("You don't have enough money.", 1)
        TalkState(cid, 0)
        end
    else
    npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
    TalkState(cid, 0)   
    end
--End of the System that does the job after confirm destination--
--Ghost Ship--
elseif GetTalkState(cid) == 9168 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    if (getTilePzInfo(pos) == FALSE) then
        if doPlayerRemoveMoney(cid, CapFearlessbcprice) == TRUE then
        CHANCERISK = math.random(1,10)
            if CHANCERISK == 1 then
            doTeleportThing(cid, Boatghostship)
            doSendMagicEffect(Boatghostship, 10)           
            else
            doTeleportThing(cid, Boatdarashia)
            doSendMagicEffect(Boatdarashia, 10)           
            end
        npcHandler:say("Set the sails!", 1)
        TalkState(cid, 0)
        else
        npcHandler:say("You don't have enough money.", 1)
        TalkState(cid, 0)
        end
    else
    npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
    TalkState(cid, 0)   
    end
------------
    
end       
    return 1
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
posts separated for readibility. its a forum admins please dont be douche's over some internet points and "peace" or something just accept it as is and chill its not 2002 we do not need to save DATA we have TERABYTES <3

captain seagull (AB):
LUA:
dofile(getDataDir() .. 'global/greeting.lua')

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

function greetCallback(cid)
    if getPlayerSex(cid) == 1 then
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Sir ".. getPlayerName(cid) ..".")
    return true
    else
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Madam ".. getPlayerName(cid) ..".")
    return true
    end   
end   
npcHandler:setCallback(CALLBACK_GREET, greetCallback)

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
 

keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "My name is Captain Seagull from the Royal Tibia Line."})
keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'ship'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'line'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'company'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'route'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'tibia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'good'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We can transport everything you want."})
keywordHandler:addKeyword({'passanger'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We would like to welcome you on board."})
keywordHandler:addKeyword({'trip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Venore or Edron?"})
keywordHandler:addKeyword({'passage'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Venore or Edron?"})
keywordHandler:addKeyword({'town'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Venore or Edron?"})
keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Venore or Edron?"})
keywordHandler:addKeyword({'sail'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Venore or Edron?"})
keywordHandler:addKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Venore or Edron?"})
keywordHandler:addKeyword({'ice'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'senja'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'folda'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'vega'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'ankrahmun'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve this route."})
keywordHandler:addKeyword({'tiquanda'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve this route."})
keywordHandler:addKeyword({'darashia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm not sailing there. This route is afflicted by a ghost ship! However I've heard that Captain Fearless from Venore sails there."})
keywordHandler:addKeyword({'darama'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm not sailing there. This route is afflicted by a ghost ship! However I've heard that Captain Fearless from Venore sails there."})
keywordHandler:addKeyword({'ghost'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Many people who sailed to Darashia never returned because they were attacked by a ghostship! I'll never sail there!"})

function creatureSayCallback(cid, type, msg) msg = string.lower(msg)
pos = getPlayerPosition(cid)
    if(npcHandler.busyState ~= 0) and (npcHandler.focus ~= cid) then
        --Travel in hurry--
        if msgcontains(msg, "bring me to thais") then
            nameCapSeagullbcprice = 130
            CapSeagullbcdestination = Boatthais
            CapSeagullbcname = "Thais"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, nameCapSeagullbcprice) == TRUE then
                doTeleportThing(cid, CapSeagullbcdestination)
                doSendMagicEffect(CapSeagullbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to carlin") then
            nameCapSeagullbcprice = 80
            CapSeagullbcdestination = Boatcarlin
            CapSeagullbcname = "Carlin"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, nameCapSeagullbcprice) == TRUE then
                doTeleportThing(cid, CapSeagullbcdestination)
                doSendMagicEffect(CapSeagullbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to edron") then
            nameCapSeagullbcprice = 70
            CapSeagullbcdestination = Boatedron
            CapSeagullbcname = "Edron"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, nameCapSeagullbcprice) == TRUE then
                doTeleportThing(cid, CapSeagullbcdestination)
                doSendMagicEffect(CapSeagullbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to venore") then
            nameCapSeagullbcprice = 90
            CapSeagullbcdestination = Boatvenore
            CapSeagullbcname = "Venore"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, nameCapSeagullbcprice) == TRUE then
                doTeleportThing(cid, CapSeagullbcdestination)
                doSendMagicEffect(CapSeagullbcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end   
        --End of Travel in hurry--
        end
    end
    if(npcHandler.focus ~= cid) then
        return false
    end
    
--Give Destination--
if msgcontains(msg, 'thais') and npcHandler.focus == cid then
    nameCapSeagullbcprice = 130
    CapSeagullbcdestination = Boatthais
    CapSeagullbcname = "Thais"
    npcHandler:say("Do you seek a passage to ".. CapSeagullbcname .." for ".. nameCapSeagullbcprice .." gold?", 1)
    TalkState(cid, 94984)
    
elseif msgcontains(msg, "carlin") and npcHandler.focus == cid then
    nameCapSeagullbcprice = 80
    CapSeagullbcdestination = Boatcarlin
    CapSeagullbcname = "Carlin"
    npcHandler:say("Do you seek a passage to ".. CapSeagullbcname .." for ".. nameCapSeagullbcprice .." gold?", 1)
    TalkState(cid, 94984)

elseif msgcontains(msg, "edron") and npcHandler.focus == cid then
    nameCapSeagullbcprice = 70
    CapSeagullbcdestination = Boatedron
    CapSeagullbcname = "Edron"
    npcHandler:say("Do you seek a passage to ".. CapSeagullbcname .." for ".. nameCapSeagullbcprice .." gold?", 1)
    TalkState(cid, 94984)

elseif msgcontains(msg, "venore") and npcHandler.focus == cid then
    nameCapSeagullbcprice = 90
    CapSeagullbcdestination = Boatvenore
    CapSeagullbcname = "Venore"
    npcHandler:say("Do you seek a passage to ".. CapSeagullbcname .." for ".. nameCapSeagullbcprice .." gold?", 1)
    TalkState(cid, 94984)
--End of Give Destination--
    

    
    
--System that does the job after confirm destination--
elseif GetTalkState(cid) == 94984 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    if (getTilePzInfo(pos) == FALSE) then
        if doPlayerRemoveMoney(cid, nameCapSeagullbcprice) == TRUE then
        doTeleportThing(cid, CapSeagullbcdestination)
        doSendMagicEffect(CapSeagullbcdestination, 10)
        npcHandler:say("Set the sails!", 1)
        TalkState(cid, 0)
        else
        npcHandler:say("You don't have enough money.", 1)
        TalkState(cid, 0)
        end
    else
    npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
    TalkState(cid, 0)   
    end
--End of the System that does the job after confirm destination--
    
    
end       
    return 1
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
captain seahorse:
LUA:
dofile(getDataDir() .. 'global/greeting.lua')

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

function greetCallback(cid)
    if getPlayerSex(cid) == 1 then
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Sir ".. getPlayerName(cid) ..".")
    return true
    else
    npcHandler:setMessage(MESSAGE_GREET, "Welcome on board, Madam ".. getPlayerName(cid) ..".")
    return true
    end   
end   
npcHandler:setCallback(CALLBACK_GREET, greetCallback)

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
 

keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "My name is Captain Seahorse from the Royal Tibia Line."})
keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am the captain of this sailing-ship."})
keywordHandler:addKeyword({'ship'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'line'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'company'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'route'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'tibia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The Royal Tibia Line connects all seaside towns of Tibia."})
keywordHandler:addKeyword({'good'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We can transport everything you want."})
keywordHandler:addKeyword({'passanger'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "We would like to welcome you on board."})
keywordHandler:addKeyword({'trip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Venore, Ankrahmun, Port Hope or the isle Cormaya?"})
keywordHandler:addKeyword({'passage'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Venore, Ankrahmun, Port Hope or the isle Cormaya?"})
keywordHandler:addKeyword({'town'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Venore, Ankrahmun, Port Hope or the isle Cormaya?"})
keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Venore, Ankrahmun, Port Hope or the isle Cormaya?"})
keywordHandler:addKeyword({'sail'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Venore, Ankrahmun, Port Hope or the isle Cormaya?"})
keywordHandler:addKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Where do you want to go? To Thais, Carlin, Ab'Dendriel, Venore, Ankrahmun, Port Hope or the isle Cormaya?"})
keywordHandler:addKeyword({'ice'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'senja'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'folda'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'vega'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorry, but we don't serve the routes to the Ice Islands."})
keywordHandler:addKeyword({'darashia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm not sailing there. This route is afflicted by a ghost ship! However I've heard that Captain Fearless from Venore sails there."})
keywordHandler:addKeyword({'darama'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm not sailing there. This route is afflicted by a ghost ship! However I've heard that Captain Fearless from Venore sails there."})
keywordHandler:addKeyword({'ghost'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Many people who sailed to Darashia never returned because they were attacked by a ghostship! I'll never sail there!"})
keywordHandler:addKeyword({'edron'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "This is Edron. Where do you want to go?"})

function creatureSayCallback(cid, type, msg) msg = string.lower(msg)
pos = getPlayerPosition(cid)
    if(npcHandler.busyState ~= 0) and (npcHandler.focus ~= cid) then
        --Travel in hurry--
        if msgcontains(msg, "bring me to carlin") then
            CapSeahorsebcprice = 110
            CapSeahorsebcdestination = Boatcarlin
            bcname = "Carlin"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
                doTeleportThing(cid, CapSeahorsebcdestination)
                doSendMagicEffect(CapSeahorsebcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to thais") then
            CapSeahorsebcprice = 160
            CapSeahorsebcdestination = Boatthais
            bcname = "Thais"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
                doTeleportThing(cid, CapSeahorsebcdestination)
                doSendMagicEffect(CapSeahorsebcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to ab'dendriel") then
            CapSeahorsebcprice = 70
            CapSeahorsebcdestination = Boatabdendriel
            bcname = "Ab'Dendriel"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
                doTeleportThing(cid, CapSeahorsebcdestination)
                doSendMagicEffect(CapSeahorsebcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to cormaya") then
            CapSeahorsebcprice = 20
            CapSeahorsebcdestination = Boatcormaya
            bcname = "Cormaya"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
                doTeleportThing(cid, CapSeahorsebcdestination)
                doSendMagicEffect(CapSeahorsebcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to venore") then
            CapSeahorsebcprice = 40
            CapSeahorsebcdestination = Boatvenore
            bcname = "Venore"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
                doTeleportThing(cid, CapSeahorsebcdestination)
                doSendMagicEffect(CapSeahorsebcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to ankrahmun") then
            CapSeahorsebcprice = 160
            CapSeahorsebcdestination = Boatankrahmun
            bcname = "Ankrahmun"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
                doTeleportThing(cid, CapSeahorsebcdestination)
                doSendMagicEffect(CapSeahorsebcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        elseif msgcontains(msg, "bring me to port hope") then
            CapSeahorsebcprice = 150
            CapSeahorsebcdestination = Boatporthope
            bcname = "Port Hope"
            if (getTilePzInfo(pos) == FALSE) then
                if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
                doTeleportThing(cid, CapSeahorsebcdestination)
                doSendMagicEffect(CapSeahorsebcdestination, 10)
                npcHandler:say("Set the sails!", 1)
                TalkState(cid, 0)
                else
                npcHandler:say("You don't have enough money.", 1)
                TalkState(cid, 0)
                end
            else
            npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
            TalkState(cid, 0)   
            end
        --End of Travel in hurry--
        end
    end
    
    if(npcHandler.focus ~= cid) then
        return false
    end
    
--Give Destination--
if msgcontains(msg, 'thais') and npcHandler.focus == cid then
    CapSeahorsebcprice = 160
    CapSeahorsebcdestination = Boatthais
    bcname = "Thais"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapSeahorsebcprice .." gold?", 1)
    TalkState(cid, 94990)
    
elseif msgcontains(msg, 'carlin') and npcHandler.focus == cid then
    CapSeahorsebcprice = 110
    CapSeahorsebcdestination = Boatcarlin
    bcname = "Carlin"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapSeahorsebcprice .." gold?", 1)
    TalkState(cid, 94990)

elseif msgcontains(msg, "ab'dendriel") and npcHandler.focus == cid then
    CapSeahorsebcprice = 70
    CapSeahorsebcdestination = Boatabdendriel
    bcname = "Ab'Dendriel"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapSeahorsebcprice .." gold?", 1)
    TalkState(cid, 94990)
    
elseif msgcontains(msg, "cormaya") and npcHandler.focus == cid then
    CapSeahorsebcprice = 20
    CapSeahorsebcdestination = Boatcormaya
    bcname = "Cormaya"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapSeahorsebcprice .." gold?", 1)
    TalkState(cid, 94990)   
    
elseif msgcontains(msg, "venore") and npcHandler.focus == cid then
    CapSeahorsebcprice = 40
    CapSeahorsebcdestination = Boatvenore
    bcname = "Venore"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapSeahorsebcprice .." gold?", 1)
    TalkState(cid, 94991)   

elseif msgcontains(msg, "ankrahmun") and npcHandler.focus == cid then
    CapSeahorsebcprice = 160
    CapSeahorsebcdestination = Boatankrahmun
    bcname = "Ankrahmun"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapSeahorsebcprice .." gold?", 1)
    TalkState(cid, 94990)

elseif msgcontains(msg, "port hope") and npcHandler.focus == cid then
    CapSeahorsebcprice = 150
    CapSeahorsebcdestination = Boatporthope
    bcname = "Port Hope"
    npcHandler:say("Do you seek a passage to ".. bcname .." for ".. CapSeahorsebcprice .." gold?", 1)
    TalkState(cid, 94990)   
--End of Give Destination--
    

    
    
--System that does the job after confirm destination--
elseif GetTalkState(cid) == 94990 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    if (getTilePzInfo(pos) == FALSE) then
        if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
        doTeleportThing(cid, CapSeahorsebcdestination)
        doSendMagicEffect(CapSeahorsebcdestination, 10)
        npcHandler:say("Set the sails!", 1)
        TalkState(cid, 0)
        else
        npcHandler:say("You don't have enough money.", 1)
        TalkState(cid, 0)
        end
    else
    npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
    TalkState(cid, 0)   
    end
    
elseif GetTalkState(cid) == 94991 and msgcontains(msg, 'yes') and npcHandler.focus == cid then
    if (getTilePzInfo(pos) == FALSE) then
        if doPlayerRemoveMoney(cid, CapSeahorsebcprice) == TRUE then
        doTeleportThing(cid, CapSeahorsebcdestination)
        doSendMagicEffect(CapSeahorsebcdestination, 10)
        npcHandler:say("Set the sails!", 1)
        if(getPlayerStorageValue(cid, 250) == 1 and getPlayerStorageValue(cid, 253) <= 1) then
        setPlayerStorageValue(cid, 253, 1)
        end
        TalkState(cid, 0)
        else
        npcHandler:say("You don't have enough money.", 1)
        TalkState(cid, 0)
        end
    else
    npcHandler:say("If you want to travel with the boat you have to stand in it! else you'll just fall off!", 1)
    TalkState(cid, 0)   
    end
--End of the System that does the job after confirm destination--
    
    
end       
    return 1
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
i checked the files its really old files
yeah e.g spike sword is unpickable on main and some quests are shortened some dont exist etc i am fixing it up a lot i have good bit of it ready and it works seamless with the fixes that i applied from 8.6 tfs versions :) it is good files. better than OTHIRE or OTX that are duplicate items bugs and other shit
 
can you tell me where to check the rsa key ?
here is compiled client for this RSA and also PUSH for 1320 in ollyDBG enjoy

you have to use hex editor and edit the client to your IP/Adress or use OTC also check for the rsa key

you get autoban if you use different EXE just by editing RSA and push on login it will auto ban you
 

Attachments

Back
Top