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.
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.
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
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 premade example map, refer to the file below.
For a more concrete illustration, check out the example map linked below.