• 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!

Lua Help with Npc's boat

eldeersito

New Member
Joined
Apr 22, 2012
Messages
7
Reaction score
0
the captains of my server offered me a travel to certain cities like TibiaRL, but I want to be able to travel to all cities in all including [Gengia, Pyre, Oken].

Where I need to go to change that?

Thanks you so much +rep for helping!

#Eldeer#!
 
Couldn't find it, so I made it myself.

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

	if(msgcontains(msg, 'bring me to thais') or msgcontains(msg, 'thais please')) then
	if doPlayerRemoveMoney(cid, 50) then
        doTeleportThing(cid, {x = 95, y = 113, z = 7})
        else
        selfSay('Sorry, you don\'t have enough money.')
        end

	elseif(msgcontains(msg, 'bring me to venore') or msgcontains(msg, 'venore please')) then
	if doPlayerRemoveMoney(cid, 50) then
        doTeleportThing(cid, {x = 95, y = 113, z = 7})
        else
        selfSay('Sorry, you don\'t have enough money.')
        end

	elseif(msgcontains(msg, 'bring me to carlin') or msgcontains(msg, 'carlin please')) then
	if doPlayerRemoveMoney(cid, 50) then
        doTeleportThing(cid, {x = 95, y = 113, z = 7})
        else
        selfSay('Sorry, you don\'t have enough money.')
        end

		talkState[talkUser] = 0
	elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
		talkState[talkUser] = 0
		selfSay('Right...', cid)
	end

	return true
end

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

Tested and works.
I did the positions and city names as example.
 
Last edited:
Back
Top