Press Enter to search

Emergency lights guide

How to Add Police Lights to Any FiveM Car (Working Sirens)

A GTA car flashes emergency lights when five parts line up: siren bones in the model, light lenses bound to those bones, a Sirens entry in carcols.meta, a link to it in carvariations.meta, and a siren slot that no other resource on your server already holds. Most add-on cars have none of them. Here is how each part works, how to add them by hand, and how to do it in your browser.

By FiveMRides. Updated .

Quick answer
  • Model: add bones siren1 to siren20 (max 20) and a lens mesh per light on vehicle_lightsemissive, skinned to its siren bone.
  • carcols.meta: a <Sirens> entry with a free id: bpm, one flash sequencer, colour and corona per light.
  • carvariations.meta: <sirenSettings value="id"/> on the car.
  • vehicles.meta: VC_EMERGENCY and FLAG_EMERGENCY_SERVICE, because some siren scripts ignore other classes.
  • Slot: only id & 0xFF counts. Pick 21 to 254 and keep it unique on your server.
  • Or drop the lights on the car in the FiveMRides Vehicle Studio BETA.

How emergency lights work in a GTA car

PartWhereWhat it does
Siren bones.yft and _hi.yftsiren1 to siren20. The light and the corona of siren N are emitted at that bone. The game finds the bones by name hash, so the names must be exact.
Light lensesEvery detail level of the modelMeshes on the vehicle_lightsemissive shader, skinned 100% to one siren bone, with vertex colour alpha 0 (alpha 1 and 2 are headlights, 3 and 4 taillights). They glow when their siren is on.
Sirens entrycarcols.metaAn id, a beat (sequencerBpm), head and tail light sequencers, and up to 20 siren items: rotation, flash sequencer, corona, colour and intensity.
Linkcarvariations.meta<sirenSettings value="id"/> tells the game which Sirens entry this model uses.
Classvehicles.metaVC_EMERGENCY plus FLAG_EMERGENCY_SERVICE. The siren script on our test server ignores cars of any other class.
Load orderfxmanifest.luaHandling, vehicles, carcols, then carvariations, so the link is read after the entry exists.

A trimmed Sirens entry (one light shown; the export writes one Item per light):

<Sirens>
  <Item>
    <id value="163"/>
    <name>my_police_car</name>
    <sequencerBpm value="220"/>
    <leftHeadLight><sequencer value="1431655765"/></leftHeadLight>
    <rightHeadLight><sequencer value="-1431655766"/></rightHeadLight>
    <leftTailLight><sequencer value="1431655765"/></leftTailLight>
    <rightTailLight><sequencer value="-1431655766"/></rightTailLight>
    <useRealLights value="true"/>
    <sirens>
      <Item>
        <flashiness>
          <sequencer value="1431655765"/>
          ...
        </flashiness>
        <corona>...</corona>
        <color value="0xFFFF0A0A"/>
        <scaleFactor value="2"/>
        ...
      </Item>
    </sirens>
  </Item>
</Sirens>

And in carvariations.meta, inside the car’s item:

<sirenSettings value="163"/>

ELS or non-ELS?

Everything in this guide is non-ELS: the lights are the ones built into GTA, defined in carcols.meta and switched by the game or by a siren script that drives native sirens. ELS cars work differently: an ELS resource reads its own configuration file for each car and usually flashes vehicle extras. A non-ELS car needs no extra resource to flash; an ELS car needs its ELS resource running. Pick one system per car and follow its rules.

The siren slot rule

This is the part most guides skip, and the reason a car can flash on its own and stay dark on a full server.

  • Only 8 bits count. The game keeps id & 0xFF, so there are 256 slots whatever number you write. Ids 163, 419 and 675 all land on slot 163.
  • The first resource loaded keeps the slot. In our October 2026 test of more than 60 police cars, the cars that stayed dark although their files were complete all shared their slot with a different Sirens entry loaded before them.
  • 0 to 20 belong to the base game. Use 21 to 254, and make sure no other resource on your server lands on the same slot.
  • A huge id is not the problem by itself. A 12-digit id lit up fine in our test, because the game reduces it the same way in both files. What matters is the slot it lands on.
  • Close FiveM completely after a change. The client keeps the first Sirens entry it loaded for a slot for the whole session, so restarting the resource is not enough.

Lights still dark? See FiveM emergency lights not working: 8 fixes.

Flash patterns: how the sequencer works

Each light has a 32-bit sequencer. The game walks through the 32 bits at the entry’s sequencerBpm, one bit per beat (60 / bpm seconds), and the light is on while its bit is 1. Two lights with opposite sequencers alternate. In the XML the value is written as a signed decimal number: 0x55555555 is 1431655765 and 0xAAAAAAAA is -1431655766.

PatternGroup AGroup B
Wig-wag0xF0F0F0F00x0F0F0F0F
Quad flash0xAA00AA000x00AA00AA
Double flash0xA000A0000x00A000A0
Strobe0xAAAAAAAA0x55555555
Steady0xFFFFFFFF0xFFFFFFFF

The car’s own headlights and taillights flash with the sirens through leftHeadLight, rightHeadLight, leftTailLight and rightTailLight. In the base game’s police Stanier entry the headlight sequencers are 0, so only its taillights flash; set them to 0x55555555 and 0xAAAAAAAA for a front wig-wag.

The manual route: Blender, Sollumz and CodeWalker

  1. Back up the resource and check that the car has no siren bones yet. If it does, edit its existing lights instead of adding new ones.
  2. Import the model (.yft and _hi.yft) in Blender with Sollumz.
  3. Add one bone per light, siren1 to sirenN, under chassis and at the end of the skeleton, so no existing bone changes index. Stay under 128 bones in total.
  4. Build or import the lightbar. Give each lens its own mesh on vehicle_lightsemissive, weighted 100% to its siren bone, vertex colour alpha 0. Housings go on chassis with a normal vehicle shader. Repeat on every detail level, or the lights vanish at a distance.
  5. Export and check. Re-open the exported files: the original bones must keep their index, name and position, and the car must still spawn with working doors and windows.
  6. Write the metas: the Sirens entry in carcols.meta with a free slot, sirenSettings in carvariations.meta, VC_EMERGENCY and FLAG_EMERGENCY_SERVICE in vehicles.meta, and the data files in the order above.
  7. Textures used by the lenses go in the car .ytd, each under 16 MiB.

The browser route: FiveMRides Vehicle Studio BETA

  1. Upload the car (one vehicle per upload) and open Emergency lights.
  2. Pick a preset: GTA vanilla style lightbars (police, Interceptor, Buffalo), the Buffalo push bar, unmarked visor, rear window or grille LEDs, or a simple FiveMRides bar.
  3. Drop it on the car: it snaps onto the roof, grille or glass. Move, rotate and scale it with the gizmo; mirror or duplicate it.
  4. Choose colours and a pattern: red, blue, amber or white per light; wig-wag, quad, double, strobe, sweep or steady; headlights and taillights can wig-wag too. The preview flashes live.
  5. Build and download one FiveM resource. The siren slot it picked is shown when the build is done and written in the resource.
By handVehicle Studio
ToolsBlender, Sollumz, CodeWalker, a text editorA browser
Siren bones and lensesPlaced and weighted by hand on every detail levelAdded by the export on every detail level
Siren slotPick one and check the server yourselfPicks one that no vanilla siren and no FiveMRides catalog car uses
Metas and load orderEdited by handWritten by the export
PriceYour time1 credit per car, charged after the build is verified

Install and test

  1. Put the resource in your resources folder and add ensure with its name to server.cfg.
  2. Restart the server, then close FiveM completely and reconnect, so your game loads the new Sirens entry.
  3. Spawn the car and switch the lights with your siren script’s key. On our test server Renewed-Sirensync uses Q.
  4. Check at night: the lights, the coronas and the headlight wig-wag. If the lights stay dark, look for a slot conflict first.

FiveM police lights FAQ

How do I add police lights to a FiveM car?

Five parts must line up: siren bones (siren1 to siren20) in the car model, light lens meshes on the vehicle_lightsemissive shader bound to those bones, a Sirens entry in carcols.meta that says how each light flashes, sirenSettings in carvariations.meta pointing at that entry, and the emergency class in vehicles.meta for siren scripts that check it. You can add them by hand in Blender with Sollumz, or in your browser with the FiveMRides Vehicle Studio.

What is the difference between ELS and non-ELS in FiveM?

Non-ELS cars use the emergency lights built into GTA: siren bones and a carcols.meta Sirens entry, switched by the game or a siren script. ELS cars are driven by an ELS resource with its own configuration file per car and usually flash vehicle extras instead of siren bones. A non-ELS car needs no ELS resource; an ELS car does.

How many emergency lights can a FiveM car have?

One Sirens entry drives up to 20 lights, siren1 to siren20. Every light also needs its own bone, and a GTA vehicle skeleton holds up to 128 bones, so a car that already has many bones has less room.

Why do my lights work alone but not with my other cars?

That is a siren slot conflict. GTA only keeps the last 8 bits of the siren id (id & 0xFF, so 256 slots), and in our tests the first resource loaded keeps a slot. Give each car a slot that no other resource uses, between 21 and 254 (0 to 20 belong to the base game), in both carcols.meta and carvariations.meta.

Can I add police lights to a FiveM car online?

Yes. The FiveMRides Vehicle Studio (beta) runs in your browser: upload the car, drop GTA vanilla style lightbars, a push bar or LEDs on it, pick colours and a flash pattern, and download a FiveM resource with the siren bones, lenses and metas set up. Uploading, analysis and the 3D preview are free with a FiveMRides account. Emergency lights cost 1 credit and seats 1 credit per car (debadging, if you also remove badges, 2 credits per vehicle), charged only after the resource is built and verified: a failed build is not charged.

GET 35% OFF YOUR FIRST RIDE

Join the FiveMRides list for new drops, free tools and subscriber-only deals. Your 35% code arrives right after you sign up.

We do not spam! Read our privacy policy for more info.

Scroll to Top