This article relates to the game "Portal 2". Click here for more information.
This article's documentation is for anything that uses the Source engine. Click here for more information.

Дверь (кооператив Portal 2)

From Valve Developer Community
Jump to: navigation, search
Underlinked - Logo.png
This article needs more links to other articles to help integrate it into the encyclopedia. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024
English (en)français (fr)русский (ru)
... Icon-Important.png

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 English со следующими выходами:

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 English. Со следующими настройками:

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

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

Свойство Значение
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 English со следующими выходами:

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 English со следующими настройками:

Свойство Значение
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

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