Skip to main content
Project X XP (projectx-xp) is a multi-skill XP system with levels, milestones, rewards, buffs, a leaderboard, and a built-in UI. Other resources award XP through server exports, or through projectx-bridge when XPSystem is set to 'projectx' / 'auto'.
Configure Framework and Inventory in config/config.lua to match your server. QBCore, Qbox, and ESX are supported out of the box.Custom frameworks and any other framework work as well if you implement the framework adapter exports in this resource’s open source files (same pattern as adding framework exports in the bridge). Inventory is mainly needed if you enable UseItem with x_device.
No — the bridge is optional for projectx-xp itself. It is recommended if you run Project X robberies or other Project X scripts that award XP through the bridge. In that case, set XPSystem to 'projectx' or 'auto' in the bridge config. See Bridge Installation.
Check start order in server.cfg. projectx-xp must start after your framework, ox_lib, and oxmysql, and before scripts that call XP exports. Example:
Import/run with the player_xp table in place. Legacy Pickle XP JSON can migrate automatically when the skill keys match entries defined in Config.Skills. Align your skill IDs with the old Pickle keys before going live.
Add a new entry under Config.Skills in config/config.lua with Label, Description, Icon, BaseXp, Multiplier, MaxLevel, optional LevelTitles, and optional Milestones. Include the new skill ID in SkillOrder if you want it shown in a specific position in the UI.
Milestones grant configured rewards (money, item, export, etc.) when a player reaches that level through normal XP gain. SetLevel does not re-grant milestones for levels you set or skip.
Multiple buffs can be active at once. Awards use:
Use AddXPRaw when you need to award XP without applying buffs.
Players can open the menu with /xp (or your configured OpenCommand) and the F7 keybind (or your configured OpenKey). Testbuff-related commands are for testing buffs only — do not rely on them in production gameplay.
No. Never grant XP from client scripts. Always use server exports such as AddXP, or the bridge’s server-side AddExperience when integrated.
Join the Project X Discord and use the Free-Support channel: https://discord.gg/projectxdev