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

Promotion NPC

Reyn

On to the next One
Joined
May 15, 2010
Messages
259
Reaction score
1
Location
Germany ;3
Hei Otlanders :)
I'm looking for a script for an NPC which works like this:
Starting vocations : knight, sorc, druid, pala
and if u talk to that npc u can choose between 2 vocations for each vocation :
knight -> crusader (saying promo 1)
-> Elite Knight (saying promo 2)
and so on for each vocation :S

it could be an action, talkaction or whatever too i dont care if its npc or not :S
looking forward to replys
Greetings,
Reyn
 
Here is my promo npc:
PHP:
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

local node1 = keywordHandler:addKeyword({'promote'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you wish to recieve a promotion?'})
	node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'})
	node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back once you are ready.', reset = true})
local node1 = keywordHandler:addKeyword({'promotion'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you wish to recieve a promotion?'})
	node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'})
	node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back once you are ready.', reset = true})
local node2 = keywordHandler:addKeyword({'second promotion'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 200000 gold coins. Do you wish to recieve a promotion?'})
	node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 200000, level = 150, promotion = 2, text = 'Congratulations! You are now promoted.'})
	node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back once you are ready.', reset = true})

npcHandler:addModule(FocusModule:new())
 
does it work like if u are knight u can choose between 2 promotions?
for example u are knight and can rather choose between crusader or elite knight?
 
I guess this is what you wanted, didn't realy understand fully.

Lua:
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

local Topic = {}
function creatureSayCallback(cid, type, msg)
	if msgcontains(msg,'promotion') then
		local v = getPlayerStorageValue(cid,100)
			if v < 1 then
				npcHandler:say('Is promotion really what you seek?',cid)
				Topic[cid] = 1
			elseif v > 0 then
				npcHandler:say('You are already promoted a second time.',cid)
				Topic[cid] = 0
			end
	elseif Topic[cid] == 1 then
		if isKnight(cid) then
			npcHandler:say('You have two paths to choose, you can be either {crusader} or {elite knight}, choose one.',cid)
			Topic[cid] = 2
		end
	elseif Topic[cid] == 2 then
		if isKnight(cid) then
			if msgcontains(msg,'crusader') then
				npcHandler:say('Are you sure about this?\nYour choice is irreversible!?',cid)
				Topic[cid] = 3
			elseif msgcontains(msg,'elite knight') then
				npcHandler:say('Are you sure about this?\nYour choice is irreversible!?',cid)
				Topic[cid] = 4
			end
		end
	elseif Topic[cid] == 3 then
		if isKnight(cid) then
			if msgcontains(msg,'yes') then
				doPlayerSetVocation(cid,9)
				setPlayerStorageValue(cid,v,1)
				npcHandler:say('You are now a {crusader!}',cid)
				Topic[cid] = 0
			else
				npcHandler:say('Then not.',cid)
				Topic[cid] = 0
			end
		end
	elseif Topic[cid] == 4 then
		if isKnight(cid) then
			if msgcontains(msg,'yes') then
				doPlayerSetVocation(cid,10)
				setPlayerStorageValue(cid,v,1)
				npcHandler:say('You are now an {elite knight}!',cid)
				Topic[cid] = 0
			else
				npcHandler:say('Then not.',cid)
				Topic[cid] = 0
			end
		end
	end
end
npcHandler:setMessage(MESSAGE_WALKAWAY, "Argh, goodbye..")
npcHandler:setMessage(MESSAGE_FAREWELL, "Goodbye..")
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

This will let you get promoted to either a crusader or an elite knight, depending on your choice and you can only do this one time.

script is easy to edit.
 
Oh yeah that's about what i'm searching for ^^
Thanks already :p
but could u help me once again? :S
how can i go for the second promotion?
so for example if ur crusader u can go for dark knight
and if ur elite knight u can go for epic knight ... i dont care about the names ^^ at second promotion there dont need to be multiple choises O:
and another thing i dont get, how do i need to edit the vocations.xml ?
if this would be it just for the knight, would it be right this way with fromvoc=... and so on?
Code:
<?xml version="1.0" encoding="UTF-8"?>
<vocations>
	<vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="1" name="Knight" description="a knight" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="2" name="Crusader" description="a crusader" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="3" name="Elite Knight" description="an elite knight" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="5" gainmanaticks="4" gainmanaamount="5" manamultiplier="1.4" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="4" name="Dark Knight" description="a dark knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="2">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="5" name="epic knight" description="an epic knight" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="3">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
</vocations>
looking forward to ur answer :p
gonna spread around some rep so i can rep+ for u xD
 
Last edited:
Lua:
  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

local Topic = {}
function creatureSayCallback(cid, type, msg)
    if msgcontains(msg,'promotion') then
    local v = getPlayerStorageValue(cid,100)
        if v == 1 then
			npcHandler:say('So you want a second promotion, eh?',cid)
            Topic[cid] = 1
        elseif v == 2 then
            npcHandler:say('You are already promoted a second time!',cid)
            Topic[cid] = 0
		end
	elseif Topic[cid] == 1 then
        if getPlayerVocation(cid) == 2 then -- crusader
            npcHandler:say('You want to be a {dark knight}?',cid)
            Topic[cid] = 2
        elseif getPlayerVocation(cid) == 3 then -- elite knight
			npcHandler:say('You want to be an {epic knight}?',cid)
			Topic[cid] = 2
		end
	elseif Topic[cid] == 2 then
        if getPlayerVocation(cid) == 2 then
            if msgcontains(msg,'yes') then
                npcHandler:say('Are you sure about this?\nYour choice is irreversible!?',cid)
                Topic[cid] = 3
			else
				npcHandler:say('Then not.',cid)
            end
		elseif getPlayervocation(cid) == 3 then
			if msgcontains(msg,'yes') then
                npcHandler:say('Are you sure about this?\nYour choice is irreversible!?',cid)
                Topic[cid] = 3
			else
				npcHandler:say('Then not.',cid)
            end
		end
	elseif Topic[cid] == 3 then
		if getPlayerVocation(cid) == 2 then
            if msgcontains(msg,'yes') then
				setPlayerStorageValue(cid,v,2)
				doPlayerSetvocation(cid,4)
                npcHandler:say('Congratulations, you are now a {dark knight}!',cid)
                Topic[cid] = 0
			else
				npcHandler:say('Then not.',cid)
            end
		elseif getPlayerVocation(cid) == 3 then
            if msgcontains(msg,'yes') then
				setPlayerStorageValue(cid,v,2)
				doPlayerSetvocation(cid,5)
                npcHandler:say('Congratulations, you are now an {epic knight}!',cid)
                Topic[cid] = 0
			else
				npcHandler:say('Then not.',cid)
            end
		end
	end
end
npcHandler:setMessage(MESSAGE_WALKAWAY, "Argh, goodbye..")
npcHandler:setMessage(MESSAGE_FAREWELL, "Goodbye..")
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

make sure that

Lua:
local v = getPlayerStorageValue(cid,100)

is the same storageValue in both scripts!
 
Wow thanks , awesome! :)
ur a pretty good scripter O:
and what about if i do this npc for mages?
does the storageValue still need to be 100?
 
I tried it just today cos my internet was gone for some days
and well if my player logs out the vocation does disapear again? why? D:
my 2 scripts:
Code:
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

local Topic = {}
function creatureSayCallback(cid, type, msg)
        if msgcontains(msg,'promotion') then
                local v = getPlayerStorageValue(cid,100)
                        if v < 1 then
                                npcHandler:say('Is promotion really what you seek?',cid)
                                Topic[cid] = 1
                        elseif v > 0 then
                                npcHandler:say('You are already promoted a second time.',cid)
                                Topic[cid] = 0
                        end
        elseif Topic[cid] == 1 then
                if getPlayerVocation(cid) == 1 then
                        npcHandler:say('You have two paths to choose, you can be either {Dark Knight} or {Holy Knight}, choose one.',cid)
                        Topic[cid] = 2
                end
        elseif Topic[cid] == 2 then
                if getPlayerVocation(cid) == 1 then
                        if msgcontains(msg,'Dark Knight') then
                                npcHandler:say('Are you sure about this?\nYour choice is irreversible!?',cid)
                                Topic[cid] = 3
                        elseif msgcontains(msg,'Holy Knight') then
                                npcHandler:say('Are you sure about this?\nYour choice is irreversible!?',cid)
                                Topic[cid] = 4
                        end
                end
        elseif Topic[cid] == 3 then
                if getPlayerVocation(cid) == 1 then
                        if msgcontains(msg,'yes') then
                                doPlayerSetVocation(cid,5)
                                setPlayerStorageValue(cid,v,1)
                                npcHandler:say('You are now a {Dark Knight!}',cid)
                                Topic[cid] = 0
                        else
                                npcHandler:say('Then not.',cid)
                                Topic[cid] = 0
                        end
                end
        elseif Topic[cid] == 4 then
                if getPlayerVocation(cid) == 1 then
                        if msgcontains(msg,'yes') then
                                doPlayerSetVocation(cid,6)
                                setPlayerStorageValue(cid,v,1)
                                npcHandler:say('You are now an {Holy Knight}!',cid)
                                Topic[cid] = 0
                        else
                                npcHandler:say('Then not.',cid)
                                Topic[cid] = 0
                        end
                end
        end
end
npcHandler:setMessage(MESSAGE_WALKAWAY, "Argh, goodbye..")
npcHandler:setMessage(MESSAGE_FAREWELL, "Goodbye..")
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Code:
  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

local Topic = {}
function creatureSayCallback(cid, type, msg)
    if msgcontains(msg,'promotion') then
    local v = getPlayerStorageValue(cid,100)
        if v == 1 then
                        npcHandler:say('So you want a second promotion, eh?',cid)
            Topic[cid] = 1
        elseif v == 2 then
            npcHandler:say('You are already promoted a second time!',cid)
            Topic[cid] = 0
                end
        elseif Topic[cid] == 1 then
        if getPlayerVocation(cid) == 5 then 
            npcHandler:say('You want to be a {Crusader}?',cid)
            Topic[cid] = 2
        elseif getPlayerVocation(cid) == 6 then 
                        npcHandler:say('You want to be a {Paladin}?',cid)
                        Topic[cid] = 2
                end
        elseif Topic[cid] == 2 then
        if getPlayerVocation(cid) == 5 then
            if msgcontains(msg,'yes') then
                npcHandler:say('Are you sure about this?\nYour choice is irreversible!?',cid)
                Topic[cid] = 3
                        else
                                npcHandler:say('Then not.',cid)
            end
                elseif getPlayervocation(cid) == 6 then
                        if msgcontains(msg,'yes') then
                npcHandler:say('Are you sure about this?\nYour choice is irreversible!?',cid)
                Topic[cid] = 3
                        else
                                npcHandler:say('Then not.',cid)
            end
                end
        elseif Topic[cid] == 3 then
                if getPlayerVocation(cid) == 5 then
            if msgcontains(msg,'yes') then
                                setPlayerStorageValue(cid,v,2)
                                doPlayerSetvocation(cid,13)
                npcHandler:say('Congratulations, you are now a {Crusader}!',cid)
                Topic[cid] = 0
                        else
                                npcHandler:say('Then not.',cid)
            end
                elseif getPlayerVocation(cid) == 6 then
            if msgcontains(msg,'yes') then
                                setPlayerStorageValue(cid,v,2)
                                doPlayerSetvocation(cid,14)
                npcHandler:say('Congratulations, you are now a {Paladin}!',cid)
                Topic[cid] = 0
                        else
                                npcHandler:say('Then not.',cid)
            end
                end
        end
end
npcHandler:setMessage(MESSAGE_WALKAWAY, "Argh, goodbye..")
npcHandler:setMessage(MESSAGE_FAREWELL, "Goodbye..")
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
and my vocations.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<vocations>
	<vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="1" name="Knight" description="a Knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="2" name="Mage" description="a Mage" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="2">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="3" name="Traveller" description="a Traveller" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="5" gainmanaticks="4" gainmanaamount="5" manamultiplier="1.4" attackspeed="600" soulmax="100" gainsoulticks="120" fromvoc="3">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.1" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="4" name="Summoner" description="a Summoner" needpremium="0" gaincap="10" gainhp="7" gainmana="27" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="4">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="1.1" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="5" name="Dark Knight" description="a Dark Knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.2" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="6" name="Holy Knight" description="a Holy Knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.1" axe="1.2" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="7" name="BlackMage" description="a BlackMage" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="2">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="8" name="WhiteMage" description="a WhiteMage" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="2">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="10" name="Ninja" description="a Ninja" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="5" gainmanaticks="4" gainmanaamount="5" manamultiplier="1.4" attackspeed="600" soulmax="100" gainsoulticks="120" fromvoc="3">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.1" axe="1.2" distance="1.2" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="11" name="Archer" description="an Archer" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="5" gainmanaticks="4" gainmanaamount="5" manamultiplier="1.4" attackspeed="600" soulmax="100" gainsoulticks="120" fromvoc="3">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="12" name="Tamer" description="a Tamer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.3" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="4">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="1.1" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="13" name="Crusader" description="a Crusader" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="5">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.2" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="14" name="Paladin" description="a Paladin" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="6">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.1" axe="1.2" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="15" name="ChaosMage" description="a ChaosMage" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="7">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="16" name="Priest" description="a Priest" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="8">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="17" name="Assassin" description="an Assassin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="5" gainmanaticks="4" gainmanaamount="5" manamultiplier="1.4" attackspeed="600" soulmax="100" gainsoulticks="120" fromvoc="9">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.1" axe="1.2" distance="1.2" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="18" name="Royal Archer" description="a Royal Archer" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="5" gainmanaticks="4" gainmanaamount="5" manamultiplier="1.4" attackspeed="600" soulmax="100" gainsoulticks="120" fromvoc="10">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="19" name="Beastmaster" description="a Beastmaster" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.3" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="11">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="1.1" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
</vocations>
 
Last edited:
Yes i did :S
made a new one and tested it then
then i tried to die / relog... i even saved the server before and then it says again "you are a knight"
PLUS if i didnt relog i still cant talk to the second promotion npc ;S he doesnt answer me after saying his first sentence
Code:
20:20 Zerox: Welcome, Test! I have been expecting you.
20:20 Test [10]: promotion
20:20 Zerox: Is promotion really what you seek?
20:20 Test [10]: yes
20:21 Test [10]: yes
20:21 Zerox: You have two paths to choose, you can be either Dark Knight or Holy Knight, choose one.
20:21 Test [10]: dark knight
20:21 Zerox: Are you sure about this?
Your choice is irreversible!?
20:21 Test [10]: yes
20:21 Zerox: You are now a Dark Knight!

->20:22 You see yourself. You are a Dark Knight.
Relog
20:22 You see yourself. You are a Knight.
if the npc one doesnt work a talkaction or so would be enough for me too :S
 
Last edited:

Similar threads

Back
Top