Making a flickering light in hammer

You’ve got a flickering light, but can’t change the model’s skin to match? You want it to, but can’t work out how?

Well, you can’t.

Sucks, right? But don’t worry, it can be faked (and convincingly too)!

What we’re going to do is set up timers to control the flickering instead. This is, in some ways, better than the preset because it is random rather than the same sequence repeated over and over.

What you will need:

two logic_timers with the same name (e.g. flickertimer)

a named light (e.g. flickerlight)

a named prop_dynamic (e.g. flickerprop) for the light with an on and off skin

Set one of the timer’s properties to be:

Start Disabled

No

Use Random Time

Yes

Minimum Random Interval

0.05

Maximum Random Interval

0.5

And the other to be

Start Disabled

Yes

Use Random Time

Yes

Minimum Random Interval

0.3

Maximum Random Interval

0.8

You can change the times if you want, but this is what works well in my opinion. The first set of times controls how long the light is turned off for, the second set how long it is on.

Now the important part, the outputs.

For the first one that controls how long the light will be off:

Output

Target entity

Input

Parameter

OnTimer

flickerlight

TurnOn

OnTimer

flickerprop

Skin

1

OnTimer

flickertimer

Toggle

Note: Delays are all 0.00, Only Once is No. Replace the targetnames with whatever you’re using and change the skin to whatever the model’s on skin is. It should be TurnOn, since these outputs will fire AFTER the timer is done.
For the second timer that controls how long the light will be on:

Output

Target entity

Input

Parameter

OnTimer

flickerlight

TurnOff

OnTimer

flickerprop

Skin

0

OnTimer

flickertimer

Toggle

Set this up and you’ll have a nice flickering effect on your lights, easy!