This article's documentation is for anything that uses the Source engine. Click here for more information.

trigger_changelevel

From Valve Developer Community
Jump to: navigation, search
English (en)
Class hierarchy
CChangeLevel
CBaseTrigger
CBaseToggle
CBaseEntity
triggers.cpp

trigger_changelevel is a brush entity available in all Source Source games.,当被触发时,它将提示游戏加载下一个关卡

Note.pngNote:此实体在多人游戏中不起作用。如果你需要在多人游戏中更换关卡,你必须要通过point_servercommand实体或在代码中使用changelevel指令,这不会保留实体状态
Note.pngNote:Left 4 Dead series中,建议使用info_changelevel,尽管此实体仍然可用[1],但游戏不会将其体积内的导航网格附加CHECKPOINT属性
Icon-Bug.pngBug:如果Start Disabled键值设置为“是”,此实体对于玩家会有碰撞,如果此时正在其体积内进行关卡转换,这会导致玩家被卡住  [todo tested in?]

注意事项

在两个地图中放置一个info_landmark,以标记两个地图中的相同位置 触发关卡转换时,info_landmark必须位于玩家视野范围内。否则关卡转换将失败 两个info_landmark实体必须具有相同的名字。并且不能带有空格。它们也不能位于实心固体内 landmark的实体名称和地图名称的长度都必须小于32个字符

>

Note.pngNote:虽然Landmark实体在几何空间上必须位于同一位置,但其并不要求坐标上的完全一致。Landmark实体实际上可以放置在正在更改的新地图网格中的任何位置,只要它周围的转换场景与上一个关卡的完全相同即可。这可以帮助解决大场景下的换图,即:玩家在顶视图的东边移动,并且必须在下一张地图中继续这样做,而这在从结束位置开始下一张地图的情况下是不可能的。简化关卡过渡附近的几何图形可以使处理它们变得更容易!

关卡转换必须是双向的,即下一张地图必须有一个指向当前地图的trigger_changelevel,而当前地图也必须要有一个指向下一张地图的trigger_changelevel。如果需要进行单向关卡转换,只需要让玩家无法接触到回到当前地图的trigger_changelevel即可(或者勾选Flags中的Disable Touch选项)

Warning.pngWarning:尽管info_landmark应该在两个关卡之间位于相同位置,但两张图的trigger_changelevel固体不能位于同一位置,否则玩家将会陷入死循环,不断的在两个关卡之间来回切换

要在下一关触发事件,请在当前地图通过输出启用env_global。实体有几个预定义状态,但您可以手动输入自己的自定义状态。然后创建一个logic_auto来检查env_global的状态。在env_global启用的情况下,你可以使用OnMapTransition来在完成关卡转换后触发事件

要控制哪些实体会保留到下一张地图,创建一个或多个trigger_transition,并给予它们和Landmark实体相同的名字。其体积内的所有实体都将保留到下一张地图

Note.pngNote:不适用于Left 4 Dead series

Keyvalues

Name (targetname) <string>
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

New Map Name (map) <string>
要转换到的下一张地图名
Landmark Name (landmark) <targetname>
要使用的Landmark实体名称(具体细节见上方)

Flags

  •  [2] : Disable Touch
       禁止通过触碰触发关卡转换
  •  [4] : To Previous Chapter
       至上一个章节
Icon-Bug.pngBug:此Flag会导致实体完全实心  [todo tested in?]

Inputs

ChangeLevel
手动触发关卡转换,用于通过按钮触发等非直接触碰进行的关卡转换
Warning.pngWarning:Source 2007 Source 2007起,此输入对于多人游戏不起作用

Outputs

OnChangeLevel
当进行关卡转换时触发

References

References
1. 详见l4d_smalltown02_drainage / c10m2_drainage