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

TFS 1.X+ Promotion is not being added to player in spite npcs recognize this player as promoted

Felipe93

Ghost Member
Joined
Mar 21, 2015
Messages
1,990
Solutions
9
Reaction score
334
Location
Chile
Hello


I was cheking promotion in my server it's not working.
I took promotion and the npc removed my money and said this
Code:
22:59 Blex [20]: hail king
22:59 Stutch: HAIL TO THE KING!
22:59 King Tibianus: I greet there, my loyal subject.
22:59 Harsky: HAIL TO THE KING!
22:59 Blex [20]: promotion
22:59 King Tibianus: Do you want to be promoted in your vocation for 20000 gold?
22:59 Blex [20]: yes
22:59 King Tibianus: Congratulations! You are now promoted.

then i re log in again click on my character to see if it's already promoted and not it's the same vocation
Code:
23:00 You see yourself. You are a sorcerer.
so i spoke with the npc again and he said that im already promoted
Code:
3:01 Blex [20]: hail king
23:01 Stutch: HAIL TO THE KING!
23:01 King Tibianus: I greet there, my loyal subject.
23:01 Harsky: HAIL TO THE KING!
23:01 Blex [20]: promotion
23:01 King Tibianus: Do you want to be promoted in your vocation for 20000 gold?
23:01 Blex [20]: yes
23:01 King Tibianus: You are already promoted!
Must add that npc wont sell npc if im not premium or below level 20 so it seems to be working

this is my lib/core/storages.lua file
Code:
--[[
Reserved storage ranges:
- 300000 to 301000+ reserved for achievements
- 20000 to 21000+ reserved for achievement progress
- 10000000 to 20000000 reserved for outfits and mounts on source
]]--
PlayerStorageKeys = {
    annihilatorReward = 30015,
    promotion = 30018,
    delayLargeSeaShell = 30019,
    firstRod = 30020,
    delayWallMirror = 30021,
    madSheepSummon = 30023,
    crateUsable = 30024,
    afflictedOutfit = 30026,
    afflictedPlagueMask = 30027,
    afflictedPlagueBell = 30028,
    nailCaseUseCount = 30031,
    swampDigging = 30032,
    insectoidCell = 30033,
    vortexTamer = 30034,
    mutatedPumpkin = 30035,
    achievementsBase = 300000,
    achievementsCounter = 20000,
}

GlobalStorageKeys = {
}

my tibia.lua (custom module)
Code:
STORAGE_PROMOTION = 30018
that is handled via npcsystem.lua

Please help !
 
You probably removed the code in login.lua that resets premium status.
Hello @Itutorial thanks for your reply. The issue is not related to premium is related to set promotion
the npc says that I'm already promoted. but when if i look my vocation is not promoted
i have edited it but have not removed nothing, re-read the post if you can help me please
(i tested this wuth a premium char )
Lua:
function onLogin(player)
    local serverName = configManager.getString(configKeys.SERVER_NAME)
    local loginStr = "Welcome to " .. serverName .. "!"
    if player:getLastLoginSaved() <= 0 then
   

        --Player:toggleMount()--agregado
        loginStr = loginStr .. " Please choose your outfit."
        player:sendOutfitWindow()
    else
        if loginStr ~= "" then
            player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
        end

        loginStr = string.format("Your last visit in %s: %s.", serverName, os.date("%d %b %Y %X", player:getLastLoginSaved()))
    end
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
            player:addMount(2) --agregado TODO ESTE CODIGO BORRARLO DESPUES DE UNOS DIAS
   
    -- Promotion
    local vocation = player:getVocation()
    local promotion = vocation:getPromotion()
    if player:isPremium() then
        local value = player:getStorageValue(PlayerStorageKeys.promotion)
        if value == 1 then
            player:setVocation(promotion)
        end
    elseif not promotion then
        player:setVocation(vocation:getDemotion())
    end

    -- Events
    player:registerEvent("PlayerDeath")
    player:registerEvent("DropLoot")
    -- agregdo othire
    player:registerEvent("HotaBoss")
    player:registerEvent("CTF_PREPAREDEATH")--ctf
    --agregado loot channel
    --player:registerEvent("loot")
    return true
end
Lua:
    local player = Player(cid)
        if player:isPremium() or not parameters.premium then
            local promotion = player:getVocation():getPromotion()
            if player:getStorageValue(PlayerStorageKeys.promotion) == 1 then
                npcHandler:say("You are already promoted!", cid)
            elseif player:getLevel() < parameters.level then
                npcHandler:say("I am sorry, but I can only promote you once you have reached level " .. parameters.level .. ".", cid)
            elseif not player:removeTotalMoney(parameters.cost) then
                npcHandler:say("You do not have enough money!", cid)
            else
                npcHandler:say(parameters.text, cid)
                player:setVocation(promotion)
                player:setStorageValue(PlayerStorageKeys.promotion, 1)
            end
        else

tried changing this PlayerStorageKeys.promotion) == 1 to 20018 but didn't worked
 
Last edited:
Hello @Itutorial thanks for your reply. The issue is not related to premium is related to set promotion
the npc says that I'm already promoted. but when if i look my vocation is not promoted
i have edited it but have not removed nothing, re-read the post if you can help me please
(i tested this wuth a premium char )
Lua:
function onLogin(player)
    local serverName = configManager.getString(configKeys.SERVER_NAME)
    local loginStr = "Welcome to " .. serverName .. "!"
    if player:getLastLoginSaved() <= 0 then
  

        --Player:toggleMount()--agregado
        loginStr = loginStr .. " Please choose your outfit."
        player:sendOutfitWindow()
    else
        if loginStr ~= "" then
            player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
        end

        loginStr = string.format("Your last visit in %s: %s.", serverName, os.date("%d %b %Y %X", player:getLastLoginSaved()))
    end
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
            player:addMount(2) --agregado TODO ESTE CODIGO BORRARLO DESPUES DE UNOS DIAS
  
    -- Promotion
    local vocation = player:getVocation()
    local promotion = vocation:getPromotion()
    if player:isPremium() then
        local value = player:getStorageValue(PlayerStorageKeys.promotion)
        if value == 1 then
            player:setVocation(promotion)
        end
    elseif not promotion then
        player:setVocation(vocation:getDemotion())
    end

    -- Events
    player:registerEvent("PlayerDeath")
    player:registerEvent("DropLoot")
    -- agregdo othire
    player:registerEvent("HotaBoss")
    player:registerEvent("CTF_PREPAREDEATH")--ctf
    --agregado loot channel
    --player:registerEvent("loot")
    return true
end
Lua:
    local player = Player(cid)
        if player:isPremium() or not parameters.premium then
            local promotion = player:getVocation():getPromotion()
            if player:getStorageValue(PlayerStorageKeys.promotion) == 1 then
                npcHandler:say("You are already promoted!", cid)
            elseif player:getLevel() < parameters.level then
                npcHandler:say("I am sorry, but I can only promote you once you have reached level " .. parameters.level .. ".", cid)
            elseif not player:removeTotalMoney(parameters.cost) then
                npcHandler:say("You do not have enough money!", cid)
            else
                npcHandler:say(parameters.text, cid)
                player:setVocation(promotion)
                player:setStorageValue(PlayerStorageKeys.promotion, 1)
            end
        else

tried changing this PlayerStorageKeys.promotion) == 1 to 20018 but didn't worked
mine is working..
npc example Ishebed.lua:
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
-- Promotion
local promoteKeyword = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, text = 'Do you want to be promoted in your vocation for 20000 gold?'})
    promoteKeyword:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, level = 20, cost = 20000})
    promoteKeyword:addChildKeyword({''}, StdModule.say, {npcHandler = npcHandler, text = 'Ok, whatever.', reset = true})
npcHandler:setMessage(MESSAGE_GREET, 'Be mourned, pilgrim in flesh. Are you looking for a promotion?')
npcHandler:setMessage(MESSAGE_FAREWELL, 'Good bye, |PLAYERNAME|!')
npcHandler:setMessage(MESSAGE_WALKAWAY, 'Good bye, |PLAYERNAME|!')
npcHandler:addModule(FocusModule:new())
on modules.lua:
Lua:
function StdModule.promotePlayer(cid, message, keywords, parameters, node)
        local npcHandler = parameters.npcHandler
        if npcHandler == nil then
            error("StdModule.promotePlayer called without any npcHandler instance.")
        end
        if not npcHandler:isFocused(cid) then
            return false
        end
        local player = Player(cid)
        if player:isPremium() or not parameters.premium then
            local promotion = player:getVocation():getPromotion()
            if player:getStorageValue(PlayerStorageKeys.promotion) == 1 then
                npcHandler:say("You are already promoted!", cid)
            elseif player:getLevel() < parameters.level then
                npcHandler:say("I am sorry, but I can only promote you once you have reached level " .. parameters.level .. ".", cid)
            elseif not player:removeTotalMoney(parameters.cost) then
                npcHandler:say("You do not have enough money!", cid)
            else
                npcHandler:say(parameters.text, cid)
                player:setVocation(promotion)
                player:setStorageValue(PlayerStorageKeys.promotion, 1)
            end
        else
            npcHandler:say("You need a premium account in order to get promoted.", cid)
        end
        npcHandler:resetNpc(cid)
        return true
    end
 
mine is working..
npc example Ishebed.lua:
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
-- Promotion
local promoteKeyword = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, text = 'Do you want to be promoted in your vocation for 20000 gold?'})
    promoteKeyword:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, level = 20, cost = 20000})
    promoteKeyword:addChildKeyword({''}, StdModule.say, {npcHandler = npcHandler, text = 'Ok, whatever.', reset = true})
npcHandler:setMessage(MESSAGE_GREET, 'Be mourned, pilgrim in flesh. Are you looking for a promotion?')
npcHandler:setMessage(MESSAGE_FAREWELL, 'Good bye, |PLAYERNAME|!')
npcHandler:setMessage(MESSAGE_WALKAWAY, 'Good bye, |PLAYERNAME|!')
npcHandler:addModule(FocusModule:new())
on modules.lua:
Lua:
function StdModule.promotePlayer(cid, message, keywords, parameters, node)
        local npcHandler = parameters.npcHandler
        if npcHandler == nil then
            error("StdModule.promotePlayer called without any npcHandler instance.")
        end
        if not npcHandler:isFocused(cid) then
            return false
        end
        local player = Player(cid)
        if player:isPremium() or not parameters.premium then
            local promotion = player:getVocation():getPromotion()
            if player:getStorageValue(PlayerStorageKeys.promotion) == 1 then
                npcHandler:say("You are already promoted!", cid)
            elseif player:getLevel() < parameters.level then
                npcHandler:say("I am sorry, but I can only promote you once you have reached level " .. parameters.level .. ".", cid)
            elseif not player:removeTotalMoney(parameters.cost) then
                npcHandler:say("You do not have enough money!", cid)
            else
                npcHandler:say(parameters.text, cid)
                player:setVocation(promotion)
                player:setStorageValue(PlayerStorageKeys.promotion, 1)
            end
        else
            npcHandler:say("You need a premium account in order to get promoted.", cid)
        end
        npcHandler:resetNpc(cid)
        return true
    end
Thank you i tested again and the same thing happens, the npcs took the money, says the player is now promoted, the player relog and see that is not promoted talk to the npc for promotion and the npc says that the player is already promoted
Lua:
function StdModule.promotePlayer(cid, message, keywords, parameters, node)
        local npcHandler = parameters.npcHandler
        if npcHandler == nil then
            error("StdModule.promotePlayer called without any npcHandler instance.")
        end
        if not npcHandler:isFocused(cid) then
            return false
        end
        local player = Player(cid)
        if player:isPremium() or not parameters.premium then
            local promotion = player:getVocation():getPromotion()
            if player:getStorageValue(PlayerStorageKeys.promotion) == 1 then
                npcHandler:say("You are already promoted!", cid)
            elseif player:getLevel() < parameters.level then
                npcHandler:say("I am sorry, but I can only promote you once you have reached level " .. parameters.level .. ".", cid)
            elseif not player:removeTotalMoney(parameters.cost) then
                npcHandler:say("You do not have enough money!", cid)
            else
                npcHandler:say(parameters.text, cid)
                player:setVocation(promotion)
                player:setStorageValue(PlayerStorageKeys.promotion, 1)
            end
        else
            npcHandler:say("You need a premium account in order to get promoted.", cid)
        end
        npcHandler:resetNpc(cid)
        return true
    end
have the same code in modules.lua
 
Thank you i tested again and the same thing happens, the npcs took the money, says the player is now promoted, the player relog and see that is not promoted talk to the npc for promotion and the npc says that the player is already promoted
Lua:
function StdModule.promotePlayer(cid, message, keywords, parameters, node)
        local npcHandler = parameters.npcHandler
        if npcHandler == nil then
            error("StdModule.promotePlayer called without any npcHandler instance.")
        end
        if not npcHandler:isFocused(cid) then
            return false
        end
        local player = Player(cid)
        if player:isPremium() or not parameters.premium then
            local promotion = player:getVocation():getPromotion()
            if player:getStorageValue(PlayerStorageKeys.promotion) == 1 then
                npcHandler:say("You are already promoted!", cid)
            elseif player:getLevel() < parameters.level then
                npcHandler:say("I am sorry, but I can only promote you once you have reached level " .. parameters.level .. ".", cid)
            elseif not player:removeTotalMoney(parameters.cost) then
                npcHandler:say("You do not have enough money!", cid)
            else
                npcHandler:say(parameters.text, cid)
                player:setVocation(promotion)
                player:setStorageValue(PlayerStorageKeys.promotion, 1)
            end
        else
            npcHandler:say("You need a premium account in order to get promoted.", cid)
        end
        npcHandler:resetNpc(cid)
        return true
    end
have the same code in modules.lua
post your vocations.xml

The fromvoc stuff needs to be setup correctly.

base vocation is from itself
1st promotion is base vocation
2nd promotion (if your server has it) is the 1st promotion's vocation
 
@Xikini Hello man how are you ?
there you go this is my vocations.xml
Lua:
<?xml version="1.0"?>
<vocations>
    <vocation id="0" name="None" description="none" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="4.0" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="2.0"/>
        <skill id="2" base="50" multiplier="2.0"/>
        <skill id="3" base="50" multiplier="2.0"/>
        <skill id="4" base="30" multiplier="2.0"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="1" name="Sorcerer" description="a sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="3" gainmanaticks="3" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="1.1" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="2.0"/>
        <skill id="2" base="50" multiplier="2.0"/>
        <skill id="3" base="50" multiplier="2.0"/>
        <skill id="4" base="30" multiplier="2.0"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="2" name="Druid" description="a druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="3" gainmanaticks="3" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="1.1" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="1.8"/>
        <skill id="2" base="50" multiplier="1.8"/>
        <skill id="3" base="50" multiplier="1.8"/>
        <skill id="4" base="30" multiplier="1.8"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="3" name="Paladin" description="a paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="8" gainhpamount="3" gainmanaticks="4" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="1.4" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.3" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.2"/>
        <skill id="1" base="50" multiplier="1.2"/>
        <skill id="2" base="50" multiplier="1.2"/>
        <skill id="3" base="50" multiplier="1.2"/>
        <skill id="4" base="30" multiplier="1.1"/>
        <skill id="5" base="100" multiplier="1.1"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="4" name="Knight" description="a knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="6" gainhpamount="3" gainmanaticks="6" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="3.0" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.3" axe="1.3" club="1.3" dist="1.0" fist="1.1" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.1"/>
        <skill id="1" base="50" multiplier="1.1"/>
        <skill id="2" base="50" multiplier="1.1"/>
        <skill id="3" base="50" multiplier="1.1"/>
        <skill id="4" base="30" multiplier="1.4"/>
        <skill id="5" base="100" multiplier="1.1"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="5" name="Master Sorcerer" description="a master sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="3" gainmanaticks="2" gainmanaamount="5" soulmax="200" gainsoulticks="15" manamultiplier="1.1" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="2.0"/>
        <skill id="2" base="50" multiplier="2.0"/>
        <skill id="3" base="50" multiplier="2.0"/>
        <skill id="4" base="30" multiplier="2.0"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="6" name="Elder Druid" description="an elder druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="3" gainmanaticks="2" gainmanaamount="5" soulmax="200" gainsoulticks="15" manamultiplier="1.1" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="1.8"/>
        <skill id="2" base="50" multiplier="1.8"/>
        <skill id="3" base="50" multiplier="1.8"/>
        <skill id="4" base="30" multiplier="1.8"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="7" name="Royal Paladin" description="a royal paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="3" gainmanaticks="3" gainmanaamount="5" soulmax="200" gainsoulticks="15" manamultiplier="1.4" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.3" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.2"/>
        <skill id="1" base="50" multiplier="1.2"/>
        <skill id="2" base="50" multiplier="1.2"/>
        <skill id="3" base="50" multiplier="1.2"/>
        <skill id="4" base="30" multiplier="1.1"/>
        <skill id="5" base="100" multiplier="1.1"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="8" name="Elite Knight" description="an elite knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="3" gainmanaticks="6" gainmanaamount="5" soulmax="200" gainsoulticks="15" manamultiplier="3.0" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.3" axe="1.3" club="1.3" dist="1.1" fist="1.1" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.1"/>
        <skill id="1" base="50" multiplier="1.1"/>
        <skill id="2" base="50" multiplier="1.1"/>
        <skill id="3" base="50" multiplier="1.1"/>
        <skill id="4" base="30" multiplier="1.4"/>
        <skill id="5" base="100" multiplier="1.1"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
</vocations>
 
@Xikini Hello man how are you ?
there you go this is my vocations.xml
Lua:
<?xml version="1.0"?>
<vocations>
    <vocation id="0" name="None" description="none" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="4.0" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="2.0"/>
        <skill id="2" base="50" multiplier="2.0"/>
        <skill id="3" base="50" multiplier="2.0"/>
        <skill id="4" base="30" multiplier="2.0"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="1" name="Sorcerer" description="a sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="3" gainmanaticks="3" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="1.1" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="2.0"/>
        <skill id="2" base="50" multiplier="2.0"/>
        <skill id="3" base="50" multiplier="2.0"/>
        <skill id="4" base="30" multiplier="2.0"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="2" name="Druid" description="a druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="3" gainmanaticks="3" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="1.1" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="1.8"/>
        <skill id="2" base="50" multiplier="1.8"/>
        <skill id="3" base="50" multiplier="1.8"/>
        <skill id="4" base="30" multiplier="1.8"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="3" name="Paladin" description="a paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="8" gainhpamount="3" gainmanaticks="4" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="1.4" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.3" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.2"/>
        <skill id="1" base="50" multiplier="1.2"/>
        <skill id="2" base="50" multiplier="1.2"/>
        <skill id="3" base="50" multiplier="1.2"/>
        <skill id="4" base="30" multiplier="1.1"/>
        <skill id="5" base="100" multiplier="1.1"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="4" name="Knight" description="a knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="6" gainhpamount="3" gainmanaticks="6" gainmanaamount="5" soulmax="100" gainsoulticks="120" manamultiplier="3.0" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.3" axe="1.3" club="1.3" dist="1.0" fist="1.1" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.1"/>
        <skill id="1" base="50" multiplier="1.1"/>
        <skill id="2" base="50" multiplier="1.1"/>
        <skill id="3" base="50" multiplier="1.1"/>
        <skill id="4" base="30" multiplier="1.4"/>
        <skill id="5" base="100" multiplier="1.1"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="5" name="Master Sorcerer" description="a master sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="3" gainmanaticks="2" gainmanaamount="5" soulmax="200" gainsoulticks="15" manamultiplier="1.1" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="2.0"/>
        <skill id="2" base="50" multiplier="2.0"/>
        <skill id="3" base="50" multiplier="2.0"/>
        <skill id="4" base="30" multiplier="2.0"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="6" name="Elder Druid" description="an elder druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="3" gainmanaticks="2" gainmanaamount="5" soulmax="200" gainsoulticks="15" manamultiplier="1.1" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.0" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.5"/>
        <skill id="1" base="50" multiplier="1.8"/>
        <skill id="2" base="50" multiplier="1.8"/>
        <skill id="3" base="50" multiplier="1.8"/>
        <skill id="4" base="30" multiplier="1.8"/>
        <skill id="5" base="100" multiplier="1.5"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="7" name="Royal Paladin" description="a royal paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="3" gainmanaticks="3" gainmanaamount="5" soulmax="200" gainsoulticks="15" manamultiplier="1.4" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.0" axe="1.0" club="1.0" dist="1.3" fist="1.0" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.2"/>
        <skill id="1" base="50" multiplier="1.2"/>
        <skill id="2" base="50" multiplier="1.2"/>
        <skill id="3" base="50" multiplier="1.2"/>
        <skill id="4" base="30" multiplier="1.1"/>
        <skill id="5" base="100" multiplier="1.1"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
    <vocation id="8" name="Elite Knight" description="an elite knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="3" gainmanaticks="6" gainmanaamount="5" soulmax="200" gainsoulticks="15" manamultiplier="3.0" attackspeed="1500">
        <damage magicDamage="1.0" wandDamage="1.0" healingDamage="1.0" />
        <meleeDamage sword="1.3" axe="1.3" club="1.3" dist="1.1" fist="1.1" />
        <defense baseDefense="1.1" armorDefense="1.1" />
        <skill id="0" base="50" multiplier="1.1"/>
        <skill id="1" base="50" multiplier="1.1"/>
        <skill id="2" base="50" multiplier="1.1"/>
        <skill id="3" base="50" multiplier="1.1"/>
        <skill id="4" base="30" multiplier="1.4"/>
        <skill id="5" base="100" multiplier="1.1"/>
        <skill id="6" base="20" multiplier="1.1"/>
    </vocation>
</vocations>
fromvoc is missing from your vocations.xml entirely. Not sure why.

This is the original..
 
Back
Top