Skills — Server

Create

Creates a skill definition.

Bridge.Skills.Create(name, maxLevel, baseXP)
ParameterTypeDescription
namestringSkill name
maxLevelnumberMaximum level for this skill (default: 99)
baseXPnumberBase XP amount for this skill (default: 50)

Returns: table - The created skill definition

Example:

Bridge.Skills.Create('farming', 99, 50)

GetResourceName

Returns the skills resource name.

local name = Bridge.Skills.GetResourceName()
-- Returns: string (always "default")

Description: Returns the name of the Skills module resource. Used for internal identification. Always returns "default" for the built-in Skills module.

GetSkillLevel

Returns a player’s level for a skill.

local level = Bridge.Skills.GetSkillLevel(src, skillName)
-- Returns: number
ParameterTypeDescription
srcnumberPlayer server ID
skillNamestringSkill name

GetXP

Returns a player’s current XP for a skill.

local xp = Bridge.Skills.GetXP(src, skillName)
-- Returns: number
ParameterTypeDescription
srcnumberPlayer server ID
skillNamestringSkill name

AddXP

Adds XP to a player’s skill.

local success, newLevel, currentXP = Bridge.Skills.AddXP(src, skillName, xp)
-- Returns: boolean, number, number
ParameterTypeDescription
srcnumberPlayer server ID
skillNamestringSkill name
xpnumberXP to add (if 0 or nil, uses scaled default based on current level)

Returns:

  • success (boolean): Whether the XP was successfully added
  • newLevel (number): The player’s new skill level after XP addition
  • currentXP (number): The current XP progress within the level (0 to next level requirement)

Example:

local success, level, xp = Bridge.Skills.AddXP(src, 'fishing', 100)
if success then
    print('Player is now level ' .. level)
end

SetSkillLevel

Sets a player’s skill level directly.

local success = Bridge.Skills.SetSkillLevel(src, skillName, level)
-- Returns: boolean
ParameterTypeDescription
srcnumberPlayer server ID
skillNamestringSkill name
levelnumberLevel to set (clamped between 1-99)

Returns: boolean - Whether the level was successfully set

Example:

if Bridge.Skills.SetSkillLevel(src, 'fishing', 25) then
    print('Level set successfully')
end

SetXP

Sets a player’s XP directly.

local success = Bridge.Skills.SetXP(src, skillName, xp)
-- Returns: boolean
ParameterTypeDescription
srcnumberPlayer server ID
skillNamestringSkill name
xpnumberXP to set (0 or higher)

Returns: boolean - Whether the XP was successfully set

Example:

if Bridge.Skills.SetXP(src, 'fishing', 500) then
    print('XP set successfully')
end

GetXPForLevel

Returns the total XP required to reach a given level.

local xp = Bridge.Skills.GetXPForLevel(level)
-- Returns: number
ParameterTypeDescription
levelnumberTarget level

Description: Uses a RuneScape-style XP algorithm with caching for performance. Returns cumulative XP needed from level 1 to reach the specified level.

GetXPRequiredForLevel

Returns the additional XP needed to progress from one level to the next.

local xp = Bridge.Skills.GetXPRequiredForLevel(level)
-- Returns: number
ParameterTypeDescription
levelnumberCurrent level

Description: Returns the cumulative XP requirement between the specified level and the next level. For level 1, returns 83 XP.

GetScaledXP

Returns XP scaled according to a player’s level.

local scaled = Bridge.Skills.GetScaledXP(baseXP, playerLevel)
-- Returns: number
ParameterTypeDescription
baseXPnumberBase XP amount to scale
playerLevelnumberPlayer’s current skill level

Description: Scales base XP according to the formula: floor(baseXP * (1 + playerLevel * 0.05)). Higher levels receive more XP per action.

Example:

local scaled = Bridge.Skills.GetScaledXP(50, 10)
print('Scaled XP: ' .. scaled) -- Outputs higher value due to level bonus