Ru/Creating a Portal 2 Coop Map: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 23: Line 23:
* [[prop_button]]
* [[prop_button]]


{{Note:ru| Обязательно '''скройте''' [[prop_indicator_panel]] и [[prop_button]], чтобы игрок их не видел.}}
{{Note| Обязательно '''скройте''' [[prop_indicator_panel]] и [[prop_button]], чтобы игрок их не видел.}}
==Шаг 2==
==Шаг 2==
* Назовите первую [[logic_relay]] '''relay_return_hub'''
* Назовите первую [[logic_relay]] '''relay_return_hub'''
Line 32: Line 32:
* Назовите первую [[prop_indicator_panel]] '''panel_level_return_orange'''
* Назовите первую [[prop_indicator_panel]] '''panel_level_return_orange'''
* Назовите вторую [[prop_indicator_panel]] '''panel_level_return_blue'''
* Назовите вторую [[prop_indicator_panel]] '''panel_level_return_blue'''
{{Note:ru| [[prop_button]] называть не требуется.}}
{{Note| [[prop_button]] называть не требуется.}}


==Шаг 3: свойства==
==Шаг 3: свойства==
Line 88: Line 88:
| [[Image:Io11.png]] || OnMapSpawn  || script_return_hub || RunScriptCode || SetMapBranchAndLevel() || 0.25 || Yes
| [[Image:Io11.png]] || OnMapSpawn  || script_return_hub || RunScriptCode || SetMapBranchAndLevel() || 0.25 || Yes
|}
|}
{{Note:ru|Не забывайте про параметры '''"Delay"''' и '''"Only Once"'''}}
{{Note|Не забывайте про параметры '''"Delay"''' и '''"Only Once"'''}}





Revision as of 03:09, 21 September 2023

English (en)Deutsch (de)Polski (pl)Русский (ru)中文 (zh)Translate (Translate)

Основные требования

Пункты, необходимые для создания кооперативной карты:

  • Создайте энтити 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 для смены карты.)

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

Шаг 1

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

Note.pngПримечание: Обязательно скройте prop_indicator_panel и prop_button, чтобы игрок их не видел.

Шаг 2

Note.pngПримечание: prop_button называть не требуется.

Шаг 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
Note.pngПримечание:Не забывайте про параметры "Delay" и "Only Once"


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

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