Ares Electrician - Installation & Configuration Guide
Version: 1.2.0 Authors: RKY, Roro Framework Support: ESX, QB-Core, QBX Dependencies: ares-core (required)
📋 Table of Contents
Overview
Installation
Dependencies
Configuration Guide
Job Sites
Leveling System
Customization
🎯 Overview
Ares Electrician is a multiplayer job system that allows players to work as electricians, completing electrical repairs across the map. Features include:
Multiplayer lobbies - Team up with other players (powered by ares-core)
Dynamic job dispatch - AI-generated job locations with varying difficulty
XP & leveling system - Earn experience and unlock pay multipliers
Mini-games - Interactive electrical repair challenges
Customizable job sites - 20+ pre-configured locations
Work vehicle system - Spawn and manage job vehicles
Reroll system - Don't like the job? Reroll for a new one
🚀 Installation
⚠️ Important: Resource Name
The resource folder MUST be named exactly:
Do not rename the folder. The script will not work correctly with any other name.
Resource Start Order
Ares Electrician requires ares-core to be started first:
Setup Steps
Extract the resource to your server's
resourcesfolderEnsure ares-core is installed (see ares-core documentation)
Add to server.cfg in the correct order (see above)
Configure job center and sites (see Configuration Guide)
Restart your server
No database setup or items required - the script handles everything.
📦 Dependencies
Required
ox_lib- Core library for UI and menusares-core- Lobby system and infrastructure
Framework (Choose One)
ESX (
es_extended)QB-Core (
qb-core)QBX Core (
qbx-core)
Optional
ox_targetorqb-target- Entity/zone targetingox_inventoryorqb-inventory- Enhanced inventory integration
The script automatically detects your framework, target system, and inventory.
⚙️ Configuration Guide
All configuration is done in config.lua.
Framework Settings
Description: Framework detection mode.
Options: 'auto', 'esx', 'qb-core'
Recommended: Leave as 'auto' for automatic detection.
Language Settings
Description: Language code for UI and notifications.
Default: 'en' (English)
Location: Language files are in shared/lang/*.json
Adding custom languages:
Duplicate
shared/lang/en.jsonRename to your language code (e.g.,
fr.json)Translate all values (keep keys unchanged)
Set
Config.Language = 'fr'
Lobby Settings
Description: Maximum players allowed in a job lobby. Range: 1-4 recommended Note: Other lobby settings (timeout, ID length, etc.) are configured in ares-core
Target & Inventory Systems
Target
string
Target system detection
'auto', 'ox_target', 'qb-target'
Inventory
string
Inventory system detection
'auto', 'ox_inventory', 'qb-inventory'
Recommended: Leave both as 'auto'.
Menu & UI Settings
menu
string
Menu system to use
'custom', 'ox_lib'
Notification
string
Notification system
'ox_lib', 'custom'
Menu types:
'custom'- Ares custom UI (recommended)'ox_lib'- ox_lib menus
Notification types:
'ox_lib'- ox_lib notifications (recommended)'custom'- Your own system (editclient/framework/notify.lua)
Job Site Interaction
Description: How players interact with job sites.
Options: 'default' (E key interaction with text notification)
Note: More interaction systems may be added in future updates.
Animation Settings
Description: Animation played when interacting with electrical panels. Customization: Change to any valid GTA V animation dictionary and name.
Inventory Item Aliases
Description: Maps logical item names to inventory-specific item IDs. Use case: If your QB and OX inventories use different item names.
Dispatch Settings
maxDistance
number
Maximum job distance from player (meters)
10000.0
minPay
number
Minimum base payout
500
maxPay
number
Maximum base payout
2500
difficultyMultipliers
table
Payout multipliers by difficulty
See config
rerollCooldown
number
Cooldown between rerolls (ms)
5000
maxRerolls
number
Maximum rerolls allowed
10
How dispatch works:
Player starts job at job center
System randomly selects a job site within
maxDistancePayout is calculated:
basePay * difficultyMultiplier * levelMultiplierPlayer can reroll job (with cooldown) up to
maxRerollstimes
Example - Higher payouts:
📍 Job Center
coords
vector3
Job center location
radius
number
Interaction radius (meters)
blip.sprite
number
Blip icon ID
blip.color
number
Blip color ID
blip.scale
number
Blip size
blip.name
string
Blip label
Finding coordinates:
Go to desired location in-game
Use
/getcoordsor F8 console with:
🎯 Markers
Description: 3D markers shown at job sites to help players locate interaction points.
enabled
boolean
Enable/disable markers globally
size
vector3
Marker dimensions (width, height, depth in meters)
color
table
RGBA color values (0-255, alpha 0.0-1.0)
bobUpAndDown
boolean
Animate up/down movement
faceCamera
boolean
Always face player camera
rotate
boolean
Continuously rotate
drawDistance
number
Maximum render distance (meters)
heightOffset
number
Height above ground (meters)
Common marker types:
0- Cylinder1- Arrow20- Chevron Up (recommended)28- Vertical Cylinder
Custom marker colors: Use RGBA Color Picker to find colors.
Example - Red pulsing marker:
🚐 Work Van Settings
model
string
Vehicle model name
spawnCoords
table
Array of possible spawn locations (vector4)
spawnRadius
number
Radius to check if spot is occupied (meters)
plate
string
License plate text
useRandomPlate
boolean
Generate random plate instead
fuel
number
Initial fuel level (0-100)
requiredItems
table
Items player must have to spawn vehicle
giveKeys.enabled
boolean
Give vehicle keys to player
giveKeys.qbcoreOnly
boolean
Only give keys on QB-Core
giveKeys.event
string
Event to trigger for key distribution
Spawn Coordinate System
The script cycles through spawnCoords to find a free spot:
Checks first coordinate
If occupied within
spawnRadius, tries nextRepeats until free spot found or all checked
Adding more spawn points:
Vehicle Keys Integration
For QB-Core:
For other key systems:
Disable vehicle keys:
Required Items
Enable item requirements:
Disable item requirements:
🗺️ Job Sites
Job sites are the core of the electrician system. Each site represents a location where players perform electrical repairs.
Job Site Structure
id
number
Unique identifier
name
string
Job site name
coords
vector3
Location coordinates
difficulty
string
Difficulty level ('easy', 'medium', 'hard', 'expert')
basePay
number
Base payout before multipliers
blip
table
Map blip configuration
marker
table
Custom marker overrides (optional)
minigame
string
Mini-game type
heading
number
Player/prop heading (degrees)
description
string
Job description
Available Mini-games
Mini-game types:
"wiring"- Connect wires in correct order"circuit_panel"- Place fuses in 3D panel"terminal"- Terminal-style interface
Pre-configured Job Sites
The script includes 20+ pre-configured locations:
4
Gas Station - Route 68
Hard
Terminal
5
Hospital - Pillbox Hill
Hard
Terminal
6
Power Substation - Mirror Park
Hard
Terminal
7
Fleeca Bank West Coast
Hard
Terminal
8
Lumber Jack
Medium
Wiring
9
Caravan Electrical Panel
Medium
Circuit Panel
10
Arcade AC Unit
Hard
Terminal
11
Ice Cabinets
Medium
Wiring
12
LS Port Electrical Box
Medium
Circuit Panel
13
Cypress Warehouse
Hard
Terminal
14
Vinewood Sign Maintenance
Medium
Wiring
15
Rebel Radio Power Unit
Medium
Circuit Panel
16
Wind Farm Generator
Hard
Terminal
17
Lamp Replacement
Medium
Wiring
18
Dam AC Unit
Medium
Circuit Panel
19
Postal Service Power Unit
Hard
Terminal
20
Warehouse Maintenance
Medium
Wiring
21
Mining Site Maintenance
Medium
Circuit Panel
22
Gas Pump Electrical Box
Hard
Terminal
23
Farm Lamp Maintenance
Medium
Wiring
24
Construction Generator
Medium
Circuit Panel
25
Airport Power Box
Hard
Terminal
Adding Custom Job Sites
📊 Leveling System
The XP and leveling system rewards players for completing jobs.
Notification Settings
theme
string
UI color theme
'emerald'
xpDuration
number
XP notification duration (ms)
2500
levelUpDuration
number
Level up notification duration (ms)
6000
xpToLevelDelay
number
Delay between XP and level up (ms)
300
animationDelay
number
Delay between perk animations (ms)
80
soundEnabled
boolean
Enable notification sounds
true
Available themes:
'emerald'(default green)'blue''violet''amber''rose'
Level Configuration
level
number
Level number
multiplier
number
Pay multiplier at this level
xpRequired
number
Cumulative XP needed to reach level
UnlockedRewards
table
Rewards shown when leveling up
Pre-configured levels:
1
0
1.0x
Base pay
2
100
1.1x
+10%
3
1,500
1.15x
+15%
4
4,000
1.20x
+20%
5
8,000
1.35x
+35%
6
15,000
1.50x
+50%
How Leveling Works
XP Calculation:
Payout Calculation:
Example:
Base Pay: $800
Difficulty: Hard (2.0x)
Player Level: 5 (1.35x)
Final Payout: $800 × 2.0 × 1.35 = $2,160
Adding More Levels
🎨 Customization
Editable Files
These files are not protected by escrow and can be customized:
config.lua
Main configuration
shared/lang/*.json
Language files
shared/framework.lua
Framework adapter
client/framework/notify.lua
Notification system
Custom Notifications
File: client/framework/notify.lua
Default system (ox_lib):
Custom system:
Then edit notify function in client/framework/notify.lua:
Custom Language Files
Create new language:
Copy
shared/lang/en.jsontoshared/lang/fr.json(example)Translate all values (keep keys unchanged)
Set in config:
Language file structure:
Do not change:
Key names (left side)
JSON structure
Only translate:
Values (right side)
📝 Quick Reference
Essential Configuration Checklist
✅ Install ares-core first
✅ Set resource start order in
server.cfg✅ Configure
Config.JobCenterlocation✅ Adjust
Config.WorkVan.spawnCoordsfor your map✅ Review and customize
Config.JobSites✅ Tune
Config.Dispatchpayouts✅ Configure
Config.levelingprogression✅ Test job flow and mini-games
Performance Tips
Keep
Config.Markers.drawDistancereasonable (10-20m)Disable markers if using target system
Optimize job site count for server population
Use reasonable
maxDistancein dispatch settings
Common Customizations
Higher payouts:
Faster leveling:
Disable vehicle keys:
🔧 Troubleshooting
"ares-core not found"
Ensure ares-core is started before ares_electrician
No jobs appearing
Check Config.Dispatch.maxDistance and job site coordinates
Vehicle won't spawn
Verify spawn coordinates aren't occupied/invalid
Markers not showing
Enable Config.Markers.enabled = true
Wrong language
Check Config.Language matches file in shared/lang/
No XP gained
Verify Config.leveling.defaultXPPerJob is set
Lobby not working
Check ares-core configuration
Need Help? Join our Discord: https://discord.gg/eDEJUawmMh
Last updated
Was this helpful?

