New Website Sale - 15% OFF everything

Exports

Parameter Types

Common parameters used across exports:

  • categoryUid (string): Category uid (e.g., 'personal')
  • skillUid (string): Unique skill identifier (e.g., 'swimming_1', 'melee_damage_1')
  • source (number): Player server ID (required for server-side)
  • amount (number): Numeric value for XP/points

Client Side Exports

Reload Default Skills

Reloads all skills in the 'personal' category to their default states. Can be useful for some people after ambulance respawn.

Lua
exports['devhub_skillTree']:reloadDefaultSkills()

Close Skill Tree

Programmatically closes the skill tree UI.

Lua
exports['devhub_skillTree']:closeSkillTree()

Get Config

Returns current configuration of skills and categories.

Lua
exports['devhub_skillTree']:getConfig()

Returns:

Lua
{
    SkillsCategory = Config.SkillsCategory,
    SkillsList = Config.SkillsList
}

Set Pre Made Xp Earning Status

Enable or disable pre-made ways of earning XP. You can use this to disable XP earning temporarily while a player is engaged in another activity.

status false - xp will be disabled

status true - xp will be enabled (default set by skill tree script)

Lua
exports['devhub_skillTree']:setPreMadeXpEarningStatus(status)

Server Side Exports

Get Player Level

Gets the player's level in a specific skill category.

Lua
exports['devhub_skillTree']:getPlayerLevel(categoryUid, source)

Parameters:

  • categoryUid (string): Skill category name
  • source (number): Player server ID

Returns: Current level (number) or 0 if not found

Example

Lua
local level = exports['devhub_skillTree']:getPlayerLevel('personal', source)
print('Player level:', level)

Get Player Xp

Gets the player's current XP in a specific skill.

Lua
exports['devhub_skillTree']:getPlayerXp(categoryUid, source)

Parameters:

  • categoryUid (string): Skill category name
  • source (number): Player server ID

Returns: Current XP (number) or 0 if not found

Example

Lua
local xp = exports['devhub_skillTree']:getPlayerXp('personal', source)
print('Current XP:', xp)

Get Player Points

Gets the player's available points for a specific skill.

Lua
exports['devhub_skillTree']:getPlayerPoints(categoryUid, source)

Parameters:

  • categoryUid (string): Skill category name
  • source (number): Player server ID

Returns: Available points (number) or 0 if not found

Example

Lua
local points = exports['devhub_skillTree']:getPlayerPoints('personal', source)
print('Available points:', points)

Get Player Total Xp

Gets the player's total accumulated XP in a specific skill.

Lua
exports['devhub_skillTree']:getPlayerTotalXp(categoryUid, source)

Parameters:

  • categoryUid (string): Skill category name
  • source (number): Player server ID

Returns: Total XP (number) or 0 if not found

Example

Lua
local totalXp = exports['devhub_skillTree']:getPlayerTotalXp('personal', source)
print('Total XP earned:', totalXp)

Get Player Global Stats

Gets the player's global statistics across all skills.

Lua
exports['devhub_skillTree']:getPlayerGlobalStats(source)

Parameters:

  • source (number): Player server ID

Returns:

Lua
{
    totalXp = number,
    totalLevel = number,
    usedPoints = number,
    unlockedSkills = number
}

Example

Lua
local stats = exports['devhub_skillTree']:getPlayerGlobalStats(source)
print('Total levels:', stats.totalLevel)

Get Unlocked Skills

Gets all skills unlocked by the player.

Lua
exports['devhub_skillTree']:getUnlockedSkills(source)

Parameters:

  • source (number): Player server ID

Returns: Table of unlocked skills or false if player not found

Example

Lua
local unlockedSkills = exports['devhub_skillTree']:getUnlockedSkills(source)
if unlockedSkills then
    for skill, _ in pairs(unlockedSkills) do
        print('Unlocked:', skill.categoryUid, skill.uid)
    end
end

Remove Xp

Lua
exports['devhub_skillTree']:removeXp(categoryUid, amount, source)

Removes XP from a specific skill category.

It works only within current level. It will never decrease level and will never remove unlocked skills.

Parameters:

  • categoryUid (string): Skill category name
  • amount (number): Amount of XP to remove
  • source (number): Player server ID

Example

Lua
exports['devhub_skillTree']:removeXp('personal', 100, source)

Remove Points

Lua
exports['devhub_skillTree']:removePoints(categoryUid, amount, source)

Removes skill points from a specific category.

Parameters:

  • categoryUid (string): Skill category name
  • amount (number): Amount of points to remove
  • source (number): Player server ID

Example

Lua
exports['devhub_skillTree']:removePoints('personal', 1, source)

Unlock Skill

Lua
exports['devhub_skillTree']:unlockSkill(categoryUid, skillUid, source)

Parameters:

  • categoryUid (string): Skill category name
  • skillUid (string): Skill uid
  • source (number): Player server ID

Example

Lua
exports['devhub_skillTree']:unlockSkill('personal', 'run_faster_1', source)

This export is disabled by default

To use unlockSkill export set Config.TurnOnUnlockSkillExport = true


Shared Exports

These exports work on both client and server side.

Has Unlocked Skill

Checks if a player has unlocked a specific skill.

Lua
exports['devhub_skillTree']:hasUnlockedSkill(categoryUid, skillUid, source)

Parameters:

  • categoryUid (string): Skill category name
  • skillUid (string): Unique identifier of the skill
  • source (number): Player server ID (server-side only)

Returns: true if unlocked, nil otherwise

Example

Lua
-- Client side example
local hasSkill = exports['devhub_skillTree']:hasUnlockedSkill('personal', 'swimming_1')
 
-- Server side example
local hasSkill = exports['devhub_skillTree']:hasUnlockedSkill('personal', 'swimming_1', source)

Add Xp

Adds XP to a specific skill.

ETLUA
exports['devhub_skillTree']:addXp(categoryUid, amount, source)

Parameters:

  • categoryUid (string): Skill category name
  • amount (number): Amount of XP to add
  • source (number): Player server ID (server-side only)

Example

Lua
-- Client side example
exports['devhub_skillTree']:addXp('personal', 100)
 
-- Server side example
exports['devhub_skillTree']:addXp('personal', 100, source)

If Config.DisableSensitiveClientExports is set to true, this export will NOT work client side


Add Points

Adds skill points to a specific category.

Lua
exports['devhub_skillTree']:addPoints(categoryUid, amount, source)

Parameters:

  • categoryUid (string): Skill category name
  • amount (number): Amount of points to add
  • source (number): Player server ID (server-side only)

Example

Lua
-- Client side example
exports['devhub_skillTree']:addPoints('personal', 1)
 
-- Server side example
exports['devhub_skillTree']:addPoints('personal', 1, source)

If Config.DisableSensitiveClientExports is set to true, this export will NOT work client side


Get Skill Effect

Gets the effect value of a specific skill.

Lua
exports['devhub_skillTree']:getSkillEffect(categoryUid, skillUid)

Parameters:

  • categoryUid (string): Skill category name
  • skillUid (string): Unique identifier of the skill

Returns: Effect value (number) or 5 if not found

Example

Lua
-- Example: Get skill effect value
local effect = exports['devhub_skillTree']:getSkillEffect('personal', 'strength_1')
print('Skill effect:', effect)