Non-ELS Lighting System

This document will outline how to make Non-ELS Vehicles in ZModeler

Once you have imported the asset, positioned it correctly and added any further details (Eg. Mounts), you are ready to setup the light.

How does Non-ELS Work?

Non-ELS lights use 'Sirens' (Which are technically lights) to communicate with GTA in order to make the lights work.

You can have up to 20 Sirens (Lights) on a Non-ELS vehicle. If you have over 20 light emissives, you may need to merge some to make it compatible with Non-ELS.

A scale factor is also used (Normally 0.1) in order to increase & decrease the size of the light which ultimately makes them visible, or not. - This will make more sense later on.

How the Non-ELS lights flash is based on a sequence in the carcols.meta data file. The sequence is a 32 bit binary number where:

  • 1 = Light on

  • 0 = Light off

A sequence may look something like this: 11010000110100001101000011010000

For more on carcols.meta files, please see Carcols (Non-ELS Only)

1. Setting up for Non-ELS

Firstly, it is always a good idea to centre the object to local axis which can be done by selecting the following button and clicking anywhere in a perspective window.

2. Creating & Moving a Dummy

Then select your emissive using Alt + Left Click and create a copy of it by going to Create > Copy, then clicking anywhere on a perspective window.

Select one of your copies and convert one to a dummy:

A blue box should appear

The dummy should then be moved to a point where the light would not be visible when switched off. If you have a module which is opaque, you can generally just move the dummy slightly back:

The centre of the box is in an area which cannot be seen outside

3. Resetting to Parent

Move the emissive into the dummy so the dummy is a parent of the emissive:

Deselect the dummy and select the emissive. It is very important to then 'Reset to Parent' which can be found in Display > Reset to Parent, then clicking anywhere in a perspective winnow:

This will re-centre the local axis of the emissive (the child) to the dummy (the parent) so when the light is scaled down using the scale factor mentioned previously (0.1), it will move to that point.

4. Rescaling the Emissive

Then go to 'Properties' in the Scene Nodes Browser and under 'Scale' write '0.1' for all XYZ views.

circle-exclamation

If you were successful, when hiding the dummy, the emissive should no longer be visible.

Wondering where it is? The emissive should have scaled down to the point where you moved the dummy to since we reset the emissive to parent.

The small pixels circled is the emissive. This is the place where the light will scale down to when not active.

5. Assigning a Siren

We mentioned earlier that FiveM supports 20 sirens. Each emissive (or group of emissives merged together) should be renamed to a siren. Eg. 'Siren1'

Especially when first starting out, creating a siren plan on Goggle Sheets is a good idea so you can keep track of what sirens go where. This is especially useful for Non-ELS as when the emissive is scaled down, it's hard to tell where the siren you have selected actually is:

However it does not have to be this complex. Just as simple as assigning a siren to a module/emissive

Rename the dummy and emissive to the siren you need. (In this case we will be using 'Siren1')

Unlike extras which are named as (Extra_1), you should not use an _ to name sirens.

Make a copy of the emissive (NOT THE DUMMY), until you have 3 emissives.

Each one of these will contribute to different level of details (L0, L1, L2).

There are 3 steps to LOD lights:

  1. Convert the Dummy to Compound - Ensure no LODs are selected!

No LODs selected

If done successfully, the dummy's name should turn bold

  1. Select the Lock icon to ensure you are only making edits to the Dummy:

  1. Select L0 and drag the first emissive (siren1) into the grey box above, underneath 'Default'.

If done successfully, it should look something like this:

Now select L1 and do the same thing:

Then for L2. Your final result should look something like this:

This needs to be done with every single light on your vehicle, all with different sirens:

circle-exclamation

Last updated