❔ 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
effectvalue in the skill configuration - Use 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.
Q: Can an item or other action be required for player to unlock skill ?
A: Yes, you can do it using Config.UnlockHandlerForSkills in configs/sh.main.lua
More on that you can find here
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: How many skills can I add?
A: Each category supports up to 171 slots (9x19 grid).
Q: Does it support ESX/QBCore/Custom?
A: Yes, through devhub_lib which provides framework configuration. Configure your framework in devhub_lib settings.
Support
Q: I found a bug, what should I do?
A: Follow these steps:
- Check the documentation
- Update to latest version
- Join Discord support
- Create detailed bug report