Elevator (Portal 2)

Elevators are used in Portal 2 to transition the player from level to level. They are not to be confused with the Disassembler, which took the players from level to level in coop. The elevators are present in Overgrown, Reconstructing, Clean, and Wheatley themes.
== Adding Elevators to a Map ==
===Entrance Elevator===
1. Select the entity tool, create a , and give it the fixup name "Arrival_Elevator" and the VMF file name "instances/turbine_elevator/arrival_elevator_a4_base.vmf"
2. To make things simpler, and to not have to create two func_instances and find the second one through all this mess, simply duplicate the "Arrival_Elevator" instance and place the copy exactly back on top of the original.
3. Double-click either one and change the name to "Arrival_Logic" with the VMF file name "instances/turbine_elevator/arrival_elevator_a4_logic.vmf"
You can use one of the other elevators to use a different theme, as long as you have both the elevator and the logic instances.
=== Transition Manager ===
4. Create one more func_instance entity anywhere; a convenient place is right behind the elevator model (but not inside the arrival elevator!). Name this one "Arrival_Departure_Trans" with the VMF file name "instances/transitions/arrival_departure_transition_ents.vmf". This instance covers the transition for both the Arrival AND Departure elevators, but it does not cover the .vmfs for the departure elevator (read below).
You were able to set the videos on the elevators by setting the variables in this instance before the DLC2 - update (Puzzlemaker) broke it. This is still possible. By replacing (remember to keep a backup of the original script)
:"<Your Steam Folder>\SteamApps\common\portal 2\portal2_dlc2\scripts\vscripts\videos\video_splitter.nut"
with
:"<Your Steam Folder>\SteamApps\common\portal 2\portal2\scripts\vscripts\videos\video_splitter.nut"
you'll be able to set arrival- and departure- videos, instead of a random one being chosen on upload; e.g. try setting $arrival_video to media/animalking.bik. For a complete list of available videos, see this page.
=== Exit elevator ===
5. To create the exit elevator, simply repeat steps 1-3 but instead of "arrival_elevator" you will choose "instances/turbine_elevator/departure_elevator_a4_logic.vmf" and "instances/turbine_elevator/departure_elevator_a4_base.vmf" both of which are located in the same folder. Name these "Departure_Elevator" and "Departure_Logic" respectively.
=== Connection to the map ===
6. You will notice that sticking out of the middle of the elevators on one side is an extension that looks like a hallway. You must connect this passage to your map. A door would look good here.
Now your elevator is complete, congratulations!
==Spawning Without a Potato (Advanced)==
1. Repeat steps 1 and 2 above.
2. At step 3, replace the instance "instances/turbine_elevator/arrival_elevator_a4_base.vmf" with "instances/turbine_elevator/arrival_elevator_base.vmf".
3. Double click on the instance and click on Edit Instance. Immediately save it under a new name ("my_arrival_elevator_base.vmf", for example), because we'll be doing some changes in it. Also, don't forget to modify the VMF Filename of the instance in the main map.
4. Double click on the named "elevator_1_interior_start_trigger" that covers the elevator model.
5. Go to the Outputs and copy the line with: 
::
	My Output 	Target Entity	Target Input 	Parameter 	Delay	Only Once
	OnStartTouch	elevator_1 	MoveToPathNode	@elevator_1_bottom_path_1	0.10 	No
6. Delete that output line, and place a entity named "proxy" near the elevator model.
7. Go to the Outputs, and Paste the line copied before.
8. Change the "OnStartTouch" output to "OnProxyRelay". Save your instance.
9. Go back to your main map and create a and a in the elevator (make sure that the player is not stuck in the elevator).
10. Create a trigger_once entity that covers the whole elevator model and info_player_start.
11. Add this output:
::
	My Output 	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnStartTouch	Arrival_logic	instance:elevator_1;MoveToPathNode	0 	0.00 	No
12. Finally, save your map and compile it.
== Spawning Without a Potato (simple) ==
1. Create a named "player_settings."
2. Place a somewhere in your map (preferably next to the </code>logic_playerproxy</code> so you can easily find them both).
3. On the Output tab of the logic_auto, add this output:
::
	My Output 	Target Entity 	Target Input 	Parameter	Delay	Only Once
	OnMapSpawn	player_settings	RemovePotatosFromPortalgun	 	1.00 	No
4. Finally, save your map and compile it.
==Spawning Without a Potato (simple #2)==
1. Create a at the bottom of the arrival elevator.
2. Place a portal gun above the trigger.
3. In the settings of the portal gun, adjust it to your preference (such as no potatoes or single portal only).
== Creating an Underground Elevator ==
1. Follow instructions above, but use "instances/underground/test_dome_entrance_lift_01.vmf" for the Arrival_Elevator and don't make Arrival_Logic.
2. In your elevator, make an info_player_start. If it won't work in the 3D view, make it in the 2D view and move it down so it touches the floor of the elevator. (NOT the shaft, the actual elevator itself.)
3. Create a logic_auto (or, if one already exists outside of an instance, use that). On the outputs tab, put the following output:
::
	My Output 	Target Entity 	Target Input	Parameter	Delay	Only Once
	OnMapSpawn	Arrival_Elevator-entrance_lift_train	StartForward	 	0.00 	No
This will show up as invalid. It will still work. The "simple" instructions for changing the portalgun apply here. I'm not sure the "advanced" instructions do.
== Creating an Underground Elevator (simple) ==
Go and open the VMF file maps\instances\underground\test_dome_entrance_lift_01.vmf.
Go and find the entity called "@test_dome_lift_entry_teleport," change its name to "@arrival_teleport," then save.
== Custom Entrance and Exit ==
If you wish for the player to spawn at a specific point, create a point_teleport and name it "@arrival_teleport," then set the Entity to Teleport to "!player."
For a custom exit, add the following output to the trigger or other entity that ends your level.
::
	My Output 	Target Entity 	Target Input	Parameter	Delay	Only Once
	"insert output"	@exit_teleport	teleport 	 	0.00 	No
If it says that the output is invalid, ignore it.
==See also==
* Underground Elevator
* Instance
Category:Portal 2 Level Design
Category:Portal 2 Tutorials
== External links ==
*Portal 2 Elevator Guide - A Steam Community Guide