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

TFS 1.X+ tfs 1.3 add exp in %?

roriscrave

Advanced OT User
Joined
Dec 7, 2011
Messages
1,210
Solutions
35
Reaction score
206
is possible in tfs 1.3 add exp in %?
exemple:
player:addExpPercent(25)

it will add 25% of exp to next level.
 
Solution
you can add it in the global environment so you can use it anywhere.
on global.lua
Code:
function getExperienceForLevel(level)
        level = level - 1
        return ((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3
end

then you can reduce the other code in this way:
Code:
function Player.addExpPercent(player, percent)
    return player:addExperience(((getExperienceForLevel(player:getLevel() + 1) - getExperienceForLevel(player:getLevel())) * (percent / 100)))
end
add on data/lib/core/player.lua
Code:
function Player.addExpPercent(player, percent)
    local function getExpForLevel(level)
        level = level - 1
        return ((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3
    end
    local level = player:getLevel()
    local expPc = ((getExpForLevel(level + 1) - getExpForLevel(level)) * (percent / 100))
    return player:addExperience(expPc)
end
 
add on data/lib/core/player.lua
Code:
function Player.addExpPercent(player, percent)
    local function getExpForLevel(level)
        level = level - 1
        return ((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3
    end
    local level = player:getLevel()
    local expPc = ((getExpForLevel(level + 1) - getExpForLevel(level)) * (percent / 100))
    return player:addExperience(expPc)
end
ok i'll test it... this function doenst have in tfs 1.3?
like this in 0.4
Code:
getExperienceForLevel(getPlayerLevel(cid) + 1)
 
you can add it in the global environment so you can use it anywhere.
on global.lua
Code:
function getExperienceForLevel(level)
        level = level - 1
        return ((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3
end

then you can reduce the other code in this way:
Code:
function Player.addExpPercent(player, percent)
    return player:addExperience(((getExperienceForLevel(player:getLevel() + 1) - getExperienceForLevel(player:getLevel())) * (percent / 100)))
end
 
Solution
Back
Top