How to add an elevator, Part 1

Prerequisites:
Everything under The Basics
How to add a Deus Ex style door
Download and install the Carone Elevator mod

Overview:
Creating a fully functional elevator can seem like a daunting task, but fortunately there is a better way than fumbling around with Dispatchers and tons of triggers.  The Carone Elevator mod does much of the work for you.  It not only makes setting up elevators pretty painless, it also adds a good deal of functionality.

UPDATE: On March 28, 2002, Carone made an updated version of his elevator mod available, which fixes a major bug and provides even more functionality.  Be sure to download the latest version!  Also, be sure to check out his Hotel Carone mod.

In Part 1 you will build a basic elevator with two buttons in it to simply move from floor to floor.  If you're creating a simple platform type elevator, that may be all you need.  Elevators in the real world are rarely that simple however.  In Part 2 you will add doors at each floor, as well as "call buttons" at each floor.  Finally, in Part 3 you will add a set of inner doors that move with the elevator and an interior open/close button.

 

1. Download and install the Carone Elevator mod

All three parts of this tutorial use the Carone Elevator mod.  However, Part 1 could be done without it by substituting "ElevatorMover" for "CaroneElevator" and "SequenceTrigger" for "CESequenceTrigger".  I would recommend against that, since you'll most likely want to include the features in Part 2 and 3, which are only available using the mod.

Download the mod (click here), exit UnrealEd if you're in it, copy the CaroneElevatorSet.u to your \DeusEx\System folder, and add the line "EditPackages=CaroneElevatorSet" to the [Editor.EditorEngine] section of your DeusEx.ini file.  Now when you pull up UnrealEd, you'll see a new brush type under Brush -> Mover called CaroneElevator, a new trigger called CESequenceTrigger, and a new trigger called CESequenceDispatcher.

Note that you will have to distribute the CaroneElevatorSet.u file with your map(s).  Or you could extract the .uc files and include them in your own package, if you are comfortable with that.  Please remember to give credit to Carone if you do distribute anything that uses his mod.

 

2. Create the initial elevator brush or brushes

You are free to create any shape you can think up for your elevator, but for this tutorial, I'll step through creating a traditional looking elevator as an example.  You may want to start with a map that you've already created that has multiple floors.

Now you'll build the basic shape of the elevator.  First, be sure to select Reset -> All from the Brush menu.  You want to make sure the selection brush is not scaled in any way.  Now right-click on the "Build a Cube" button, select Cube Properties, and select Hollow.  Make it any size you want, but here's a suggestion to get you started:

Hit the Build button and move the selection brush somewhere where it isn't touching any brushes.  Select a texture from the texture browser and hit the Add Brush To World button (looks like this: ).

At this point you will have a hollow cube with no way to get in, so create a subtract brush for the doorway.  Here's an example for setting the selection brush size:

Move the selection brush into place to cut a doorway into your hollow brush and hit the Subtract from Word button (looks like this: ).

Hit F8 and Rebuild Geometry.  Be sure to completely texture your elevator before going on to the next step.  You won't be able to change the textures on your mover brush.  It might be a good idea to keep your original elevator brushes somewhere in your map in case you do need to change the textures (you'd have to rebuild your mover, but you won't have to start from scratch).

 

3. Create the CaroneElevator mover brush

The next step will be to make your set of "normal" brushes into a mover brush - you'll actually be creating a new brush based on the brushes you've already added. To make 100% sure that the selection brush is correct, size the red selection brush so that it is a bit bigger than the brush you just added. Be sure to check all 3 2D windows. Hit the intersect button: (third button down in the third column) and the selection brush will be perfectly sized to your elevator brush. Make sure Classes is selected in the Browse drop-down and expand the following items: Actor -> Brush -> Mover.  Select CaroneElevator.  Now go ahead and press the Create Mover button: (sixth button down in the third column).

At this point, you will actually have THREE brushes in the same place: the red selection brush, the blue "Addition" brush, and a purple "Mover" brush. Move the red selection brush out of the way, and click on the purple brush to select it.  Move it somewhere, and you'll notice that your original brush is still there.  The purple brush that is now in your map will only show up as an empty wireframe. However, it will show up fine when playing the level.

If your map doesn't already have multiple floors (or simply have one room above another), you'll need to set that up.  If the area where your elevator is going to move is already "subtracted", then your fine.  Otherwise, you may need to create a subtract brush to allow room for your elevator to move.  This is essentially your "elevator shaft".

 

4. Set up the elevator key frames for each floor

You may need to create doorways into your elevator shaft, depending on how you set it up.  Using subtract brushes of the same height and width of the subtract brush you used to carve the elevator door earlier should work well.  Subtract doorways at each floor and make sure they are lined up vertically.

Move your elevator brush where you want your first floor to be.  At this point, if you want to make sure your mover brush is OK, go ahead and hit F8, Rebuild Geometry, and make sure you can walk into and out of your elevator.

Now right-click on your elevator mover and select Mover Keyframe -> Key 1.  This will be the position of the elevator at your second floor.  Move your elevator to your second floor.  If you'd like your elevator to start out on the first floor, right-click on it again and select Mover Keyframe -> Key 0.  Your elevator should move back to the first floor.

 

5. Add CESequenceTrigger's for each floor

Give your elevator brush a name.  Right-click on it, pull up its properties, and set its Tag value to something, such as Elevator_A.

You'll need one CESequenceTrigger item for each floor.  So expand Actor -> Triggers -> Trigger and select CESequenceTrigger.  Add one to your map near your elevator for controlling your first floor.  Set its Events -> Event value to the name of your elevator (such as Elevator_A) and set its Tag value to something descriptive such as ElevatorA_Floor1.  Now expand the CESequenceTrigger category and set seqnum to 0.  It will already be zero, but it's important to know what the zero is doing for you.  It refers to the Keyframe number of your elevator.  In this case, you put your elevator's first floor position at Key 0.

Now add a CESequenceTrigger for your second floor.  Set its Event value to the name of your elevator and set its Tag value to something like ElevatorA_Floor2.  This time, set the CESequenceTrigger -> seqnum value to 1.

To set up additional floors, add additional CESequenceTrigger items the same way.

 

6. Add interior floor buttons and associate them with CESequenceTriggers

Now you'll add two buttons inside the elevator to control moving to the first and second floors.  If you have more than two floors, you can add the others later, but for now, let's just get two floors working.

In the Class browser, expand Actor -> Decoration -> DeusExDecoration and select Button1.  Add this to your map and position it so that it's flush with the inside wall of your elevator.

Right-click on the button and pull up its properties.  Set its Movement -> AttachTag to the name of your elevator.  This will cause the button to move with the elevator.  Let's make this the button to go to the second floor, so expand the Button1 category and set ButtonType to BT_2, which will show up as a "2" button in the game.  If you are only going to have two floors, you could also set the ButtonType to BT_Up, which will show up as an "up arrow" button.  Now the important part: set the button's Events -> Event value to whatever you named your CESequenceTrigger for the second floor.  For example, ElevatorA_Floor2.

Add another Button1 item for going to the first floor, but set its ButtonType to BT_1 (for a "1" button) or BT_Down (for a "Down arrow" button).  Set its Movement -> AttachTag to the name of your elevator and its Event to the name of your first floor CESequenceTrigger, such as ElevatorA_Floor1.

At this point, you should be able to enter your elevator, hit the appropriate button, and go to a different floor.  Give it a try!

 

7. Add elevator sound effects (optional)

You may have noticed that your elevator is eerily silent.  To add some sounds, select SoundFX in the Browse drop-down, then MoverSFX in the next drop-down, and finally Elevator.  Pull up your elevator mover's properties and expand the MoverSounds category.  After selecing a sound effect from the SoundFX browser, click on one of the MoverSounds values and hit the Use button.  Here's an example to get you started:

 

In Part 2, you'll add call buttons and doors to each floor.


Back to main page