local t = {
39001, {
[30] = {2160, 8, "Congratulations, you have achieved level 30! You have been rewarded with 8 crystal coints!", 1},
[50] = {2160, 9, "Congratulations, you have achieved level 50! You have been rewarded with 9 crystal coints!", 2},
[80] = {2160, 10, "Congratulations, you have achieved level 80! You have been rewarded with 10 crystal coints!", 3},
[100] = {2160, 11, "Congratulations, you have achieved level 100! You have been rewarded with 11 crystal coints!", 4}
}
}
function onAdvance(cid, skill, oldlevel, newlevel)
if skill == SKILL__LEVEL then
for level, v in pairs(t[2]) do
if oldlevel < level and getPlayerLevel(cid) >= level and getPlayerStorageValue(cid, t[1]) < v[4] then
doPlayerAddItem(cid, v[1], v[2])
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, v[3])
setPlayerStorageValue(cid, t[1], v[4])
end
end
end
doPlayerSave(cid, true)
return true
end
local config = {
[150] = {r= {2160, 50}},
[250] = {p = 20},
[300] = {p = 20}
}
function onAdvance(cid, skill, oldLevel, newLevel)
if skill == SKILL__LEVEL then
for level, v in pairs(config) do
if newLevel >= level and getCreatureStorage(cid, 100 + level) < 0 then
if v.p then
db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. v.p .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end
if v.r then
doPlayerAddItem(cid, v.r[1], v.r[2] or 1)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You got" .. (v.p and " " .. v.p .. " point" or "") .. "" .. (v.p ~= nil and v.p > 1 and "s" or "") .. " " .. (v.p == nil and v.r and "reward " or "") .. "" .. (v.p ~= nil and v.r and "and reward " or "") .. "for advanced from Level " .. oldLevel .. " to Level " .. newLevel .. ".")
doCreatureSetStorage(cid, 100 + level, 1)
end
end
end
doPlayerSave(cid, true)
return true
end
local prizes = {
[60001] = {level = 30, reward = {2160, 8}},
[60002] = {level = 50, reward = {2160, 9}},
[60003] = {level = 80, reward = {2160, 10}},
[60004] = {level = 100, reward = {2160, 11}},
}
function onAdvance(cid, skill, oldlevel, newlevel)
if(skill ~= SKILL__LEVEL)then return TRUE end
for i,t in ipairs(prizes) do
if not(getPlayerStorageValue(cid, i)) and t.level <= newlevel then
if type(t.reward[1] ~= "table") then
local add = doPlayerAddItem(cid, t.reward[1], t.reward[2])
if add then
doPlayerSendTextMessage(cid, 19, "You have received " .. t.reward[2] .. " " .. getItemNameById(t.reward[2]) .. " due to reaching level " .. t.level .. ".")
setPlayerStorageValue(cid, i, true)
end
else
local bp = doCreateItemEx(1988, 1)
for _,item in ipairs(t.reward) do
doAddContainerItem(bp, item[1], item[2])
end
local add = doPlayerAddItemEx(cid, bp)
if add then
doPlayerSendTextMessage(cid, 19, "You have received backpack with items due to reaching level " .. t.level .. ".")
setPlayerStorageValue(cid, i, true)
end
end
end
end
return TRUE
end
<event type="advance" name="reward" event="script" value="reward.lua"/>