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

Reward on advance? (1.2)

Zeroone

Active Member
Joined
Dec 11, 2007
Messages
263
Reaction score
45
Location
Sweden
Been having trouble giving my players a reward at certain level..

Is there any script that rewards players on lvl 50, 100, and whatnot?

Thanks
 
Hello!
I've made for you, already tested.

data\creaturescripts\creaturescripts.xml
Code:
<event type="login" name="registRewards" script="advancereward.lua"/>
<event type="advance" name="advanceRewards" script="advancereward.lua"/>

data\creaturescripts\scripts\advancereward.lua
Code:
local prizes = {
[50] = {id = 2160, count = 3}, -- at level 50 reward 3 item id 2160
[100] = {id = 2160, count = 5},
}

local storage = 34800
function onAdvance(player, skill, oldLevel, newLevel)
  if skill == 8 then
    for i = oldLevel+1, newLevel do -- just checking if he jumps multiple levels and pass 2+ prize levels
        if i > player:getStorageValue(storage) then
            local currentPrize = prizes[i]
            if currentPrize then
                player:setStorageValue(storage, i)
                local item = player:addItem(currentPrize.id, currentPrize.count)
                player:sendTextMessage(22, "Congratulations! You received "..currentPrize.count.."x "..item:getName().." for reaching level "..i..".")
            end
        end
    end
  end
    return true
end

function onLogin(player)
     player:registerEvent("advanceRewards")
    return true
end

Enjoy!
 
Last edited:
Back
Top