http://otland.net/showthread.php?t=7077
new:
Account Manager Only make None Vocation Characters so i solved the problem:
NPC For Map Editor:
The Oracle:
and this one in script:
Download Server:
http://www.speedy*****malware.localhost/762938963.html
Hope i Helped You
new:
Account Manager Only make None Vocation Characters so i solved the problem:
NPC For Map Editor:
Code:
<creature looktype="129" head="114" body="119" legs="114" feet="114" addons="3" name="Travelman" type="npc"/>
<creature looktype="22" head="114" body="113" legs="113" feet="113" addons="3" name="Sweety Cyclop" type="npc"/>
<creature looktype="129" head="114" body="119" legs="114" feet="114" addons="3" name="Captain" type="npc"/>
<creature looktype="142" head="79" body="118" legs="115" feet="114" addons="3" name="Bowman" type="npc"/>
<creature looktype="128" head="20" body="100" legs="50" feet="99" addons="3" name="Foodmaker" type="npc"/>
<creature looktype="142" head="114" body="0" legs="95" feet="114" addons="3" name="Furnitureguy" type="npc"/>
<creature looktype="139" head="132" body="79" legs="97" feet="132" addons="3" name="Weapon Shop" type="npc"/>
<creature looktype="139" head="132" body="79" legs="97" feet="132" addons="3 name="Armor Shop" type="npc"/>
<creature looktype="130" head="1" body="316" legs="216" feet="66" addons="3" name="Runemaker" type="npc"/>
<creature looktype="133" head="114" body="119" legs="132" feet="114" addons="3" name="Promoter" type="npc"/>
<creature looktype="134" head="114" body="113" legs="113" feet="113" addons="3" name="BlackBuissnies" type="npc"/>
<creature looktype="139" head="132" body="79" legs="97" feet="132" addons="3" name="Mineloot Buyer" type="npc"/>
<creature looktype="134" head="78" body="88" legs="0" feet="88" addons="3" name="Addoner" type="npc"/>
<creature looktype="128" head="20" body="100" legs="50" feet="99" addons="3" name="Postman" type="npc"/>
<creature looktype="134" head="114" body="113" legs="113" feet="113" addons="3" name="Amuletseller" type="npc"/>
<creature looktype="80" head="132" body="79" legs="97" feet="132" name="Djinn Shop" type="npc"/>
<creature looktype="134" head="114" body="113" legs="113" feet="113" addons="3" name="Addon Items Seller" type="npc"/>
<creature looktype="143" head="3" body="77" legs="97" feet="116" addons="1" name="Arena NPC" type="npc"/>
<creature looktype="129" head="114" body="119" legs="114" feet="114" addons="3" name="Kasray" type="npc"/>
<creature looktype="129" head="114" body="119" legs="114" feet="114" name="The Oracle" type="npc"/>
The Oracle:
Code:
<?xml version="1.0"?>
<npc name="The Oracle" script="data/npc/scripts/oracle.lua" access="3">
<look type="129" head="114" body="119" legs="114" feet="114" corpse="2212"/>
</npc>
and this one in script:
Code:
local LEVEL = 8
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
-- OTServ event handling functions end
function oracle(cid, message, keywords, parameters, node)
if(cid ~= npcHandler.focus) then
return false
end
local cityNode = node:getParent():getParent()
local vocNode = node:getParent()
local destination = cityNode:getParameters().destination
local townid = cityNode:getParameters().townid
local voc = vocNode:getParameters().voc
if(destination ~= nil and voc ~= nil and townid ~= nil) then
if(getPlayerLevel(cid) < parameters.level) then
npcHandler:say('You must first reach level ' .. parameters.level .. '!')
else
doPlayerSetVocation(cid,voc)
doPlayerSetTown(cid,townid)
--doPlayerSetMasterPos(cid,destination)
doTeleportThing(cid,destination)
end
else
error('Destination:', destination, 'Vocation:', vocation, 'Townid:', townid)
end
npcHandler:resetNpc()
return true
end
function greetCallback(cid)
if(getPlayerLevel(cid) < LEVEL) then
npcHandler:say('CHILD! COME BACK WHEN YOU HAVE GROWN UP!')
return false
else
return true
end
end
-- Set the greeting callback function
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
-- Set the greeting message.
npcHandler:setMessage(MESSAGE_GREET, 'Hello |PLAYERNAME|. Are you prepared to face your destiny?')
-- Pre-create the yes/no nodes.
local yesNode = KeywordNode:new({'yes'}, oracle, {level = LEVEL})
local noNode = KeywordNode:new({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then what vocation do you want to become?'})
-- Create the actual keyword structure...
local node1 = keywordHandler:addKeyword({'yes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'What city do you wish to live in? Thais or Thais?'})
local node2 = node1:addChildKeyword({'thais'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, townid = 3, destination = {x=793, y=1014, z=7}, text = 'The desert city of Thais, eh? So what vocation do you wish to become? Sorcerer, druid, paladin or knight?'})
local node3 = node2:addChildKeyword({'sorcerer'}, StdModule.say, {npcHandler = npcHandler, voc = 1, onlyFocus = true, text = 'So, you wish to be a powerful magician? Are you sure about that? This decision is irreversible!'})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
local node3 = node2:addChildKeyword({'druid'}, StdModule.say, {npcHandler = npcHandler, voc = 2, onlyFocus = true, text = 'Are you sure that a druid is what you wish to become? This decision is irreversible!'})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
local node3 = node2:addChildKeyword({'paladin'}, StdModule.say, {npcHandler = npcHandler, voc = 3, onlyFocus = true, text = 'A ranged marksman. Are you sure? This decision is irreversible!'})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
local node3 = node2:addChildKeyword({'knight'}, StdModule.say, {npcHandler = npcHandler, voc = 4, onlyFocus = true, text = 'A mighty warrior. Is that your final decision? This decision is irreversible!'})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
local node2 = node1:addChildKeyword({'thais'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, townid = 1, destination = {x=793, y=1014, z=7}, text = 'The town of Thais, eh? So what vocation do you wish to become? Sorcerer, druid, paladin or knight?'})
local node3 = node2:addChildKeyword({'sorcerer'}, StdModule.say, {npcHandler = npcHandler, voc = 1, onlyFocus = true, text = 'So, you wish to be a powerful magician? Are you sure about that? This decision is irreversible!'})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
local node3 = node2:addChildKeyword({'druid'}, StdModule.say, {npcHandler = npcHandler, voc = 2, onlyFocus = true, text = 'Are you sure that a druid is what you wish to become? This decision is irreversible!'})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
local node3 = node2:addChildKeyword({'paladin'}, StdModule.say, {npcHandler = npcHandler, voc = 3, onlyFocus = true, text = 'A ranged marksman. Are you sure? This decision is irreversible!'})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
local node3 = node2:addChildKeyword({'knight'}, StdModule.say, {npcHandler = npcHandler, voc = 4, onlyFocus = true, text = 'A mighty warrior. Is that your final decision? This decision is irreversible!'})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
keywordHandler:addKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Then come back when you are ready.'})
-- Make it react to hi/bye etc.
npcHandler:addModule(FocusModule:new())
Download Server:
http://www.speedy*****malware.localhost/762938963.html
Hope i Helped You
Last edited: