Introduction
It it occasionally handy to have an invisible non-tangible area that can be "used" to trigger an event. The easiest example to come up with is a set of double doors that must be triggered at the same time. Normally, if you wanted them to open at the approach of a player, you'd just use a
trigger_multiple
. But say you wanted the player to have to "use" the doors to open them. It's easy to set it up.
Setup
The Event
The event can be anything that needs to be triggered. For simplicity's sake, we'll stick with the double doors mentioned above. Using
func_door_rotating
entites, create the doors as you want them, and give them both the same name.
The Trigger
As stated above, rather than using a
trigger_multiple
to open the doors, we're going to use a
func_rot_button
. This won't exactly be a standard
func_rot_button
though. The most non-standard thing about it is it doesn't need an origin brush. Since its also going to be invisible, you can use the
AAATRIGGER
texture on it so it stands out as a trigger.
Below are the relevant entity properties you'll want to set.
- Render Mode (rendermode) - This should be set to Texture (2).
- FX Amount (renderamt) - This setting should be kept at 0. Along with the above setting, this will make the entity invisible.
- Targeted object (target) - Set this to the name of the doors, or of the event you want to activate.
- Sounds (sounds) - This should be set to 0 so that no sound is played when the button is activated.
- Delay before reset (wait) - The value of this will determine how often the button can be activated. For this example, a value of 4 is good.
- Distance (deg) (distance) - Set this to 0. This will cause the button to not move at all, immediately activating its target.
You'll also need to set the "Not Solid" flag in the
func_rot_button
Flag properties section.
That's that. As you can see, it's really not that complicated, but its not something that would immediately come to mind, but more of an alternate use. If you want a pre-made example map, refer to the file below.
Example
For a more concrete illustration, check out the example map linked below.