trigger_changelevel
| CChangeLevel |
trigger_changelevel is a trigger entity available in all
Source games. Upon being triggered, it will prompt the game to load another level.
changelevel command through either a point_servercommand or code. This will not preserve entity states.Notes
Place an info_landmark in both maps to mark the same location in both maps. The info_landmark must be in the player's PVS when the level change is triggered. If it is not, the level change will fail. Both info_landmark entities must have the same name. This name must not have any spaces in it. They also must not be inside a solid brush. Both the landmark name and the map name must be less than 32 characters in length.
Level transitions must be two-way. That is to say, there must be a trigger_changelevel in the next level that points to the current level, as well as the trigger_changelevel taking the player to the next level. If a one-way level transition is desired, simply make this second trigger_changelevel inaccessible to the player (and/or check the Disable Touch flag).
To fire events in the next level, use a trigger output to turn on an env_global in the current level. The entity has a few pre-defined states but you can manually type your own custom state. Create a logic_auto in the next level that checks for the state set by the env_global. Now use the OnChangeLevel output of the logic_auto to trigger events.
To control which entities go through the level transition, create one or more trigger_transitions and give them the same name as the landmark. Any entities within the trigger_transition(s) will go to the next map.
A single map can contain up to 16 trigger_changelevel entities. Any trigger_changelevel that would have been connection index 17 and above is completely ignored during adjacent map list building. Entities near those transitions:
- Are not flagged as moveable for those connections.
- Are not moved by transition.
- Are not written to the .HL3 patch file.
The player would cross the level boundary but arrive in the new map without any of the entities that should have transitioned from those dropped connections.
Keyvalues
- Name (targetname) <string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentnameortarget).
Also displayed in Hammer's 2D views and Entity Report.
- New Map Name (map) <string>
- Name of the map to change to.
- Landmark Name (landmark) <targetname>
- Name of the landmark to use. (See above for details!)
- Start Disabled (StartDisabled) <boolean>
- Stay dormant until activated (with the
Enableinput).
Flags
- Disable Touch : [2]
- To Previous Chapter : [4]
Inputs
- ChangeLevel
- Cause the level change. Use this when triggering the level change with a button, etc.
EnableDisable:
- Enable / Disable <void>
- Enable/disable this entity.
Outputs
- OnChangeLevel
- !activator = activator of ChangeLevel input
!caller = this entity
Fired when the level changes.