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
ok(boolean) —trueon success,falseon failureresult(table | string)- On success (table):
skill(string) — skill IDamount(number) — XP awarded after buffsxp(number) — current XP toward the next leveltotalXp(number) — lifetime XP for the skilllevel(number) — current levelpreviousLevel(number) — level before this awardleveledUp(boolean) — whether the player leveled upmilestones(table) — milestones reached from this award (if any)
- On failure (string), common values include:
'invalid_player''invalid_skill''invalid_amount''max_level'
- On success (table):
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.Skillsnumber
required
Exact XP to award
AddXP.
RemoveXP
Removes XP from a player for a skill.number
required
Player server ID
string
required
Skill ID from
Config.Skillsnumber
required
XP to remove
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.number
required
Player server ID
string
required
Skill ID from
Config.Skillsnumber
required
Target level (clamped to the skill’s
MaxLevel)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.Skillstableornil— skill data (level,xp,totalXp, etc.)
GetSkills
Returns all skill records for a player.number
required
Player server ID
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.Skillsnumber— current level (typically0if missing)
GetTotalXp
Returns the player’s total (lifetime) XP for a skill.number
required
Player server ID
string
required
Skill ID from
Config.Skillsnumber— total XP
GetSkillIds
Returns the configured skill IDs.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
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
AddXpBuffboolean— whether a buff was removed
GetXpBuffs
Returns active XP buffs for a player.number
required
Player server ID
string
Optional skill filter
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.Skillsnumber— combined multiplier total used byAddXP
Client Exports
OpenMenu
Opens the XP menu on the local client.IsMenuOpen
Returns whether the XP menu is currently open.boolean
RefreshMenu
Refreshes the XP menu UI if it is open.GetXpBuffs
Returns active XP buffs known to the client.string
Optional skill filter
table— list of active buffs
Bridge Integration
WhenXPSystem is set to 'projectx' (or 'auto' and projectx-xp is running), Project X scripts can award and read XP through the bridge:
XPSystem options.
