This article relates to the game "Portal 2". Click here for more information.
Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Ru/Coop Door (Portal 2): Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (clean up, added underlinked tag)
m (Unicodifying, replaced: [[Image: → [[File: (22))
Line 2: Line 2:
{{lang|title=Дверь (кооператив ''Portal 2'')|Coop Door (Portal 2)}}{{source topicon|suf=:ru}}{{p2 topicon|suf=:ru}}
{{lang|title=Дверь (кооператив ''Portal 2'')|Coop Door (Portal 2)}}{{source topicon|suf=:ru}}{{p2 topicon|suf=:ru}}
{{portal2|suf=:ru}} '''Кооперативные двери''' — это два триггера, через которые должны пройти оба робота, чтобы дверь открылась, для каждого робота загорается свой индикатор.
{{portal2|suf=:ru}} '''Кооперативные двери''' — это два триггера, через которые должны пройти оба робота, чтобы дверь открылась, для каждого робота загорается свой индикатор.
[[Image:Portal2CoopDoorFromMp_Coop_Doors.jpg|thumb|right|300px|Дверь из <tt>mp_coop_doors</tt>.]]
[[File:Portal2CoopDoorFromMp_Coop_Doors.jpg|thumb|right|300px|Дверь из <tt>mp_coop_doors</tt>.]]
==Экземпляр==
==Экземпляр==
1. Создайте {{ent:ru|func_instance}} со следующими настройками:
1. Создайте {{ent:ru|func_instance}} со следующими настройками:
Line 16: Line 16:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnStartTouchBluePlayer || coop_exit_door || instance:relay_blue_in;Trigger || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouchBluePlayer || coop_exit_door || instance:relay_blue_in;Trigger || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnEndTouchBluePlayer || coop_exit_door || instance:relay_blue_out;Trigger || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchBluePlayer || coop_exit_door || instance:relay_blue_out;Trigger || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouchOrangePlayer || coop_exit_door || instance:relay_orange_in;Trigger || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouchOrangePlayer || coop_exit_door || instance:relay_orange_in;Trigger || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnEndTouchOrangePlayer || coop_exit_door || instance:relay_orange_out;Trigger || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchOrangePlayer || coop_exit_door || instance:relay_orange_out;Trigger || <none> || 0.00 || No
|}
|}


Line 44: Line 44:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnChangeToAllTrue || door_01 || Open || <none> || 0.00 || No
| [[File:Io11.png]] || OnChangeToAllTrue || door_01 || Open || <none> || 0.00 || No
|}
|}


Line 58: Line 58:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnTrigger || coop_man || SetStateATrue || <none> || 0.00 || No
| [[File:Io11.png]] || OnTrigger || coop_man || SetStateATrue || <none> || 0.00 || No
|}
|}


Line 71: Line 71:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnTrigger || coop_man || SetStateAFalse || <none> || 0.00 || No
| [[File:Io11.png]] || OnTrigger || coop_man || SetStateAFalse || <none> || 0.00 || No
|}
|}


Line 84: Line 84:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnTrigger || coop_man || SetStateBTrue || <none> || 0.00 || No
| [[File:Io11.png]] || OnTrigger || coop_man || SetStateBTrue || <none> || 0.00 || No
|}
|}
Добавьте <tt>logic_relay</tt> со следующими настройками:
Добавьте <tt>logic_relay</tt> со следующими настройками:
Line 96: Line 96:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnTrigger || coop_man || SetStateBFalse || <none> || 0.00 || No
| [[File:Io11.png]] || OnTrigger || coop_man || SetStateBFalse || <none> || 0.00 || No
|}
|}


Line 103: Line 103:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnStartTouchBluePlayer || relay_b_in || Trigger || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouchBluePlayer || relay_b_in || Trigger || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnEndTouchBluePlayer || relay_b_out || Trigger || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchBluePlayer || relay_b_out || Trigger || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouchOrangePlayer || relay_o_in || Trigger || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouchOrangePlayer || relay_o_in || Trigger || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnEndTouchOrangePlayer || relay_o_out || Trigger || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchOrangePlayer || relay_o_out || Trigger || <none> || 0.00 || No
|}
|}
===Индикаторы для роботов===
===Индикаторы для роботов===
Line 166: Line 166:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnTrigger || textog_o || SetTextureIndex || 1 || 0.00 || No
| [[File:Io11.png]] || OnTrigger || textog_o || SetTextureIndex || 1 || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnTrigger || sound_in || PlaySound || <none> || 0.00 || No
| [[File:Io11.png]] || OnTrigger || sound_in || PlaySound || <none> || 0.00 || No
|}
|}


Line 175: Line 175:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnTrigger || textog_o || SetTextureIndex || 0 || 0.00 || No
| [[File:Io11.png]] || OnTrigger || textog_o || SetTextureIndex || 0 || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnTrigger || sound_out || PlaySound || <none> || 0.00 || No
| [[File:Io11.png]] || OnTrigger || sound_out || PlaySound || <none> || 0.00 || No
|}
|}


Line 184: Line 184:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnTrigger || textog_b || SetTextureIndex || 1 || 0.00 || No
| [[File:Io11.png]] || OnTrigger || textog_b || SetTextureIndex || 1 || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnTrigger || sound_in || PlaySound || <none> || 0.00 || No
| [[File:Io11.png]] || OnTrigger || sound_in || PlaySound || <none> || 0.00 || No
|}
|}


Line 193: Line 193:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnTrigger || textog_b || SetTextureIndex || 0 || 0.00 || No
| [[File:Io11.png]] || OnTrigger || textog_b || SetTextureIndex || 0 || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnTrigger || sound_out || PlaySound || <none> || 0.00 || No
| [[File:Io11.png]] || OnTrigger || sound_out || PlaySound || <none> || 0.00 || No
|}
|}



Revision as of 08:34, 8 January 2024

Underlinked - Logo.png
This article needs more Wikipedia icon links to other articles to help Wikipedia icon integrate it into the encyclopedia. Please help improve this article by adding links Wikipedia icon that are relevant to the context within the existing text.
January 2024
English (en)Français (fr)Русский (ru)Translate (Translate)

Portal 2 Кооперативные двери — это два триггера, через которые должны пройти оба робота, чтобы дверь открылась, для каждого робота загорается свой индикатор.

Дверь из mp_coop_doors.

Экземпляр

1. Создайте func_instance со следующими настройками:

Свойство Значение
Name coop_exit_door
VMF Filename instances/coop/coop_team_double_exit_door.vmf

2. Создайте блок браша с trigger-текстурой, преобразуйте браш в trigger_playerteam со следующими выходами:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouchBluePlayer coop_exit_door instance:relay_blue_in;Trigger <none> 0.00 No
Io11.png OnEndTouchBluePlayer coop_exit_door instance:relay_blue_out;Trigger <none> 0.00 No
Io11.png OnStartTouchOrangePlayer coop_exit_door instance:relay_orange_in;Trigger <none> 0.00 No
Io11.png OnEndTouchOrangePlayer coop_exit_door instance:relay_orange_out;Trigger <none> 0.00 No

Создание вручную

Дверь

1. Добавьте prop_testchamber_door. Со следующими настройками:

Свойство Значение
Name door_01

2. Добавьте logic_coop_manager со следующими настройками:

Свойство Значение
Name coop_man

и выходами:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnChangeToAllTrue door_01 Open <none> 0.00 No

Триггеры

1. Добавьте logic_relay со следующими настройками:

Свойство Значение
Name relay_b_in

и выходами:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger coop_man SetStateATrue <none> 0.00 No

2. Добавьте logic_relay со следующими настройками:

Свойство Значение
Name relay_b_out

и выходами:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger coop_man SetStateAFalse <none> 0.00 No

3. Повторите шаги 1-2, но измените следующее:

Свойство Значение
Name relay_o_in

выходы:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger coop_man SetStateBTrue <none> 0.00 No

Добавьте logic_relay со следующими настройками:

Свойство Значение
Name relay_o_out

выходы:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger coop_man SetStateBFalse <none> 0.00 No

4. Создайте блок браша с trigger-текстурой. Преобразуйте браш в trigger_playerteam со следующими выходами:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouchBluePlayer relay_b_in Trigger <none> 0.00 No
Io11.png OnEndTouchBluePlayer relay_b_out Trigger <none> 0.00 No
Io11.png OnStartTouchOrangePlayer relay_o_in Trigger <none> 0.00 No
Io11.png OnEndTouchOrangePlayer relay_o_out Trigger <none> 0.00 No

Индикаторы для роботов

1. Добавьте prop_static со следующими настройками:

Свойство Значение
World Model models/props/sign_frame02/sign_frame02.mdl

2. Создайте func_brush размером 32L×4W×32H с текстурой signage/signage_coop_teamdoor_orange.

Свойство Значение
Name checkbox_o

Поместите его внутри рамки слева.

3. Повторите шаг 2, но с другой текстурой: signage/signage_coop_teamdoor_blue. Поместите его внутри рамки справа.

4. Добавьте две env_texturetoggle со следующими настройками:

Свойство Значение
Name textog_o
Target Brush(es). checkbox_o
Свойство Значение
Name textog_b
Target Brush(es). checkbox_b

5. Добавьте две ambient_generic со следующими настройками:

Свойство Значение
Name sound_out
Sound Name portal.button_down
Свойство Значение
Name sound_in
Sound Name portal.button_up

6. Добавьте следующие выходы к relay_o_in:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger textog_o SetTextureIndex 1 0.00 No
Io11.png OnTrigger sound_in PlaySound <none> 0.00 No

И эти выходы к relay_o_out:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger textog_o SetTextureIndex 0 0.00 No
Io11.png OnTrigger sound_out PlaySound <none> 0.00 No

Добавьте следующие выходы к relay_b_in:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger textog_b SetTextureIndex 1 0.00 No
Io11.png OnTrigger sound_in PlaySound <none> 0.00 No

И эти выходы к relay_b_out:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger textog_b SetTextureIndex 0 0.00 No
Io11.png OnTrigger sound_out PlaySound <none> 0.00 No

Вы создали дверь, которая откроется, как только оба игрока окажутся в зоне триггеров.