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 (Заготовка для перевода)
 
m (obsolete language category)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{otherlang2
{{Underlinked|date=January 2024}}
|title=Дверь (кооператив Portal 2)
{{lang|title=Дверь (кооператив ''Portal 2'')|Coop Door (Portal 2)}}{{source topicon|suf=:ru}}{{p2 topicon|suf=:ru}}
|en=Coop_Door_(Portal_2)
{{portal2|suf=:ru}} '''Кооперативные двери''' — это два триггера, через которые должны пройти оба робота, чтобы дверь открылась, для каждого робота загорается свой индикатор.
|fr=Coop_Door_(Portal_2):fr
[[File:Portal2CoopDoorFromMp_Coop_Doors.jpg|thumb|right|300px|Дверь из <tt>mp_coop_doors</tt>.]]
}}
'''Кооперативные двери''' consist of two triggers that both bots step on to open the door and for each trigger a person sign lights up.
[[Image:Portal2CoopDoorFromMp_Coop_Doors.jpg|thumb|right|300px|The co-op door from mp_coop_doors.]]
==Экземпляр==
==Экземпляр==
1. Create a [[func_instance]] with the following settings:
1. Создайте {{ent:ru|func_instance}} со следующими настройками:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || coop_exit_door
| Name || coop_exit_door
Line 15: Line 12:
| VMF Filename || instances/coop/coop_team_double_exit_door.vmf
| VMF Filename || instances/coop/coop_team_double_exit_door.vmf
|}  
|}  
2.)
2. Создайте блок браша с trigger-текстурой, преобразуйте браш в {{ent:ru|trigger_playerteam}} со следующими выходами:
Create a block brush with trigger texture, tie this brush to a [[trigger_playerteam]] with the following outputs:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}


==Manual Creation==
==Создание вручную==
 
===Дверь===
===The Door===
1. Добавьте {{ent:ru|prop_testchamber_door}}. Со следующими настройками:
1.)
Add a [[prop_testchamber_door]]. With the following settings:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || door_01
| Name || door_01
|}
|}


2.)
2. Добавьте {{ent:ru|logic_coop_manager}} со следующими настройками:
Add a [[logic_coop_manager]] with the following settings:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || coop_man
| Name || coop_man
|}
|}
and outputs:
и выходами:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}


 
===Триггеры===
===Triggers===
1. Добавьте {{ent:ru|logic_relay}} со следующими настройками:
1.)
Add a [[Logic_relay]] with the following Settings:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || relay_b_in
| Name || relay_b_in
|}
|}
and outputs:
и выходами:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}
2.)
 
Add a [[Logic_relay]] with the following Settings:
2. Добавьте <tt>logic_relay</tt> со следующими настройками:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || relay_b_out
| Name || relay_b_out
|}
|}
and outputs:
и выходами:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}
3.)
 
Repeat steps 1-2 but change the following:
3. Повторите шаги 1-2, но измените следующее:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || relay_o_in
| Name || relay_o_in
|}
|}
outputs:
выходы:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}
Add a [[Logic_relay]] with the following Settings:
Добавьте <tt>logic_relay</tt> со следующими настройками:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || relay_o_out
| Name || relay_o_out
|}
|}
outputs:
выходы:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}


4.)
4. Создайте блок браша с trigger-текстурой. Преобразуйте браш в {{ent:ru|trigger_playerteam}} со следующими выходами:
Create a block brush with trigger texture applied. Tie this brush to a [[trigger_playerteam]] with the following outputs:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}
===Check Boxes===
===Индикаторы для роботов===
1.)
1. Добавьте {{ent:ru|prop_static}} со следующими настройками:
Add a Prop_static with the following settings:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| World Model || models/props/sign_frame02/sign_frame02.mdl
| World Model || models/props/sign_frame02/sign_frame02.mdl
|}
|}
2.)
 
Create a <code>32Lx4Wx32H</code> [[func_brush]] with the texture: signage/signage_coop_teamdoor_orange
2. Создайте {{ent:ru|func_brush}} размером 32L×4W×32H с текстурой <tt>signage/signage_coop_teamdoor_orange</tt>.
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || checkbox_o
| Name || checkbox_o
|}
|}


Align it to the left, inside the frame.
Поместите его внутри рамки слева.
 
3.)
Repeat step 2 but change the following: signage/signage_coop_teamdoor_blue
 


Align it to the right, inside the frame.
3. Повторите шаг 2, но с другой текстурой: <tt>signage/signage_coop_teamdoor_blue</tt>. Поместите его внутри рамки справа.


 
4. Добавьте две {{ent:ru|env_texturetoggle}} со следующими настройками:
4.)
Add two [[env_texturetoggle]] with the following settings:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || textog_o
| Name || textog_o
Line 156: Line 139:
|}
|}
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || textog_b
| Name || textog_b
Line 163: Line 146:
|}
|}


5.)
5. Добавьте две {{ent:ru|ambient_generic}} со следующими настройками:
Add two [[ambient_generic]] with the following settings:
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || sound_out
| Name || sound_out
Line 172: Line 154:
| Sound Name || portal.button_down
| Sound Name || portal.button_down
|}
|}
::{| class=standard-table
::{| class=standard-table
Property Name || Value
Свойство || Значение
|-
|-
| Name || sound_in
| Name || sound_in
Line 181: Line 162:
|}
|}


 
6. Добавьте следующие выходы к <tt>relay_o_in</tt>:
6.)
Add the following outputs to <code>relay_o_in</code>:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}


Add the following outputs to <code>relay_o_out</code>:
И эти выходы к <tt>relay_o_out</tt>:
 
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}


Add the following outputs to <code>relay_b_in</code>:
Добавьте следующие выходы к <tt>relay_b_in</tt>:
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}


Add the following outputs to <code>relay_b_out</code>:
И эти выходы к <tt>relay_b_out</tt>:
 
::{| class=standard-table
::{| class=standard-table
!  || 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
|}
|}


You have now created a door which will open if both co-op partners are in the [[trigger|triggers]]
Вы создали дверь, которая откроется, как только оба игрока окажутся в зоне {{L|triggers|триггеров}}.


[[Category:Portal 2 Level Design:ru]]
{{ACategory|Portal 2 Level Design}}
[[Category:Portal 2 Tutorials:ru]]
{{ACategory|Portal 2 Tutorials}}

Latest revision as of 03:43, 22 August 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

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