Teleporters

From Valve Developer Community
Jump to navigation Jump to search
English (en)한국어 (ko)Português (pt)Русский (ru)中文 (zh)Translate (Translate)
For the TF2 building, see obj_teleporter.

Teleporters can be created using standard Source entities.

Note.pngNote:If you want to teleport an entity which did an action, use the below. An entity, such as the Player, will retain the angles and velocity they had.
OnBlah > !activator > Addoutput > origin x y z
Note.pngNote:If you want to reset the player velocity, see trigger_teleport_relative. In Counter-Strike: Global Offensive, use this vscript command instead.
OnBlah > !activator > RunScriptCode > self.SetVelocity(Vector(0,0,0))

One-way teleporter

Start by creating a brush and texturing it with tools/toolstrigger. Now select the brush and press CTRL + T, or right-click the brush and select Tie To Entity, select trigger_teleport and click Apply. This will be the area in which a player must enter to be teleported (see picture on the right).

  • Set the 'Remote Destination' to an appropriate name (teleport_destination_1, for example).
  • Change to the 'Flags' tab and check the 'Clients' flag to allow players to teleport.

Next, create an info_teleport_destination from the entity list where you want the teleport exit to be. This will be the point where the player is teleported to.

  • Set the 'Name' attribute to the appropriate name that was used in the previous step (teleport_destination_1).
Note.pngNote:Place this entity a few units above the surface. For some reason, players can become "stuck" when the entity lines up with the surface. A few units is hardly a noticeable fall after teleporting.

Now in game, when you touch the trigger_teleport, you come out at the info_teleport_destination.

Two-way teleporter

An example of a two-way teleportation.

Making a two-way teleporter is very similar to a one-way teleporter, and if you can make one of those work successfully, all thats required is common sense.

Firstly, create the 2 brushes that will become your teleport entrances, and texture them with tools/toolstrigger. Now, as with one-way teleports, press CTRL + T, or right-click and select Tie To Entity and select trigger_teleport for both of them.

  • Set the keyvalues and flags the same as a one-way teleporter, except for Remote Destination.
  • Set the Remote destination keyvalue of one teleport entrance to an appropriate name (teleport_destination_1, for example) and the other entrance, to another name such as teleport_destination_2.
  • Name these brush entities something appropriate, like teleport_entrance_1 and teleport_entrance_2.


Now create 2 info_teleport_destination entities. These will be where you are teleported to.

  • Set the Name of each of them to the appropriate names thought up earlier (teleport_destination_1 and teleport_destination_2, for example).
  • Place the one teleport destination near to the entrance that does not teleport to it.
  • Place the other teleport destination near to the other teleport entrance.
Note.pngNote:This means teleport_destination_1 would be next to teleport_entrance_2, and teleport_destination_2 would be next to teleport_entrance_1
Warning.pngWarning:Make sure that no part of any info_teleport_destination entity is touching the trigger_teleport brush it is next to. If this happens, whenever you teleport, it will either fling you back through the other teleport or cause an infinite loop where you are repeatedly teleporting between the 2 destinations.
Note.pngNote:The names of these entities are not significant, but it makes it easier to understand.


Now when you step into teleport_entrance_1 you will be teleported to teleport_destination_1 and the same with teleport_entrance_2 and teleport_destination_2.


Making Teleporters Team-Specific

Note.pngNote:This section only applies to team-based games.

If you have teleporters in your map that are out in the open, and you want to make them team-specific, add 1 filter_activator_team per teleporter that you are making team-specific.

  • In the filter properties, name your activator, and set the 'Team' to whichever team you want the teleporter to be used by.
  • Open your trigger_teleport properties, and set 'Filter Name' to the name of the corresponding filter.


Note.pngNote:You can also use other filter_activator_* entities, such as filter_activator_mass_greater

External links