本文与游戏《传送门2》有关。点击这里查看更多信息。

创建传送门2合作实验室

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)Deutsch (de)Polski (pl)Русский (ru)中文 (zh)Translate (Translate)

基本步骤

以下是创建双人合作地图的基本步骤:

  • 创建一个 func_instance(en)。 将其 VMF 文件设置为合作模式初始滴管, 例如 instances/coop/coop_spawn_room.vmf 。 这些 VMF 文件已包含一个info_player_start(en) ,因此不用再创建一个 。
  • 创建另一个 func_instance(en), 用这一个生成拆解间, 例如 instances/coop/coop_endlevel_room.vmf
  • 在这些房间之间构建你的合作地图(当然,你可以随时移动它们。)但嵌入的 VMF 文件一个明显的出口,这应该通向你的地图

你可能需要封闭房间以防止泄漏。

  • 请确保使用前缀mp_coop_来保存地图。

就是这样!请参阅 单独测试 Portal 2 Co-Op 地图 了解如何在没有合作伙伴的情况下测试地图。

没有实例生成的合作关卡

第 1 步:必要实体

要创建双人合作地图,你需要:

Note.png注意:你必须隐藏 prop_indicator_panel 和 prop_button ,这样玩家就不会在关卡中看到它。

第 2 步: 名称

  • 命名你的第一个 logic_relay 为 "relay_return_hub"
  • 命名你的第二个 logic_relay 为 "@relay_has_new_taunt"
  • 命名你的 logic_coop_manager 为 "coopmanage_return_hub"
  • 命名你的第一个 logic_script 为 "script_return_hub"
  • 命名你的第二个 logic_script 为 "@script_mp_coop_lobby"
  • 命名你的第一个 prop_indicator_panel 为 "panel_level_return_orange"
  • 命名你的第二个 prop_indicator_panel 为 "panel_level_return_blue"
  • 命名你的两个 info_coop_spawn 为"spawns_1"
Note.png注意:prop_button不需要名称。

第 3 步:属性

1. 转到 script_return_hub 的属性并执行以下操作

Property Name Value
Name script_return_hub
Entity Scripts debug_scripts/mp_coop_transition_list.nut


2. 转到 @script_mp_coop_lobby 的属性并执行以下操作

Property Name Value
Name @script_mp_coop_lobby
Entity Scripts debug_scripts/mp_coop_lobby.nut

3. 继续去到 panel_level_return_orange 的属性

Property Name Value
Name panel_level_return_orange
Time Duration 3
Is a timer? Yes
Indicator lights tex_level_return_orange
Warning.png警告:panel_return_blue 具有“相同”的属性,但 “Indicator lights” 除外,即 tex_level_return_blue

4. 到 spawns_1 的属性:

Property Name Value
Name spawns_1
Team <red or blue, depending on wich player>

5. 赋予 prop_button 以下属性:

Property Name Value
Delay Before Reset 3

第 4 步:输出/输入

现在我们需要将所有这些实体连接在一起

logic_auto 输出
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnMapSpawn @script_mp_coop_lobby RunScriptCode CheckForNewTaunts() 2.00 No
Io11.png OnMapSpawn script_return_hub RunScriptCode MapPostLoaded() 2.00 Yes
Io11.png OnMapSpawn script_return_hub RunScriptCode SetMapBranchAndLevel() 0.25 Yes
Io11.png OnMapSpawn spawns_1 SetAsActiveSpawn <none> 0.00 No
Note.png注意:不要忘记延迟和“仅一次”。


logic_coop_manager 输出
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnChangeToAllTrue relay_return_hub Trigger <none> 0.00 No
Io11.png OnChangeToAllTrue panel_level_return_orange Check <none> 0.00 No
Io11.png OnChangeToAllTrue panel_level_return_blue Check <none> 0.00 No
  • relay_return_hub 输出
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger script_return_hub RunScriptCode ReturnToHubFromLevel() 1.00 Yes


  • @relay_has_new_taunt 输出
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger brush_new_taunts Enable <none> 0.00 Yes


My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnButtonReset panel_level_return_orange Stop <none> 0.00 No
Io11.png OnButtonReset coopmanage_return_hub SetStateBFalse <none> 0.00 No
Io11.png OnPressed panel_level_return_orange Start <none> 0.00 No
Io11.png OnPressed coopmanage_return_hub SetStateBTrue <none> 0.00 No

珍NewBee!你现在可以使用有效的合作脚本创建合作地图!