BSP HQ Logo by QuakeGod
BSP Headquarters Logo by QuakeGod

Back to Previous Lesson                    Go to next lesson

Lesson 13 - A Few More Triggers


Welcome back! As you remember in lesson 11, we reviewed several trigger entities. But there are many more triggers available in Quake. In this lesson, we'll look at some more of them. First, we need to do some housekeeping. Make a copy of your 'lesson12.map', name it 'lesson13.map' and load it into BSP. (If you don't have 'lesson12.map', click here to get a copy).


Now, we've already got a secret room, so let's put an exit trigger at the back of this room. If you moved the grenade launcher into this room in lesson 11, make sure to move it near the door, so it will allow the player to grab the weapon without exiting the level. When you've got plenty of space near the back wall of this secret room, switch to the Top View and draw a brush from (-704, -432) to (-576, -456). In a side view, set the top of this brush at 128 and the bottom at 0. That makes the brush fill the entire back wall of the secret room.

Switch over to the entity window and make this new brush into a 'trigger_changelevel' entity. Since we don't have a map of our own to link to, let's go ahead and link this map to E1M1 (Slipgate Complex). Add the key/value pair 'map' 'e1m1' to this entity. You could leave this key/value pair off if you want and the current map will restart. If you want to link to some other map, enter its name instead of 'e1m1'. Just enter the filename of the map, with no extension.

You'll notice that there is a 'no_intermission' flag available on this entity. If you set this, there will be no intermission screen displayed when the player exits the map. I kind of prefer seeing an intermission screen myself, so let's leave this flag cleared. Now, we'll need to add an intermission spot. Quake uses the player start location for an intermission spot if you don't enter one of your own.

To add an intermission spot, switch to the Top view and draw a 32x32 brush centered on (-464, 176). Make this into an 'info_intermission' entity and add a key/value pair of 'mangle' '25 -135 0'. Notice you don't have to set an angle flag. You use mangle instead for this entity. If you understand roll, pitch and yaw, you'll have no problem figuring out the x,y,z numbers for the 'value' portion of this key/value pair, but it may take some trial and error to get it just right. When you've got it set, switch to a side view and drag this brush up until the bottom sits on 184 on the z-axis. Now, when the player exits the level, he'll see a view of the second room. Of course, you can have multiple intermission spots in your map; if you do, Quake will pick a random spot to display. Cool, heh? Here's our intermission screen:

Quake Screenshot

Okay, now let's talk about some of the other triggers available in Quake. We won't actually draw anything in this part of the lesson, but there's a lot of important information. I don't profess to know everything about all the triggers, but I'll help you out with what I know. In addition to the triggers we've already covered in earlier lessons, Quake makes available the following triggers:

*trigger_setskill

This trigger can be used to set the skill level of your map. Remember in lesson 3 I showed you how to make different monsters appear at different skill levels? Well, here's how you can let the player set the skill level for themselves. You can set up a teleport-type brush (like in the Quake start map), or you can attach this trigger to a switch or button; it's really up to you. In order to set the skill level, add a key/value pair to the trigger. The key is 'message' and the value is '0' (easy), '1' (medium), '2' (hard), and '3' (nightmare!). That's all there is to it! The level setting will take effect at the start of the next map, so it's usually handy to make a start map before getting into your main map.

*trigger_relay

This trigger is fired by other triggers (it can't be touched by the player). It allows you to have multiple actions take place when the player trips a single trigger. In order to have it fire, make it the target of another trigger. For instance, when a player enters a room, you could have the lights go out, a crusher activate and a door open, all in sequence rather than at the same time. You can set a delay value for each trigger so that they will fire in sequence. Each trigger can have it's own message if you want and as far as I know, there's no limit to the number of relays you can string together. Just remember you don't want your player standing there watching stuff happen for 20 minutes :-)

*trigger_monsterjump

This trigger can be used to ambush unsuspecting players. When triggered, the monster touching it will jump in the direction set by its angle flag. You can use this to have monsters jump off ledges to surprise players. If you've ever played the Critters map by Jim Lowell you know this can be used quite effectively to scare the hell out of a player! You can also set the height the monster jumps with a key/value pair.

*trigger_hurt

This trigger can be used to damage a player. Used in conjunction with a trap, you can inflict the amount of damage set by the 'dmg' key/value pair. You can set doors and lifts to provide damage of their own, but this trigger can be used in instances where there is no damage flag available on an entity.

*trigger_onlyregistered

This trigger will fire only if the player is playing the registered version of Quake. I'm not sure why this is here, because you can't play custom levels with the shareware version anyway, but here it is. If the player doesn't have the registered version, you can have a message displayed here, admonishing him to upgrade, naturally ;-)


Well, over the course of this lesson and the ones prior to it, we have covered every type of trigger entity available in Quake. By now you should have a strong grasp on how to use BSP and have enough tools available to make a complete map on your own. Since we're done with our tutorial map now, we won't be using it again. In future lessons I'll be demonstrating techniques in a more detailed fashion, but we won't actually be drawing a map per se.

One more thing before we leave this map. We haven't given it a name! Make sure no brushes are selected and switch over to the entity window. Since no brush is selected, you should see the Worldspawn entity displayed in the middle of the entity window. Add a key/value pair of 'message' 'Tutorial Map'. This will now display a title on the status bar of our map. While you're at it you can set the world type: 0 for medieval, 1 for metal, and 2 for base. This must be set if you want to use keys in your map (it controls whether you see a key or a keycard, for example). You can set which CD track to play here too if you want.

This is a good time to take a break. In the next lesson I'll cover brush manipulation in greater detail, including shearing and vertex manipulation. See you soon!

Back to Previous Lesson                    Go to next lesson

BSP is the sole creation of Yahn Bernier. I am only a dedicated user, reporting news and making tutorials so Yahn can spend more time enhancing BSP. QUAKE is a registered trademark of Id Software, Inc. QUAKE(r), the stylized reproduction of the QUAKE(r) trademark, including, without limitation, the Q in QUAKE(r), and the images depicted in QUAKE(r) are the copyrighted property of Id Software, Inc. So there :-P

This web page was created and is being maintained by me (DeadMeat). The main logo for this site was made by QuakeGod. Most everything else was made by me.

All content appearing on this site after August 30, 1997 was written by DeadMeat. Also, DeadMeat's BSP Tutorials were created entirely by DeadMeat. All unauthorized use is prohibited. (c) 1997