❔FAQ
General Questions
Q: How do I open the skill tree menu?
A: You can open the menu in few ways:
Using the command
/skill
(default)Pressing F7 (default keybind can be changed)
Using the configured item if enabled
Triggering the event
devhub_skillTree:client:openSkillTree
Q: How do players earn skill points?
A: Players earn skill points in two ways:
Every time they level up (default 1 point per level)
Through admin commands or script exports
Q: How do players earn XP?
A: By default, XP is earned through:
Running
Swimming
Melee combat
Shooting
Driving Additional XP sources can be added through exports.
Q: Can I reset my skills?
A: Yes, if enabled in the configuration. The reset can be:
Free
Cost money
Require an item This is configurable in
Config.SkillReset
.
Q: In the standard version can I use skills from other DEVHUB scripts ?
A: YES , both version can do it.
Q: In the standard version can I add new skills via config without using generator ?
A: NO , the ability to add your own skill tree via config or generator is only available in the exclusive version.
Q: I want to upgrade the standard to exclusive version, can I get a discount?
A: SURE, Create a ticket on our discord and we will give you a discount code for the exclusive version.
Technical Questions
Q: How do I add a new skill category?
A: New skill categories can only be added in the exclusive version:
Use the in-game generator
Create your skill layout
Copy the generated config
Add it to your config file
Q: Can I modify skill effects?
A: Yes, there are two ways:
Change the
effect
value in the skill configurationUse the skill generator (exclusive version) to modify effects
Q: How do I integrate skills with other scripts?
A: You can use:
Event listeners (
devhub_skillTree:client:listener:skillUnlocked
)Exports (
hasUnlockedSkill
,getSkillEffect
)Server-side exports for checking skill status
Q: What's the difference between standard and exclusive versions?
A: Exclusive version includes:
Skill tree generator
Ability to create custom skill categories
Live preview of skill tree changes
More customization options
Q: What does effect do?
A: The effect option allows developers to centralize skill effect values, simplifying long-term script maintenance. By defining effects in one place, you can adjust skill-related attributes more efficiently without needing to modify multiple scripts. However, it is not mandatory to use this feature; it is entirely up to your preference!
Q: Can I block certain skills path when I unlock other skills?
A: Yes, you can use our built-in skill tree generator in the exclusive version to manage skill path blocking:
Select the skill you want to set as a blocker
Click on "Block skills after unlock" option
Select which skills should be blocked after this skill is unlocked
The selected skills will become unavailable after the player unlocks the blocking skill
This feature is useful for creating mutually exclusive skill paths or preventing certain skill combinations.
Common Issues
Q: Skill category from external script like mining is not working?
A: Make sure to:
Ensure the external script AFTER skill tree in your server.cfg
If you've restarted skill tree, you must also restart the desired script so skills can be added again
This is because external skills are registered on script start
Q: Skills aren't saving after server restart
A: Check:
Database connection
SQL file installation
Resource load order (devhub_lib must load first)
Q: When I join server my unlocked skills are not working, or skill tree is not opening?
A: Most likely you haven't configured devhub_lib playerLoaded event. Make sure to properly configure your framework's playerLoaded event in devhub_lib. This is required for the skill tree to initialize properly when a player joins the server.
Q: How do I block certain skills based on jobs?
A: Use the CategoryVisibilityHandler in server configuration:
To use framework remember to first register it on top of file.
Then configure the visibility:
Config.CategoryVisibilityHandler = {
['personal'] = function(source)
local job = ESX.GetPlayerFromId(source).job.name
return job == "police" -- returns false for non-police
end,
}
Performance Questions
Q: Will this impact server performance?
A: The impact is minimal because:
Skills are loaded only when needed
Effects are calculated client-side
Database operations are optimized
Events are throttled
Q: Does it support ESX/QBCore/Custom?
A: Yes, through devhub_lib which provides framework configuration. Configure your framework in devhub_lib settings.
Support
Last updated