Skip to content

Configuration

Every option in tChirp's config.lua with its type and default: access, which ELS the siren is read from, chirp timing, per-model sound assignments, and the keys renamed in 1.1.0.

Everything is in config.lua. Edit the file, restart the resource. tChirp runs with zero edits.

Access

Who may park-kill a car onto the chirp list. The default is everyone.

OptionTypeDefaultWhat it does
Config.access.modestring | list"everyone"everyone, ace, job, item, custom, or a list of them
Config.access.acestring"tchirp.use"For mode = "ace"
Config.access.jobtable{ police = 0, sheriff = 0, statepolice = 0 }name = minimum grade; 0 accepts any
Config.access.itemstring"police_radio"For mode = "item"
Config.access.countnumber1How many of that item
Config.access.customfunctionnilTakes a player id, returns true to allow

A list passes if either entry does. Six frameworks and nine inventories resolve out of the box.

Siren provider

tChirp asks one question: was the siren on? The default, auto, covers every case below, including two ELS resources on one server.

OptionTypeDefaultWhat it does
Config.sirenSystemauto | tels | lvc | lvc_fleet | els_fivem | jls | als | native"auto"Which system is asked whether the siren was on
Config.sirenResourcestable{ tels = 'tELS', jls = 'Jace3483_JLS' }Folder names of the two export-based providers
SystemRead fromName needed?Notes
tELSexports[name]:IsSirenActive(vehicle)Yes — tels
JLSexports[name]:IsSirenActive(vehicle)Yes — jls
Luxart Vehicle Controllvc:UpdateThirdParty eventNoOn when the tone is above zero
LVC Fleetthe same event as LVCNo
ELS-FiveMels:setSirenState_c eventNo
Advanced Lighting Systemthe four ALS:*SirenClient eventsNoEither siren counts as on
Plain GTA sirenIsVehicleSirenOn(vehicle)NoThe fallback when nothing else claims the car

Rename tELS or JLS and you must say so in Config.sirenResources, or it silently stops answering.

The cascade order

With auto, the first provider that recognises the vehicle answers:

txt
tels → lvc / lvc_fleet → els_fivem → jls → als → native

Asking about a vehicle you are not in

LVC, ALS and ELS-FiveM only answer for the vehicle you are in. Asking IsSirenActive about any other car both gets a useless answer and suppresses your own park kill, so do not poll nearby traffic.

My ELS is not one of these

Nothing claims your vehicles, so every park falls through to the native check.

SymptomWhat happened
Nothing ever chirpsYour ELS sets no siren flag; the check reads false
Every park chirps, siren offYour ELS never clears the flag; the check reads true forever

For the second, pinning Config.sirenSystem to the closest match is a workaround, not a fix. Report your ELS and it can be supported directly, as ALS is.

Chirp timing

OptionTypeDefaultWhat it does
Config.chirpMinIntervalMsnumber ≥ 14000Shortest gap between chirps, ms
Config.chirpMaxIntervalMsnumber ≥ 16000Longest gap between chirps, ms
Config.chirpMinDurationMsnumber ≥ 175Shortest chirp, ms
Config.chirpMaxDurationMsnumber ≥ 1125Longest chirp, ms
Config.debugbooleanfalseDEBUG log level on client and server

Ranges are inclusive and drawn fresh per chirp. Min equal to max gives a fixed value; min above max is refused at startup; there is no upper bound. Config.debug prints a line per park kill, sync, chirp and refusal — leave it off on a live server.

Vehicle assignments

OptionTypeDefaultWhat it does
Config.chirpAssignmentstableeight base-game police modelsSpawn name → the sound that model chirps
lua
Config.chirpAssignments = {
    ['police']  = { sound = 'VEHICLES_HORNS_POLICE_WARNING', ref = 0 },
    ['police2'] = { sound = 'SIREN_PRIORITY', ref = 'DLC_WMSIRENS_SOUNDSET' },
}

sound goes to PlaySoundFromEntity; ref is a soundset name or 0 for these:

sound, with ref = 0What it is
VEHICLES_HORNS_POLICE_WARNINGShort attention chirp. The default
VEHICLES_HORNS_SIREN_1Wail
VEHICLES_HORNS_SIREN_2Yelp
VEHICLES_HORNS_AMBULANCE_WARNINGPowercall

A malformed entry — no sound, or a bare number where the table belongs — is reported at startup by model name, not skipped.

Still stuck? Support can answer it directly.

Was this page helpful?