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

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

From Valve Developer Community
< Ru
Jump to navigation Jump to search
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

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