• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

On Advance Level Script - Need vocation edit

  • Thread starter Thread starter Deleted member 49793
  • Start date Start date
D

Deleted member 49793

Guest
Can someone help me make this script vocation specific?

Code:
local rewards = {
    [SKILL_SWORD] = {
        {lvl = 300, items = {{2160, 2}, {2148, 1}}, storage = 54776},
        {lvl = 300, items = {{2365, 2}}, storage = 54777}
    },
    [SKILL_MAGLEVEL] = {
        {lvl = 300, items = {{2365, 2}}, storage = 54778},
    },
    [SKILL_LEVEL] = {
        {lvl = 50, items = {{2160, 2}}, storage = 54779},
        {lvl = 100, items = {{2160, 4}}, storage = 54780},
        {lvl = 200, items = {{2160, 10}}, storage = 54781},
    },
}

function onAdvance(player, skill, oldlevel, newlevel)
    local rewardstr = "Items received: "
    local reward_t = {}
    if rewards[skill] then
        for j = 1, #rewards[skill] do
            local r = rewards[skill][j]
            if not r then
                return true
            end

            if newlevel >= r.lvl then
                if player:getStorageValue(r.storage) < 1 then
                    player:setStorageValue(r.storage, 1)
                    for i = 1, #r.items do
                        local itt = ItemType(r.items[i][1])
                        if itt then
                            player:addItem(r.items[i][1], r.items[i][2])
                            table.insert(reward_t, itt:getName() .. (r.items[i][2] > 1 and " x" .. r.items[i][2] or ""))
                        end
                    end
                end
            end
        end
   
        if #reward_t > 0 then
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, rewardstr .. table.concat(reward_t, ", "))
        end
    end
    return true
end

function onLogin(player)
    player:registerEvent("onadvance_reward")
    return true
end
 
Here is an example:
Code:
    local t = {
        [vocationId] = {
            [skillId] = {
                -- something
            }
        }
    }

    local targetVocation = t[getVocationId]
    if not targetVocation then
        return true
    end

    local targetSkill = targetVocation[getSkillId]
    if not targetSkill then
        return true
    end
Good Luck! :)
 
Back
Top