logo

Making a Secret Door using the trigger_multiple Entity

Author: Kasper Kivikataja (kz`Exodus)
Editor: Robert Engdahl (Egir) [Notes from the editor are marked with square brackets]

This tutorial explains in detail how to make a secret door like the one in cs_mice_final. The process is rather similar to making a door that opens by a press of a button; in place of the func_button we use a trigger_multiple as an invisible trigger --- when the player touches the invisible trigger, it will cause door to open.

What We Will Need

(short version, follow the guide for further instructions)

Item Value
Func_Door Name: door1
Trigger_Multiple Target: door1
Func_Illusionary -

Making the Door

Start by making a wall; anything that has a hole in it. Select the NULL texture, create a door (that fits in the hole) and press Ctrl + T. Choose Func_Door from the drop down list and give it the following values:

Option name Value
Name: door1
Delay before close: -1 (stay)
Angle: down
You can find the Angle field in the Object Properties window for the func_door. The Angle determines where the door slides to, and we want it to go underground and stay there.

Making a func_illusionary Entity to Cover the Door (Making it More Secret, Heh)

Now we need to make an exact copy of the func_door, except it should be func_illusionary. The func_illusionary should be placed inside the first door. Give the func_illusionary any texture you want to. For example a texture similar to the wall as illustrated in the picture below:

Remark: If you copy & paste func_door and change it to func_illusionary, remember to clear the settings; especially the name field because we dont want the func_illusionary to move, or whatever it might want to do when triggered.

Making the Invisible Trigger

Now we have a door that closes and an illusionary that covers our closing door, so all we need is a trigger_multiple: If you have never used a trigger_multiple, there is no need to worry, because it is quite simple to use.

Make a normal sized crate (for example, see the next picture) and place it somewhere the player can reach. Make it trigger_multiple by presssing Ctrl + T and give it the following value:

Option name Value
Target: door1

Trigger_multiple will be invisible so don't worry about the texture [Originally the AAATrigger texture was meant for this purpose; it makes it easier to spot entities that will be invisible ingame when mapping]. You should think about what would be good place for the invisible trigger --- maybe somewhere the player has to climb.

If you want to add more triggers --- meaning that the player has to run through each and every one of them in any order --- simply create another func_door (Name: Door2) and another trigger_multiple (Target: Door2) and place "Door2" inside your first door. [A cleaner approach would be to use a multisource targetting a single func_door and have any number of trigger_multiples targetting the multisource entity; that is what the multisource entity is for]

You can also play with Func_door's Delay before close times. Set this to 10 seconds and the door will stay open for 10 seconds after it was triggered --- the player would have to hurry. In case you want to add such a delay, you should make a button inside the secret room that opens the door(s) so players won't get stuck inthere.

Congratulations

Now you have door that opens when triggered (by triggering I mean when player touches your invisible box)

Conclusion

Secret rooms can be used on anything. You can place there weapons, map by logo's, etc. Obviously adding more triggers makes it more exciting, so remember that everytime you make new trigger, you DO NOT need to make new illusionary.