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.
exports['devhub_skillTree']:reloadDefaultSkills()
Close Skill Tree
Programmatically closes the skill tree UI.
exports['devhub_skillTree']:closeSkillTree()
Get Config
Returns current configuration of skills and categories.
exports['devhub_skillTree']:getConfig()
Returns:
{
SkillsCategory = Config.SkillsCategory,
SkillsList = Config.SkillsList
}
Server Side Exports
Get Player Level
Gets the player's level in a specific skill category.
exports['devhub_skillTree']:getPlayerLevel(categoryUid, source)
Parameters:
categoryUid
(string): Skill category namesource
(number): Player server ID
Returns: Current level (number) or 0 if not found
Example
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.
exports['devhub_skillTree']:getPlayerXp(categoryUid, source)
Parameters:
categoryUid
(string): Skill category namesource
(number): Player server ID
Returns: Current XP (number) or 0 if not found
Example
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.
exports['devhub_skillTree']:getPlayerPoints(categoryUid, source)
Parameters:
categoryUid
(string): Skill category namesource
(number): Player server ID
Returns: Available points (number) or 0 if not found
Example
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.
exports['devhub_skillTree']:getPlayerTotalXp(categoryUid, source)
Parameters:
categoryUid
(string): Skill category namesource
(number): Player server ID
Returns: Total XP (number) or 0 if not found
Example
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.
exports['devhub_skillTree']:getPlayerGlobalStats(source)
Parameters:
source
(number): Player server ID
Returns:
{
totalXp = number,
totalLevel = number,
usedPoints = number,
unlockedSkills = number
}
Example
local stats = exports['devhub_skillTree']:getPlayerGlobalStats(source)
print('Total levels:', stats.totalLevel)
Get Unlocked Skills
Gets all skills unlocked by the player.
exports['devhub_skillTree']:getUnlockedSkills(source)
Parameters:
source
(number): Player server ID
Returns: Table of unlocked skills or false if player not found
Example
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
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 nameamount
(number): Amount of XP to removesource
(number): Player server ID
Example
exports['devhub_skillTree']:removeXp('personal', 100, source)
Remove Points
exports['devhub_skillTree']:removePoints(categoryUid, amount, source)
Removes skill points from a specific category.
Parameters:
categoryUid
(string): Skill category nameamount
(number): Amount of points to removesource
(number): Player server ID
Example
exports['devhub_skillTree']:removePoints('personal', 1, source)
Shared Exports
These exports work on both client and server side.
Has Unlocked Skill
Checks if a player has unlocked a specific skill.
exports['devhub_skillTree']:hasUnlockedSkill(categoryUid, skillUid, source)
Parameters:
categoryUid
(string): Skill category nameskillUid
(string): Unique identifier of the skillsource
(number): Player server ID (server-side only)
Returns: true
if unlocked, nil
otherwise
Example
-- 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.
exports['devhub_skillTree']:addXp(categoryUid, amount, source)
Parameters:
categoryUid
(string): Skill category nameamount
(number): Amount of XP to addsource
(number): Player server ID (server-side only)
Example
-- 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.
exports['devhub_skillTree']:addPoints(categoryUid, amount, source)
Parameters:
categoryUid
(string): Skill category nameamount
(number): Amount of points to addsource
(number): Player server ID (server-side only)
Example
-- 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.
exports['devhub_skillTree']:getSkillEffect(categoryUid, skillUid)
Parameters:
categoryUid
(string): Skill category nameskillUid
(string): Unique identifier of the skill
Returns: Effect value (number) or 5 if not found
Example
-- Example: Get skill effect value
local effect = exports['devhub_skillTree']:getSkillEffect('personal', 'strength_1')
print('Skill effect:', effect)
Last updated