function Game.getExperienceForLevel(level)
return math.floor((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3
end
function Player.addLevel(self, amount, round)
round = round or false
local level, amount = self:getLevel(), amount or 1
if amount > 0 then
return self:addExperience(Game.getExperienceForLevel(level + amount) - (round and self:getExperience() or Game.getExperienceForLevel(level)))
else
return self:removeExperience(((round and self:getExperience() or Game.getExperienceForLevel(level)) - Game.getExperienceForLevel(level + amount)))
end
end
player:addLevel(...)
yes there is:
![]()
forgottenserver/data/lib/core/player.lua at d61f8d29882d6a0a77a8a3ec642c3ee121c8f786 · otland/forgottenserver
A free and open-source MMORPG server emulator written in C++ - otland/forgottenservergithub.com
function onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey)
local player = Player(cid)
player:addSkillTries(SKILL_LEVEL, 1)
player:say('LVL!', TALKTYPE_MONSTER_SAY)
Item(item.uid):remove(1)
end
function Game.getExperienceForLevel(level)
return math.floor((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3
end
function Player.addLevel(self, amount, round)
round = round or false
local level, amount = self:getLevel(), amount or 1
if amount > 0 then
return self:addExperience(Game.getExperienceForLevel(level + amount) - (round and self:getExperience() or Game.getExperienceForLevel(level)))
else
return self:removeExperience(((round and self:getExperience() or Game.getExperienceForLevel(level)) - Game.getExperienceForLevel(level + amount)))
end
end
player:addLevel(...)
add - data/global.lua
LUA:function getExperienceForLevel(level) return math.floor((((level - 6) * level + 17) * level - 12) / 6) * 100 end
add - data/lib/core/player.lua
LUA:function Player.addLevel(self, amount, round) round = round or false local level, amount = self:getLevel(), amount or 1 if amount > 0 then return self:addExperience(Game.getExperienceForLevel(level + amount) - (round and self:getExperience() or Game.getExperienceForLevel(level))) else return self:removeExperience(((round and self:getExperience() or Game.getExperienceForLevel(level)) - Game.getExperienceForLevel(level + amount))) end end
and try
LUA:player:addLevel(...)
Add addLevel() in player.lua
Change formula level to new