Trigger changelevel: Difference between revisions
mNo edit summary |
(-note about l4d1/2) |
||
Line 4: | Line 4: | ||
It [[trigger]]s a level change. | It [[trigger]]s a level change. | ||
{{note|This brush entity does not work in {{game name|hl2dm|name=Half-Life 2: Deathmatch}}.}} | {{note|This brush entity does not work in {{game name|hl2dm|name=Half-Life 2: Deathmatch}}.}} | ||
{{note|In {{l4ds}} use [[info_changelevel]]}} | |||
{{bug|If the <code>Start Disabled</code> option is set to <code>Yes</code> the brush will become solid to the [[player]], getting it stuck if the transition happens within its volume.}} | {{bug|If the <code>Start Disabled</code> option is set to <code>Yes</code> the brush will become solid to the [[player]], getting it stuck if the transition happens within its volume.}} | ||
{{code class|CChangeLevel|triggers.cpp}} | {{code class|CChangeLevel|triggers.cpp}} | ||
Line 29: | Line 30: | ||
==Flags== | ==Flags== | ||
{{2|Disable Touch}} | |||
{{4|To Previous Chapter}} | |||
==Inputs== | ==Inputs== |
Revision as of 10:35, 17 July 2023
Template:Entity It triggers a level change.




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.
Keyvalues
- Landmark Name ([todo internal name (i)]) <targetname>
- Name of the landmark to use. (See above for details!)
Flags
Inputs
- ChangeLevel
- Cause the level change. Use this when triggering the level change with a button, etc.

Outputs
- OnChangeLevel
- Fired when the level changes.