Suppose two maps
building_base
and
building_top
. To setup the elevator, we first need two doors and two buttons. The buttons target the doors. Now, one of the doors will fire our changelevel upon closing but the other will target a multisource which we'll place near the button inside the elevator. Don't worry, we will put the list of entity specs in a bit.
Then we setup the functional level change setup. As with previous, we put our
trigger_changelevel
way up in the ceiling (or even hidden in a nook nearby, as long as the players can't reach it), an
info_landmark
in the middle of the elevator floor, and a
trigger_transition
covering the whole elevator interior. Note that the
trigger_changelevel
's change target will target a
multi_manager
that manages the elevator ride effect.
Finally we'll be placing a few atmospheric entities to create the sensation of riding an elevator. One
ambient_generic
for the starting and stopping sound, another for the travelling sound, and a third for the chime. An
env_shake
for the jolt. Lastly a
multi_manager
to manage them all.
The entity specs for the setup is as follows:
Door and button setup
- Outside func_button:
- Target:
elev_door
- Delay before reset: 4
- Inside func_button:
- Target:
elev_door
- Master:
elev_lock
- Delay before reset: 4
- One of the func_door:
- Name:
elev_door
- Fire on close:
changelevel_elev_relay
- Flags: ☑Toggle
- The other func_door:
- Name:
elev_door
- Target:
elev_lock
- Flags: ☑Toggle
- The multisource:
Changelevel setup
- trigger_relay (to delay changelevel)
- Name:
changelevel_elev_relay
- Target:
changelevel_elev
- Delay before trigger:
1
- trigger_changelevel
- Name:
changelevel_elev
- New map name:
building_top
- Landmark name:
lm_elev
- Change target:
elev_ride_mm
- Delay before change target:
1
- Flag: ☑ USE only (2)
- info_landmark
- trigger_transition
Elevator ride setup
- ambient_generic (the jolt sound)
- Name:
elev_jolt
- WAV name:
plats/talkstop1.wav
- Flags: ☑Start silent, ☑Not toggled
- ambient_generic (the moving sound)
- Name:
elev_move
- WAV name:
plats/elevmove2.wav
- Flags: ☑Start silent, ☐Not toggled
- ambient_generic (the chime sound)
- Name:
elev_chime
- WAV name:
plats/elevbell1.wav
- Flags: ☑Start silent, ☑Not toggled
Elevator ride setup (continued)
- env_shake (elevator jolt)
- Name:
elev_jolt
- Amplitude: 2
- Effect radius: 500
- Duration: 1
- 0.1=Jerk, 255.0=rumble: 1
- multi_manager
- Name:
elev_ride_mm
elev_jolt
= 1
elev_move
= 1.5
elev_jolt#1
= 6
elev_move#1
= 6
elev_chime
= 7
elev_door
= 8
- (Adjust delay as needed)
On the other map, the entire setup can be copy-pasted wholesale, with only the new map name of
trigger_changelevel
set to the first map (e.g.
building_base
) and everything should just work.