A rising platform is basically one or two brushes. The single brush platform is what you find in E1M1 that lifts you to the Green Armor, or in E1M5 that leads to the gold key door. As a matter of style, these platforms are used when they are up against a wall, and l33t map makers will put grooves under the main platform that run against the wall where grooves are. Look under the platforms in E1M2 or E1M5. There's two small brushes under the platform that are nested in the grooves in the wall. It's these little details that make for a cool Quake level.
Two-brush platforms have a thin stem under the main flat platform that the player stands on. You see them in DM 3, among other levels. Whatever you use, remember that every brush that should be associated with the platform has to be selected when you convert the brush into a platform. You may find it convenient to group multiple brushes together before selecting 'To Entity' to change them to a func_plat.
To make the platform, create a brush with the texture of your choice. Try and get the length of the brushes right before converting them to a func_plat, because sizing doesn't work really well with grouped items. The best way to edit grouped brushes that form an entity is to use the Vertex Manipulation tool. After that, select the brush, right click on the brush, and select To Entity. Select func_plat. The brush will turn pink in the three views screens. Place the platform where you want it to be in the UP position.
Set the travel altitude to a positive value that corresponds to the number of units it would take to lower your platform to the lowest position. One way to figure out this distance if your platform is the type with a 'stem' is to select the func_plat, then read the height value printed in the status bar below, then subtract about 8 or 16 from that value to allow some of the top of the platform to be showing when it is all the way down. If you have platform without a stem, you can go to selection mode and draw an outline rectangle in either the yz or xz 2d screen alongside the platform reaching from the top of the platform to the ground level and read off the height from that. Note: There is a limit to how long this travel altitude can be! From my experimenting, I have found the maximum value is (Height of platform) + 256. In other words, if you select your plat and it measures 44 units high, than the travel altitude can be no more than 300 units. This distance rule is also true for lip values on doors.
Speed, sound, and targetname are all set with pulldown menus. Platforms are activated when you
walk over them, but if you give your platform a 'Name' then the platform starts in the full up position
and must be triggered by something like a func_button or trigger_once before it initially comes down.
The only other thing you'll probably want to change is the sound.
path_corner can be used in other innovative ways. Those pushers
in Gloom Keep (E1M5) that often knock you down into the area with the fiends
are just a func_train brush using two path_corners: one to
push out, one to pull back in. (insert your favorite sexual reference joke
here)
Moving platforms and path_corner:
Moving platforms, a.k.a. trains, are the floating plates you see in the game, which frequently transport you over areas. Trains are always moving, unlike platforms, which activate when you walk on them. Moving platforms range from the simple one floating near the top of DM2 or the complex platforms in E3M4 (Satan's Dark Delight).
Platforms can have sounds set to them, although most floating platforms
are silent. You can set the speed as well, although the default speed is
sufficient. There's also a Damage option in SmartEdit that lets you inflict
serious pain on a user who is crushed by a platform.
A floating platform/train in practice.
Simple test. Make a large room, four walls, floor and ceiling. Create a starting point that's high off the ground, so you can have fun with rising and falling stops, and a flat brush that will function as the train (ie. where your character will stand). Convert that platform brush to func_train. Then create your first path_corner right next to the starting point, so the platform will be close enough for you to get on. It can be directly lined up with, higher or lower than, or to the left or right of the first stop point. Then add three more path_corner's.
Now, make a train with target and targetname. Enter 'target'
and 'stop2' by turning off SmartEdit. Remember, the target is the
next stop point. Using the hypothetical StopX, a platform with four corners
would be Stop1, Stop2, Stop3, and Stop4. Stop1, ostensibly where you first
get on the platform, has a target of Stop2 and a targetname
of Stop1. Stop2 has a target of Stop3, and Stop3 has a target of Stop4.
When you get to Stop4, it's target is Stop1. This completes the
circle.
Using path_corner for a walking monsters:
You set up a circular path for monsters the same way you would for platforms. Just remember they can't fly, except for Scrags, so keep your stop points on an even plane.
Set the path_corners for the circle you want the monster to walk in. Remember, the monster has to hit all of the path_corner points, so don't make it impossible for the monster to get around. Place your monster near the first point, and join the two using the target and targetname. Once you get to the last corner, point it back to the first path_corner so the circle is complete.
Single brush doors open in any direction. Draw a brush, then convert
it to a func_door by selecting the brush, right clicking, and selecting
To Entitiy. Doors have more spawnflags than armor, weapons, etc.
These fields are fairly straight-forward
Note on the key-opened doors: If you have a door or doors with either the gold or silver key flag selected, you do not need a trigger to open them! Also, if you have a 2-door set, then you must have the Don't Link box unchecked, otherwise only one of the doors will open when activated.
The 'toggle' switch allows a func_button or func_trigger to cause a door entity to open on the first activation of the func_ and to close on the next activation of the func_ entity.
A dual-brush door, one that splits in opposite directions, requires
two brushes. Convert both brushes to func_door separately, then
set their angles for opening in opposite directions, so they part when
they open. For example, a north-facing door (in the overhead view) would
open by setting the right door to open at 0 degrees and the left door at
180 degrees.
Secret doors follow the same paramenters as normal doors, although they
use func_door_secret. It also has several unique spawnflags.
Ok, here's the spawnflags broken down:
This is important. Set the spawnflag on the trigger to "kill target".
When you activate the trigger, the wall brush you made will disappear immediately. If you don't, the wall will behave like standard wall brush. This could be good for traps where you don't want to wait for the wall to open all the way.
Another use for func_walls: You can use a func_wall to have a wall or structure that appears in deathmatch-mode only, or only at certain skill levels, by setting the flags for "Not in Deathmatch" or "Not in Easy", etc.
Magic Texture changes: (Thanks to Autolycus for this tip!) func_wall entities work sort of like func_button entities in that it is possible to set up different textures on a given wall. To do this, you will need to either use one of the standard Quake button texture sets, or create your own. The naming of the textures is the key to this little trick!
As an example, create your wall brush (but not one that is an 'outside wall' in your map, because func_walls will 'leak' to the gray void) and then select 'To Entity' and select func_wall. Set the Name key to something like 'magic' or whatever. Depending on which version of Worldcraft you are using, you may have to turn 'Smartedit' off and manually add a 'targetname' value of 'magic'.
To set up your textures, you will need to use the Texture Application
mode (Shift-A) and give the wall face a texture appropriate for an animated
button. One good example would be the textures for the base buttons:
+0basebtn +abasebtn
Give your wall a texture of +0basebtn, and then create a trigger_multiple of your choice with a target value of 'magic' (same as the func_wall). Now, when you activate the trigger, it will change from the animated red button texture, to the solid yellow button texture. If you are creating your own textures, I think you can see how useful this can be! If you don't want animated textures, just create your normal texture and give it a name with +0 in front of it (that is the number zero, by the way) as the 'off' texture, and texture with +a in front of it for the 'on' texture- for example, +0monalisa and +amonalisa.
Holy hallucinations, it's magic! :-)
Portions Copyright (c)1996-97 Niklata and Thomas Winzig.