Kod:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 oracle(cid, message, keywords, parameters, node)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local vocNode = node:getParent()
	local vocation = vocNode:getParameters().vocation

	if(vocation ~= nil) then
		if (vocation == 1) then
			doPlayerAddOutfit(cid,138,0)
			doPlayerAddOutfit(cid,130,0)
			doPlayerAddItem(cid, 2461, 1)
			doPlayerAddItem(cid, 2512, 1)
			doPlayerAddItem(cid, 2190, 1)
			doPlayerAddItem(cid, 2467, 1)
			doPlayerAddItem(cid, 2649, 1)
		elseif (vocation == 2) then
			doPlayerAddOutfit(cid,148,0)
			doPlayerAddOutfit(cid,144,0)
			doPlayerAddItem(cid, 2461, 1)
			doPlayerAddItem(cid, 2512, 1)
			doPlayerAddItem(cid, 2182, 1)
			doPlayerAddItem(cid, 2467, 1)
			doPlayerAddItem(cid, 2649, 1)
		elseif (vocation == 3) then
			doPlayerAddOutfit(cid,137,0)
			doPlayerAddOutfit(cid,129,0)
			doPlayerAddItem(cid, 2482, 1)
			doPlayerAddItem(cid, 2526, 1)
			doPlayerAddItem(cid, 2389, 1)
			doPlayerAddItem(cid, 2484, 1)
			doPlayerAddItem(cid, 2468, 1)
		elseif (vocation == 4) then
			doPlayerAddOutfit(cid,139,0)
			doPlayerAddOutfit(cid,131,0)
			doPlayerAddItem(cid, 2458, 1)
			doPlayerAddItem(cid, 2413, 1)
			doPlayerAddItem(cid, 2378, 1)
			doPlayerAddItem(cid, 2394, 1)
			doPlayerAddItem(cid, 2464, 1)
			doPlayerAddItem(cid, 2648, 1)
		end
		doPlayerSetVocation(cid, vocation)
		doPlayerSetTown(cid, 1)	
		local tmp = getCreaturePosition(cid)
		doSendMagicEffect(tmp, CONST_ME_POFF)
		doTeleportThing(cid, {x=1036, y=1050, z=6})
		doSendMagicEffect({x=1036, y=1050, z=6}, CONST_ME_TELEPORT) 
		npcHandler:resetNpc()
	end
	return true
end

function greetCallback(cid)
	if(getPlayerVocation(cid) > 0) then
		npcHandler:say('Good Lock')
		return false
	else
		return true
	end
end
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setMessage(MESSAGE_GREET, 'Welcome |PLAYERNAME| in our land. Are you ready to start an adventure?')

local yesNode = KeywordNode:new({'yes'}, oracle, {level = 1})
local noNode1 = KeywordNode:new({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then what vocation do you want to become?'})
local noNode2 = KeywordNode:new({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = '{Axe}, {club} or {sword}'})

local node1 = keywordHandler:addKeyword({'yes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'So what vocation do you wish to become? {Sorcerer}, {druid}, {paladin} or {knight}?'})
	local node2 = node1:addChildKeyword({'sorcerer'}, StdModule.say, {npcHandler = npcHandler, vocation = 1, onlyFocus = true, text = 'c'})
		node2:addChildKeywordNode(yesNode)
		node2:addChildKeywordNode(noNode1)
	node2 = node1:addChildKeyword({'druid'}, StdModule.say, {npcHandler = npcHandler, vocation = 2, onlyFocus = true, text = 'c'})
		node2:addChildKeywordNode(yesNode)
		node2:addChildKeywordNode(noNode1)
	node2 = node1:addChildKeyword({'paladin'}, StdModule.say, {npcHandler = npcHandler, vocation = 3, onlyFocus = true, text = 'c'})
		node2:addChildKeywordNode(yesNode)
		node2:addChildKeywordNode(noNode1)
	node2 = node1:addChildKeyword({'knight'}, StdModule.say, {npcHandler = npcHandler, vocation = 4, onlyFocus = true, text = 'lol?'})
		node2:addChildKeywordNode(noNode1)
			local node3 = node2:addChildKeyword({'yes'},  StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = '{Axe}, {club} or {sword}?'})
				local node4 = node3:addChildKeyword({'axe'},  StdModule.say, {npcHandler = npcHandler, weapon = 1, onlyFocus = true, text = 'axe'})
						node4:addChildKeywordNode(yesNode)
						node4:addChildKeywordNode(noNode2)
					node4 = node3:addChildKeyword({'club'},  StdModule.say, {npcHandler = npcHandler, weapon = 2, onlyFocus = true, text = 'club'})
						node4:addChildKeywordNode(yesNode)
						node4:addChildKeywordNode(noNode2)
					node4 = node3:addChildKeyword({'sword'},  StdModule.say, {npcHandler = npcHandler, weapon = 3, onlyFocus = true, text = 'sword'})
						node4:addChildKeywordNode(yesNode)
						node4:addChildKeywordNode(noNode2)		
keywordHandler:addKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Then logout.'})
npcHandler:addModule(FocusModule:new())
Chodzi o moment po wpisaniu sword/axe/club kiedy napisze yes nie teleportuje, nie daje voc. ani nic się nie dzieje. Kiedy napisze yes po wybraniu druida wszystko idzie normalnie