Configuration
Comprehensive configuration guide for Dime Skills
Configuration
📝 Configuration file: shared/config.lua - Not escrowed, fully customizable
This guide covers all configuration options available in Dime Skills v1.9.0. The main configuration file is located at shared/config.lua.
v1.9.0 Changes: New GlobalMultipliers section added, disableSafetyCheck option removed
Framework Settings
Framework
Specifies which framework your server uses.
Framework = 'QBOX'Type: string
Options:
'QBOX'- Qbox-project framework'ESX'- ESX Legacy or Extended'OX'- Overextended framework'QBCORE'- QB-Core framework'Custom'- Custom framework (requires bridge modification)
Must match your server's framework exactly (case-sensitive).
Notification Settings
skillNotify
Controls how skill gain/loss notifications are displayed.
skillNotify = 'UI'Type: string
Options:
'UI'- Uses built-in UI notifications (recommended)'ox_lib'- Uses ox_lib notify system
UI Mode: Shows elegant popup notifications in the corner with skill progress ox_lib Mode: Uses standard ox_lib notifications with icon support
toggleNotifyCommand
Command to toggle notifications on/off for players.
toggleNotifyCommand = 'togglenotifyskills'Type: string
Usage: /togglenotifyskills - Players can enable/disable their skill notifications
Player preferences are saved using resource KVP (persists across restarts).
UI Controls
keybind
Keybind to open the skills menu.
keybind = 'U'Type: string | false
Options:
- Any valid FiveM key (e.g.,
'U','F7','K') false- Disables keybind (command only)
command
Chat command to open the skills menu.
command = 'skills'Type: string
Usage: /skills - Opens the skills UI
Debug & Safety
Debug
Enables debug logging for troubleshooting.
Debug = falseType: boolean
When enabled:
- Logs skill operations to console
- Shows detailed error messages
- Displays XP calculations
- Useful for development and troubleshooting
Disable in production for better performance.
GlobalMultipliers (v1.9.0)
Configure the global XP multiplier system for server-wide events.
GlobalMultipliers = {
enabled = true,
}Type: table
Options:
enabled(boolean) - Enable/disable global multiplier feature
Features:
- Run double XP weekends
- Temporary XP boosts for events
- Server-wide promotions
- Holiday bonuses
Usage:
-- Set via export
exports.dime_skills:setGlobalMultiplier(2.0, 7200) -- 2x for 2 hours
-- Set via command
/setglobalxp 2.0 7200Multipliers stack with individual skill bonus multipliers. See Global Multipliers Guide for examples.
deductOnline
Controls when XP degradation occurs.
deductOnline = trueType: boolean
Options:
true- Only deduct XP when player is onlinefalse- Deduct XP even when player is offline
Built-in Skill Systems
Strength System
Controls strength skill effects on melee combat.
Strength = {
enabled = true,
baseModifier = -0.35,
levelMultiplier = 1.00,
minModifier = 0.05,
maxModifier = 2.0,
}Properties:
enabled(boolean): Enable/disable strength effectsbaseModifier(number): Base damage modifierlevelMultiplier(number): Multiplier applied based on strength levelminModifier(number): Minimum possible modifiermaxModifier(number): Maximum possible modifier
Example: With default settings at level 0, approximately 8 melee hits are needed to kill.
Driving System
Controls driving skill effects and XP gain.
Driving = {
enabled = true,
SpeedUnit = 'MPH',
SpeedThreshold = 100,
validVehicleClasses = {
[0] = true, -- Compacts
[1] = true, -- Sedans
[2] = true, -- SUVs
-- ... etc
}
}Properties:
enabled(boolean): Enable/disable driving skill effectsSpeedUnit('MPH' | 'KMH'): Speed measurement unitSpeedThreshold(number): Speed required to gain XPvalidVehicleClasses(table<number, boolean>): Which vehicle classes grant XP
Vehicle Classes:
[0] = Compacts
[1] = Sedans
[2] = SUVs
[3] = Coupes
[4] = Muscle
[5] = Sports Classics
[6] = Sports
[7] = Super
[8] = Motorcycles
[9] = Off-road
[10] = Industrial
[11] = Utility
[12] = Vans
[13] = Cycles (Bicycles)
[14] = Boats
[15] = Helicopters
[16] = Planes
[17] = Service
[18] = Emergency
[19] = Military
[20] = Commercial
[21] = TrainsSet class to false to prevent XP gain for that vehicle type.
Stamina System
Controls stamina skill effects and XP gain methods.
Stamina = {
enabled = true,
xpGainMethod = "cooldown",
action = {
builtIn = true,
cooldown = 30,
xp = 10
}
}Properties:
enabled(boolean): Enable/disable stamina effectsxpGainMethod('cooldown' | 'continuous'): How XP is gainedaction.builtIn(boolean): Use built-in stamina tracking (don't modify)action.cooldown(number): Seconds between XP gainsaction.xp(number): XP amount per cooldown period
XP Gain Methods:
"cooldown"- Gain XP every X seconds while running/swimming"continuous"- Gain XP continuously based on stamina usage
Diving System
Controls diving skill and oxygen mechanics.
Diving = trueType: boolean
Enables diving skill which increases underwater breathing time.
DivingToStamina = {
enabled = true,
stepsToSkip = 2
}Properties:
enabled(boolean): Also grant stamina XP while divingstepsToSkip(number): How many diving XP gains before granting stamina
Crafting Skills
Enable skill requirements in ox_inventory crafting.
craftingSkills = trueType: boolean
When enabled:
- Crafting recipes can require skill levels
- Successful crafts can reward skill XP
- Automatic integration with ox_inventory
See Crafting Integration Guide for setup details.
Skill Tree DLC Integration
Configure integration with the optional Dime Skill Tree DLC add-on.
SkillTree = {
enabled = true,
pointsPerLevel = 1,
excludedSkills = {},
}Properties:
enabled(boolean): Enable/disable skill tree DLC integrationpointsPerLevel(number): Skill tree points granted per skill levelexcludedSkills(table): Array of skill names that don't grant tree points
Example Configurations:
-- Standard: 1 point per level from all skills
SkillTree = {
enabled = true,
pointsPerLevel = 1,
excludedSkills = {},
}
-- Exclude passive skills from granting points
SkillTree = {
enabled = true,
pointsPerLevel = 1,
excludedSkills = {'stamina', 'diving'},
}
-- Double points for faster tree progression
SkillTree = {
enabled = true,
pointsPerLevel = 2,
excludedSkills = {},
}The Skill Tree DLC is a separate paid add-on. See Dime Skill Tree for details.
Skill Configuration
Each skill follows the same configuration structure. Here's a detailed breakdown:
Skill Structure
skills = {
['skill_name'] = {
visuals = { ... },
levels = { ... },
rewardMax = number,
reduceMax = number,
job = 'string' -- optional
}
}Visual Properties
Controls how the skill appears in the UI.
visuals = {
category = 'Crafting',
label = 'Engineering',
description = 'Create complex mechanisms and structures...',
icon = 'tools'
}Properties:
category(string): Skill category (groups skills in UI)- Examples:
'Character','Crafting','Illegal','Jobs'
- Examples:
label(string): Display name shown in UIdescription(string): Detailed description shown when viewing skillicon(string): FontAwesome icon name (without 'fa-' prefix)
Finding Icons: Visit fontawesome.com/icons for available icons.
Level Configuration
Controls leveling mechanics and XP requirements.
levels = {
lvlMulti = {
default = 3,
[1] = 1.55,
[2] = 2.25,
[3] = 3
},
lvlMax = 30,
degrade = {
enabled = true,
time = 12,
amount = 250
}
}Properties:
lvlMulti(table): XP multipliers per leveldefault(number): Default multiplier for unlisted levels[level](number): Specific multiplier for a level
lvlMax(number): Maximum achievable leveldegrade(table, optional): XP degradation settingsenabled(boolean): Enable degradation for this skilltime(number): Hours between degradationamount(number): XP amount to remove
XP Calculation:
required_xp = level * 100 * multiplierExample:
- Level 1 → 2: 1 * 100 * 1.55 = 155 XP
- Level 5 → 6: 5 * 100 * 3 = 1500 XP
- Level 10 → 11: 10 * 100 * 3 (default) = 3000 XP
Reward & Loss Limits
Safety limits for XP changes.
rewardMax = 20 -- Maximum XP gain per operation
reduceMax = 20 -- Maximum XP loss per operationType: number
Purpose:
- Prevents exploits (giving too much XP)
- Maintains game balance
- Detects potential cheating attempts
Operations exceeding these limits will be logged (if Debug enabled) and may be blocked.
Job Restrictions
Lock skills to specific jobs (optional).
job = 'mechanic'Type: string | nil
When set:
- Only players with specified job can see/use the skill
- XP gains are blocked for players without the job
- Skill hidden from UI for unauthorized players
Examples:
job = 'mechanic' -- Only mechanics
job = 'ambulance' -- Only EMS
-- job = nil -- Available to all (don't include key)Action Configuration
For built-in skills with automatic progression.
action = {
builtIn = true,
cooldown = 30,
xp = 10,
event = 'resource:eventName' -- optional
}Properties:
builtIn(boolean): Uses internal progression systemcooldown(number): Seconds between automatic XP gainsxp(number): XP amount per progressionevent(string, optional): Event triggered on level up
Only modify cooldown and xp values. Don't change builtIn for default skills.
Example Skill Configurations
Character Skill
['strength'] = {
visuals = {
category = 'Character',
label = 'Bodybuilding',
description = 'Build your muscular strength to enhance physical power.',
icon = 'dumbbell'
},
levels = {
lvlMulti = { default = 2.0 },
lvlMax = 20
},
rewardMax = 450,
reduceMax = 20,
action = {
builtIn = true,
cooldown = 15,
xp = 10
}
}Job-Locked Skill
['crafting'] = {
visuals = {
category = 'Crafting',
label = 'Engineering',
description = 'Create complex mechanisms and structures.',
icon = 'tools'
},
levels = {
lvlMulti = {
default = 3,
[1] = 1.55,
[2] = 2.25
},
lvlMax = 30
},
rewardMax = 20,
reduceMax = 20,
job = 'mechanic'
}Skill with Degradation
['stamina'] = {
visuals = {
category = 'Character',
label = 'Endurance',
description = 'Increase your physical stamina.',
icon = 'running'
},
levels = {
lvlMulti = { default = 2.0 },
lvlMax = 1000,
degrade = {
enabled = true,
time = 12, -- Every 12 hours
amount = 250 -- Lose 250 XP
}
},
rewardMax = 500,
reduceMax = 250,
action = {
builtIn = true,
cooldown = 30,
xp = 10
}
}Configuration Tips
Starting Out
- Use Defaults: Start with default configurations
- Test Thoroughly: Test XP gains and losses in-game
- Adjust Gradually: Make small changes and test
- Enable Debug: Use debug mode to see XP calculations
Balancing
- Consider Playtime: Balance XP rates with expected playtime
- Level Curve: Use multipliers to create a progression curve
- Max Level: Set realistic maximum levels
- Degradation: Use sparingly to avoid frustrating players
Performance
- Disable Unused Skills: Remove skills you don't need
- Reasonable Cooldowns: Don't set cooldowns too low
- Limit Degradation: Too much degradation increases database load
- Debug in Production: Always disable debug in production