Editable settings live in three files under config/:
| File | Purpose |
|---|---|
main.lua | Core setup, employer NPC, vehicles, markers, minigames |
scenarios.lua | Easy/Hard routes, rewards, cooldowns, repair points |
levels.lua | XP thresholds and pay/XP multipliers (levels 1–10) |
Open each file and change only what you need — this page is the short reference.
Setup (config/main.lua)#
setup = {
debug = 4,
checkVersion = true,
autoSQL = true,
textui = 'auto',
notify = 'auto',
fuel = 'auto',
vehiclekeys = 'auto',
progress = 'auto',
},
| Option | Default | What it does |
|---|---|---|
debug | 4 | Console output. Use 1 on a live server unless troubleshooting. |
checkVersion | true | Warns if a newer script release exists on startup. |
autoSQL | true | Creates 0r_electrician_players if missing. |
textui | 'auto' | [E] prompts backend. |
notify | 'auto' | Toast notifications. |
fuel | 'auto' | Fills spawned trucks. |
vehiclekeys | 'auto' | Gives keys when the job starts. |
progress | 'auto' | Pre-minigame progress bar. |
Supported setup.textui values: auto, ox_lib, lt-ui, jg-textui, esx_textui, okokTextUI, cd_drawtextui, lation_ui, lab-HintUI.
Supported setup.notify values: auto, ox_lib, lt-ui, esx_notify, okokNotify, pNotify, mythic_notify, brutal_notify, wasabi_notify, origen_notify, lation_ui, qb-notify.
Supported setup.fuel values: auto, ox_fuel, lt-fuel, LegacyFuel, qb-fuel, qs-fuelstations, cdn-fuel, x-fuel, okokGasStation, esx-sna-fuel, ps-fuel, BigDaddy-Fuel, Renewed-Fuel, lc_fuel.
Supported setup.vehiclekeys values: auto, qb-vehiclekeys, qbx_vehiclekeys, qs-vehiclekeys, mk_vehiclekeys, 0r-vehiclekeys, MrNewbVehicleKeys, t1ger_keys, mVehicle, okokGarage.
Supported setup.progress values: auto, ox_lib, lt-ui, progressbar, lation_ui, wasabi_uikit.
With 'auto', LTBridge picks the first compatible running resource.
General#
| Option | Default | What it does |
|---|---|---|
locale | 'en' | UI and notify language — see locales below |
currency | 'USD' | Symbol shown in the job menu |
currencyFormat | 'en-US' | Number formatting (e.g. tr-TR, de-DE) |
Locales in locales/: en, tr, de, fr, pl, es, pt, th, zh.
Set locale to match your server language. Translation files are JSON in the locales/ folder.
Job#
| Option | Default | What it does |
|---|---|---|
interactionDistance | 1.325 | How close players must be to start a repair |
paymentAccount | 'cash' | Framework money account for job payout |
inviteDistance | 10.0 | Max meters to invite another player |
Blips#
blips.employee, blips.vehicle, blips.point — each has label (locale key or plain string), color, sprite, scale.
Employer NPC (employees)#
Array of employer locations. Default is one NPC at 735.74, 130.51, 79.7.
| Field | What it does |
|---|---|
label | Display name (locale key or string) |
coords | vector4 — position and heading |
model | Ped model |
scenario | Idle animation scenario |
blip | Show map blip |
targetIcon | Target menu icon |
vehicleSpawnCoords | vector4[] — where work trucks spawn |
Add more entries to run multiple job sites.
Vehicles#
vehicle = {
model = 'utillitruck4',
lostPenalty = 10,
secondaryVehicle = {
model = 'utillitruck3',
minPlayers = 3,
},
},
| Option | What it does |
|---|---|
model | Primary crane truck (do not change unless you know the crane logic) |
lostPenalty | Percent deducted from pay per lost truck at job end (e.g. 10 → $1000 becomes $900) |
secondaryVehicle.model | Extra truck for larger crews |
secondaryVehicle.minPlayers | Spawn second truck when crew size is at least this (default 3) |
Plates are generated as EC####; fuel is set to 100% on spawn.
Reconnection#
| Option | Default | What it does |
|---|---|---|
reconnection.enabled | true | Allow disconnected members to rejoin the same lobby |
reconnection.time | 5 | Minutes before the player is removed from the lobby |
Check problem (pre-minigame)#
| Option | Default | What it does |
|---|---|---|
checkProblem.enabled | true | Progress bar before the minigame opens |
checkProblem.duration | 2500 | Bar duration in ms |
checkProblem.animDict / animName | think anim | Animation during the check |
Clothing#
| Option | Default | What it does |
|---|---|---|
clothing.enabled | true | Show uniform toggle in lobby |
clothing.animation | true | Play change animations |
clothing.force | false | Auto-apply uniform on job start |
clothing.data | component slots | Drawable/texture per body part |
Markers#
| Option | Default | What it does |
|---|---|---|
useCustomMarkers | true | Use res_markers textures from electricianjob-assets |
markers.default | — | Fallback marker style |
markers.fusebox / traffic_light / cable / breaker | — | Per-type icon, size, color, offset |
When useCustomMarkers is false, standard GTA markers are used instead.
Minigames (minigames)#
| Block | Key options |
|---|---|
lamp | brokenChance (0–100), zone size/offset, objects[] streetlight models |
fusebox | tickMs, swapDurationMs, successDelayMs |
traffic_light | randomizeInterval min/max ms, traffic light object hashes |
animations — per-type in / loop / out anim dicts. traffic_light and breaker can alias cable.
UI#
| Option | Default | What it does |
|---|---|---|
ui.roster.position | 'bottom-right' | In-job progress HUD placement |
Allowed values: top-left, top-right, left-center, bottom-left, bottom-right, right-center.
Scenarios (config/scenarios.lua)#
Each scenario is one table in the returned array:
| Field | What it does |
|---|---|
id | Unique string (easy, hard) |
difficulty | 1 = Easy, 2 = Hard (UI display) |
players | { min, max } crew size allowed |
image | Scenario card image in web/public/images/scenario/ |
awards | Base { xp, money } before level multipliers |
cooldown | Minutes after start before same scenario again (0 = off) |
regions | Array of regions; each region must have the same number of points |
Each point inside a region:
| Field | Required | What it does |
|---|---|---|
type | Yes | lamp, traffic_light, fusebox, cable, or breaker |
coords | Yes | vector3 world position |
heading | fusebox only | Ped facing at the panel |
camera | fusebox only | { x, y, z, rotX, rotY, rotZ } for the fusebox view |
On job start, one region is picked at random. Edit coordinates to build custom routes for your map.
Levels (config/levels.lua)#
Ten levels. Only XP is stored in the database; level is calculated at runtime from these thresholds.
| Level | Min XP | XP multiplier | Money multiplier |
|---|---|---|---|
| 1 | 0 | 1.00 | 1.00 |
| 2 | 100 | 1.05 | 1.05 |
| 3 | 200 | 1.10 | 1.10 |
| 4 | 300 | 1.15 | 1.15 |
| 5 | 400 | 1.20 | 1.20 |
| 6 | 500 | 1.25 | 1.25 |
| 7 | 600 | 1.30 | 1.30 |
| 8 | 700 | 1.35 | 1.35 |
| 9 | 800 | 1.40 | 1.40 |
| 10 | 1000 | 1.45 | 1.45 |
Final payout: scenario awards × level money multiplier − vehicle loss penalty.