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

Action Advanced Exp Scroll

In tfs 0.3.4 I cant seem to get the exp .. Is there a new addexp function?
 
@up

Good idea! Please script it. :)

Just add storage check.. sec I will make it in a minute.

@edit
Here you go. Also fixed a bit..
Code:
local config = {
	funnyEffect = TRUE, -- effects fireworks & Animated Text (TRUE/FALSE)
	minimumLevel = 20,
	maximumLevel = 160, -- for infinite type math.huge
	timesPerCharacter = 2, -- how many times one character can use this stupid useless exp scroll
	storageUsed = 45800 -- storage used for timesPerCharacter
}
local addExp = {
	[{config.minimumLevel, 40}] = 100,
	[{40, 60}] = 500,
	[{60, 80}] = 1000,
	[{80, 100}] = 2000,
	[{100, 120}] = 3000,
	[{120, 140}] = 4000,
	[{140, config.maximumLevel}] = 5000
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local level = getPlayerLevel(cid)
    local effect = math.random(CONST_ME_FIREWORK_YELLOW,CONST_ME_FIREWORK_BLUE) 
	
	if(getPlayerStorageValue(cid, config.storageUsed) < config.timesPerCharacter) then
		setPlayerStorageValue(cid, config.storageUsed, getPlayerStorageValue(cid, config.storageUsed)+1)
	else
		doPlayerSendCancel(cid, "You can use this scroll only twice per character.")
		return FALSE
	end
	
    if(level < config.minimumLevel) then
        doPlayerSendCancel(cid, "You need to be at least " .. config.minimumLevel .. " to use a scroll.")
        return FALSE 
    end
    
    if(level >= config.maximumLevel) then
        doPlayerSendCancel(cid, "Your level is too high for using a scroll.")
        return FALSE 
    end

    for k, v in pairs(addExp) do 
        if level >= k[1] and level < k[2] then 
            doPlayerAddExp(cid, v)
            doRemoveItem(item.uid, 1)
            break 
        end 
    end  

	if(config.funnyEffect == TRUE) then
		local pos = getPlayerPosition(cid)
		local positions = {
			{x=pos.x+1,y=pos.y-1,z=pos.z},
			{x=pos.x-1,y=pos.y-1,z=pos.z},
			{x=pos.x+1,y=pos.y+1,z=pos.z},
			{x=pos.x-1,y=pos.y+1,z=pos.z},
			{x=pos.x+1,y=pos.y,z=pos.z},
			{x=pos.x-1,y=pos.y,z=pos.z},
			{x=pos.x,y=pos.y+1,z=pos.z},
			{x=pos.x,y=pos.y-1,z=pos.z}
		}

        for i = 1, table.getn(positions) do
            doSendAnimatedText(getThingPos(cid), "Yeah! Exp!", TEXTCOLOR_RED) 
            doSendMagicEffect(positions[i],effect)
        end
    end
    return TRUE 
end
 
Last edited:
But where i can edit item id and how could i make it like if i click i get 300 exp
 
Back
Top