Flickering light via instance

Avatar
d401tq
14 Posts
Posted Jul 20, 2012
Hello all

I am trying to create a randomly flickering light. To simplify my problem, we shall consider a regularly flickering light, i.e. one that, every second, turns off briefly.

Here is my method:

I have taken a strip light instance, and added a func_instance_ioproxy.
The proxy has 2 outputs:

  1. OnProxyRelay InstanceLight Toggle Delay=0
  2. OnProxyRelay InstanceLight Toggle Delay=0.05

Thus, every time the proxy receives an input, the light should go off briefly (assuming it starts on).

The proxy is then controlled by a logic_timer outside the instance.

However, when I compile, I see a light which is turning on and off at regular intervals. Does anybody know why this is, how to fix it, or a better way to achieve what I want?

Thanks in advance.

Advertisement
Registered users don’t see ads! Register now!
Avatar
Brainstone
401 Posts
Posted Jul 20, 2012
Replied 53 minutes later
The instance Proxy relay isn't working like you think it is. It is a helper for the mapper when you use it the way you have done.
Better do it like in this picture:

To start the light flickering, give the random_case the input "PickRandom". To stop it, "kill".
(If you want the light flickering to start, stop and start again, you'll have to outsource the random picking to a logic_relay.) Extend the number of cases how you wish. Make the delays smaller for a faster flickering light.

Alternatively, if you want to keep the way you are doing it:
Place a logic_relay in the instance:
OnTrigger-->light-->TurnOff-->0
OnTrigger-->light-->TirnOn-->0.05 (You could even insert $lightstayooftime in here and add a instance_parms inside of the instance)

An instance_io_proxy
OnProxyRelay-->InstanceLogic_relay-->Trigger

Now give the corresponding input instance:InstanceLoggic_relay;Trigger to your instance. (It pops up, when you click on the little arrow)

Images 1
Post image 1
Avatar
d401tq
14 Posts
Posted Jul 20, 2012
Replied 1 hour later
Thank you very much for your reply. If you could answer a couple more things I would be very grateful - what would be the best way to make it flicker briefly on - I'm presuming, as someone fairly new to Hammer that this would require the light to be initialised as off, but can't see how to set this within the entity itself - would I require loading the level to trigger it off?

Also how does one pass the variable from func_instance_parms to the logic relay? How do you make it vary randomly?

Thanks.

Avatar
ChickenMobile
2,460 Posts
Posted Jul 20, 2012
Replied 3 hours later
You could use a random time in a logic_timer in order to control the flickering of your light.

I made a flickering light like this previous. However be careful, flickering lights can be annoying or create headaches.

Advertisement
Registered users don’t see ads! Register now!
Avatar
d401tq
14 Posts
Posted Jul 21, 2012
Replied 13 hours later
Thank you - yes I am already using a logic_timer in that way to trigger the io_proxy, however I was asking how to vary the $offtime variable randomly.