Someone asked me on Discord about script that gives configurable rewards on level advance.
It’s onAdvance event. Rewards are easy configurable and can be limited by vocations and level.
local rookVocations = { 0 } local sorcererVocations = { 1, 5 } local druidVocations = { 2, 6 } local paladinVocations = { 3, 7 } local knightVocations = { 4, 8 } local mainVocations = { 1, 2, 3, 4, 5, 6, 7, 8 } local allVocations = { 1, 2, 3, 4, 5, 6, 7, 8, 9 } local rewardsConfig = { -- 2cc and Magic Sword for every 20 level on main { level = 20, vocations = mainVocations, storage = 25100, items = { { 2160, 2 }, { 2400, 1 }, } }, -- wand of inferno for 33 sorc { level = 33, vocations = sorcererVocations, storage = 25101, items = { { 2187, 1 }, } } } function onAdvance(player, skill, oldLevel, newLevel) if skill ~= SKILL_LEVEL then return true end for i1, rewardConfig in pairs(rewardsConfig) do if newLevel == rewardConfig.level then if table.contains(rewardConfig.vocations, player:getVocation():getId()) then if player:getStorageValue(rewardConfig.storage) < 1 then player:setStorageValue(rewardConfig.storage, os.time()) for i2, item in pairs(rewardConfig.items) do player:addItem(item[1], item[2]) end player:getPosition():sendMagicEffect(CONST_ME_CRAPS) player:sendTextMessage(MESSAGE_INFO_DESCR, "You received reward for getting " .. rewardConfig.level .. " level.") end end end end return true end