Skip to main content

Server Exports

AddXP

Awards XP to a player for a skill. Active XP buffs are applied using:
number
required
Player server ID
string
required
Skill ID from Config.Skills (e.g. 'criminal')
number
required
Base XP to award before buffs
Returns
  • ok (boolean) — true on success, false on failure
  • result (table | string)
    • On success (table):
      • skill (string) — skill ID
      • amount (number) — XP awarded after buffs
      • xp (number) — current XP toward the next level
      • totalXp (number) — lifetime XP for the skill
      • level (number) — current level
      • previousLevel (number) — level before this award
      • leveledUp (boolean) — whether the player leveled up
      • milestones (table) — milestones reached from this award (if any)
    • On failure (string), common values include:
      • 'invalid_player'
      • 'invalid_skill'
      • 'invalid_amount'
      • 'max_level'
Example

AddXPRaw

Awards XP while ignoring active XP buffs (no multiplier or flat bonus applied).
number
required
Player server ID
string
required
Skill ID from Config.Skills
number
required
Exact XP to award
Returns Same shape as AddXP.

RemoveXP

Removes XP from a player for a skill.
number
required
Player server ID
string
required
Skill ID from Config.Skills
number
required
XP to remove
Returns
  • ok (boolean)
  • result (table | string) — updated skill state on success, or an error string on failure

SetLevel

Sets a player’s level for a skill directly.
SetLevel does not re-grant milestone rewards for levels the player skips or is set to.
number
required
Player server ID
string
required
Skill ID from Config.Skills
number
required
Target level (clamped to the skill’s MaxLevel)
Returns
  • ok (boolean)
  • result (table | string) — updated skill state on success, or an error string on failure

GetSkill

Returns a single skill record for a player.
number
required
Player server ID
string
required
Skill ID from Config.Skills
Returns
  • table or nil — skill data (level, xp, totalXp, etc.)

GetSkills

Returns all skill records for a player.
number
required
Player server ID
Returns
  • table — map of skill ID → skill data

GetLevel

Returns the player’s current level for a skill.
number
required
Player server ID
string
required
Skill ID from Config.Skills
Returns
  • number — current level (typically 0 if missing)

GetTotalXp

Returns the player’s total (lifetime) XP for a skill.
number
required
Player server ID
string
required
Skill ID from Config.Skills
Returns
  • number — total XP

GetSkillIds

Returns the configured skill IDs.
Returns
  • table — list of skill ID strings

OpenMenu

Opens the XP menu for a player from the server.
number
required
Player server ID

SyncClient

Forces a client sync of the player’s XP data.
number
required
Player server ID

AddXpBuff

Adds a temporary XP buff. Multiple buffs stack. Award formula while buffs are active:
number
required
Player server ID
table
required
Buff options table
string
Skill ID to apply the buff to, or a value that targets all skills depending on your config
number
Multiplier contribution (e.g. 1.5 for +50%)
number
Flat XP added before the multiplier is applied
number
Buff duration in seconds
string
Display label shown in notifications / UI
string
Optional unique buff ID (useful for targeted removal)
boolean
Whether to notify the player when the buff is applied
Example

RemoveXpBuff

Removes an active XP buff by ID (or matching options, depending on usage).
number
required
Player server ID
string
required
Buff ID previously passed to AddXpBuff
Returns
  • boolean — whether a buff was removed

GetXpBuffs

Returns active XP buffs for a player.
number
required
Player server ID
string
Optional skill filter
Returns
  • table — list of active buffs

GetXpMultiplier

Returns the combined XP multiplier (and related totals) currently applied for a skill.
number
required
Player server ID
string
required
Skill ID from Config.Skills
Returns
  • number — combined multiplier total used by AddXP

Client Exports

OpenMenu

Opens the XP menu on the local client.

IsMenuOpen

Returns whether the XP menu is currently open.
Returns
  • boolean

RefreshMenu

Refreshes the XP menu UI if it is open.

GetXpBuffs

Returns active XP buffs known to the client.
string
Optional skill filter
Returns
  • table — list of active buffs

Bridge Integration

When XPSystem is set to 'projectx' (or 'auto' and projectx-xp is running), Project X scripts can award and read XP through the bridge:
See Bridge Installation for XPSystem options.

Example: Robbery / Job Award

Do not call AddXP (or any XP-mutating export) from client scripts. Award XP on the server only.