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

receive the item reaches a level

ToninhoGC

WarGate.EnT
Joined
Oct 2, 2007
Messages
194
Reaction score
1
I wanted a script that gives an item to the player when he atingise a certain level.
 
Lua:
local t = {
--	[storage], level, item, count
	[1234] = {135, 2160, 10} -- 10 cristal coins when you reached level 135
}
function onAdvance(cid, skill, oldLevel, newLevel)
	if skill == SKILL__LEVEL then
		for storage, lalala in pairs(t) do
			if newLevel >= lalala[1] and getPlayerStorageValue(cid, storage) < 1 then
				doPlayerAddItem(cid, lalala[2], lalala[3])
				setPlayerStorageValue(cid, storage, 1)
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "CONGRATULATIONS! You've reached level " .. lalala[1] .. ".")
				break
			end
		end
	end
	return true
end
 
I did a test with this script and it caused the lag and added the items randomly between levels. You do not have another?
 
lag? anyways, use the search function

Lua:
--credits Scarlet Ayleid
local prizes = {
    [60001] = {level = 50000, reward = {9653, 1}},
    [60002] = {level = 80000, reward = {{7958, 1}, {2157, 100}}},
}

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
 
Last edited:
Back
Top