J-ELS & NON-ELS — Emergency Lighting System for FiveM
Advanced emergency vehicle lighting, sirens, and signage for FiveM. J-ELS gives you full control over light stages, siren modes, park patterns, takedown lights, and rear matrix message boards — all synced across players with zero XML files.
Non - Els: Resmon (0.01) Driver only
ELS: Resmon (0.02/0.03) Driver only
Performance dose not scale
Documents: https://jakers.gitbook.io/jakers/assets/j-els
Realistic Multi-Stage Emergency Lighting
- Cycle through configurable light stages per vehicle (Q key by default)
- ELS mode: extras flash using 32-bit binary sequencer patterns at configurable BPM — no siren nodes or XML required
- Non-ELS mode: stage-based extra toggling for vehicles with traditional siren setups
- Per-extra spotlight rendering via
DrawSpotLight with configurable color, range, intensity, offset, and direction - Day/night intensity scaling — spotlights automatically adjust brightness based on in-game time of day
- Scene Sync: vehicles with
scenesync enabled flash their patterns in unison using a shared game clock - 30 built-in pattern presets (Alternating, Wig-Wag, Triple Flash, Strobe, Chase, Beacon, and more)
Intelligent Siren Control
- Three configurable siren modes per vehicle with custom or default GTA audio
- Hold-to-honk horn with automatic siren restore on release
- Siren toggle (Left Alt) and hold-to-cycle (R) keybinds
- Custom audio bank support — loaded server-side
.awc siren packs - Damaged siren sound when vehicle health drops below a configurable threshold
- Auto Siren: speed-based automatic mode switching — intersection yelp and pursuit priority with configurable speed thresholds, hysteresis gaps, and debounce timers
- Per-vehicle siren and horn overrides in config
Automatic Park Patterns
- Vehicles automatically switch to a park pattern when stopped with lights active
- ELS vehicles get per-stage park patterns with independent sequencer threads — different flash patterns at each stage while parked
- Non-ELS vehicles toggle dedicated park extras when parked
- Park patterns deactivate when the vehicle starts moving again
Takedown and Alley Lights
- Dedicated takedown toggle (H key) with linked extras and off-extras
- Takedowns stay on independently of light stages — they persist even when lights are turned off
- Smart conflict resolution: stage sequencers automatically exclude takedown extras to prevent override flickering
- Supported on both ELS and non-ELS vehicles
Matrix Message Board
- Attachable rear LED message board rendered via DUI on 3D props
- 20-slot prop pool supporting up to 20 simultaneous matrix boards across vehicles
- Configurable preset messages organized by category (Police, Traffic Control, Pursuit, Safety, etc.)
- Custom text input with optional server-side restriction to presets only
- Adjustable font color, flash patterns, scroll speed, font scale, padding, and brightness
- Per-vehicle position presets saved server-side — attach to any vehicle bone (chassis, bumper, roof, trunk, etc.)
- In-game position editor with WASD/scroll nudge controls and axis gizmo visualization
- Toggle board text on/off (K key) without removing the prop
- Distance-based render optimization with configurable max range and vehicle limits
In-Game Controller HUD
- Visual status panel showing current light stage, siren mode, takedown, and park pattern state
- Dynamic button layout — only shows controls relevant to the current vehicle's capabilities
- Draggable and repositionable — layout saves per-client via KVP storage
- Configurable scale and screen position
- Auto-shows when entering an emergency vehicle, auto-hides on exit
Driver Preferences Menu
- Per-player preference overrides for auto siren, sound effects, park patterns, siren shut-off, keep engine running, scene sync, environment lighting, and controller HUD
- Preferences persist across sessions via client-side KVP storage
- Server controls which preferences drivers are allowed to override
- Accessible via keybind (F5) or
/drivermenu command - Reset button to restore all settings to server defaults
NUI Sound Effects
- Custom audio cues for lights on/off, stage upgrade/downgrade, horn press/release, park pattern toggle, and reminders
- Per-sound volume control in config
- Optional sync mode: nearby players hear your SFX via state bag replication
- Driver preference to toggle SFX on or off
Built-In ELS Debug Tool
/elsdebug command for building and testing ELS configurations in-game- Export configs directly from the debug tool for easy workflow
- Toggle via
DebugMode in config — disable in production
Synced and Networked
- All state (lights, sirens, horn, takedowns, park patterns, matrix boards) synced to all players via FiveM state bags
- Entity owner applies extras and audio; all other clients run their own ELS sequencer threads from replicated state
- State ensured on vehicle entry — late joiners and players entering scope get the correct visual state
Performance Optimized
- Nearby vehicle limiter: only the closest ELS vehicles render spotlights (configurable cap and max distance)
- ELS draw thread sleeps at 500ms when no active vehicles are nearby, 0ms (every frame) only when rendering
- Intensity multiplier cached and refreshed every 5 seconds instead of per-frame
- Matrix board distance culling with configurable render range and vehicle cap
- Automatic cleanup of dead, despawned, and out-of-scope vehicles
- Keep engine running after exit so extras and sirens persist without re-entering
Framework Agnostic
- Permission gates with replaceable
isEnabled() functions — plug in QBCore, ESX, ace perms, or any custom check - Depends only on
ox_lib — no framework lock-in - Lua 5.4 with FXv2 OAL enabled
Easy Configuration
- Single
config.lua controls everything: keybinds, global settings, colors, pattern presets, siren sounds, matrix options, and per-vehicle overrides - Add vehicles by model hash with per-vehicle siren sounds, ELS extras, stages, park patterns, and takedowns
- Matrix position presets saved as JSON server-side per vehicle model
Developer Exports
Quick Setup
- Drag and drop into your resources folder
- Pre-configured with example ELS and non-ELS vehicles
- Includes a custom siren audio pack (
dlc_wmsirens) ready to use out of the box