Ru/Creating a Portal 2 Coop Map

From Valve Developer Community
Jump to navigation Jump to search

Template:Otherlang2 Это основные этапы, необходимые для создания кооперативной карты:

  • Создайте энтити func_instance. В поле "VMF filename" нужно прописать путь к комнате респавна, то есть instances/coop/coop_spawn_room.vmf. В этом VMF файле уже есть info_player_start, и значит вводить самому не нужно.
  • Создайте другой func_instance, укажите в нём путь к комнате конца, instances/coop/coop_endlevel_room.vmf.
  • Стройте свою карту между двумя этими комнатами. (Потом просто соедините их.) Возможно вам придётся поместить всю карту в комнату (можно чёрную, или скайбокс), чтобы избежать утечек (дыры в картах)
  • Сохраните свою карту с обязательным префиксом mp_coop_.

Вот и всё! Посмотрите Как протестировать кооп карту в одиночку, если у вас нету напарника. (Чтобы протестировать карту с напарником, вы должны дать ему карту в формате .bsp, и если вы являетесь сервером, то воспользуйтесь командой changelevel для смены карты.)

Кооперативный уровень без экземпляров спавнеров

Для создания кооперативного уровня нужно использовать:

Template:Note:ru

Шаг 2

Template:Note:ru

Шаг 3: Свойства

1. В свойствах script_return_hub сделайте следующее:

Имя свойства Значение
Name script_return_hub
Entity Scripts debug_scripts/mp_coop_transition_list.nut


2. Далее в свойствах @script_mp_coop_lobby сделайте следующее:

Имя свойства Значение
Name @script_mp_coop_lobby
Entity Scripts debug_scripts/mp_coop_lobby.nut

3. Затем в свойствах panel_level_return_orange:

Имя свойства Значение
Name panel_level_return_orange
Time Duration 3
Is a timer? Yes
Indicator lights tex_level_return_orange


Template:Warning:ru

4. Свойства prop_button:

Имя свойства Значение
Delay Before Reset 3

Шаг 4: Выходы и входы (Outputs/Inputs)

Теперь нужно соединить энтити друг с другом. См. инструкции:

  • Выходы 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

Template:Note:ru


  • Выходы 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


  • Выходы prop_button
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


Всё! Теперь вы можете создавать кооперативные карты с рабочими кооперативными скриптами!