The only HL-entity with a random function is the
env_beam.
If there are two or more entities with the endingtarget name (I didn't try this with the startingtarget, yet.), the beam will randomly select one of them at each strike.
To trigger random events, you let the beam do some damage and cover the endingpoints with hurt-able buttons.
How to do what you want to achieve:
- create and env_beam and an info_target for the startingpoint.
- set the 'life' time to some low value, like '0.1' and set the 'damage' value to '100' or so.
- do NOT activate the 'toggle' flag and activate the 'random strike' flag.
- set up several func_buttons, make them trigger immediately and not move at all - set their health value to '1'.
- name all buttons the same and also put that name into the 'ending entity' field of the beam (every button must have an origin brush at its center, otherwise the beam will aim at [0|0|0])
Now you have a number of buttons that each trigger a different event.
If you just want varying delays between the sound playing, let each button trigger an individual
trigger_relay . Let each relay have a different delay time (between 60 and 120 for 1-2 minutes) and let each of them trigger the same
multi_manager.
Let the
multi_manager trigger the sound and the laser, without a delay, to create an infinite loop.
Start the whole thing with any trigger you like.
Done!
Of course this would be much cooler, if you used different variations of the sounds, to not only have varying delays, but also varying noises.