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())
Zakładki