Ru/Coop Door (Portal 2): Difference between revisions
No edit summary |
m (obsolete language category) |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{Underlinked|date=January 2024}} | ||
|title=Дверь (кооператив Portal 2) | {{lang|title=Дверь (кооператив ''Portal 2'')|Coop Door (Portal 2)}}{{source topicon|suf=:ru}}{{p2 topicon|suf=:ru}} | ||
| | {{portal2|suf=:ru}} '''Кооперативные двери''' — это два триггера, через которые должны пройти оба робота, чтобы дверь открылась, для каждого робота загорается свой индикатор. | ||
| | [[File:Portal2CoopDoorFromMp_Coop_Doors.jpg|thumb|right|300px|Дверь из <tt>mp_coop_doors</tt>.]] | ||
}} | |||
'''Кооперативные двери''' | |||
[[ | |||
==Экземпляр== | ==Экземпляр== | ||
1. Создайте | 1. Создайте {{ent:ru|func_instance}} со следующими настройками: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
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. Создайте блок браша с trigger-текстурой, преобразуйте браш в | 2. Создайте блок браша с trigger-текстурой, преобразуйте браш в {{ent:ru|trigger_playerteam}} со следующими выходами: | ||
::{| 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 | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnStartTouchBluePlayer || coop_exit_door || instance:relay_blue_in;Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnEndTouchBluePlayer || coop_exit_door || instance:relay_blue_out;Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnStartTouchOrangePlayer || coop_exit_door || instance:relay_orange_in;Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnEndTouchOrangePlayer || coop_exit_door || instance:relay_orange_out;Trigger || <none> || 0.00 || No | ||
|} | |} | ||
==Создание вручную== | ==Создание вручную== | ||
===Дверь=== | ===Дверь=== | ||
1. Добавьте | 1. Добавьте {{ent:ru|prop_testchamber_door}}. Со следующими настройками: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 38: | Line 34: | ||
|} | |} | ||
2. Добавьте | 2. Добавьте {{ent:ru|logic_coop_manager}} со следующими настройками: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 48: | Line 44: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnChangeToAllTrue || door_01 || Open || <none> || 0.00 || No | ||
|} | |} | ||
===Триггеры=== | ===Триггеры=== | ||
1. Добавьте | 1. Добавьте {{ent:ru|logic_relay}} со следующими настройками: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 63: | Line 58: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || coop_man || SetStateATrue || <none> || 0.00 || No | ||
|} | |} | ||
2. Добавьте | 2. Добавьте <tt>logic_relay</tt> со следующими настройками: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 76: | Line 71: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || coop_man || SetStateAFalse || <none> || 0.00 || No | ||
|} | |} | ||
Line 89: | Line 84: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || coop_man || SetStateBTrue || <none> || 0.00 || No | ||
|} | |} | ||
Добавьте | Добавьте <tt>logic_relay</tt> со следующими настройками: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 101: | Line 96: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || coop_man || SetStateBFalse || <none> || 0.00 || No | ||
|} | |} | ||
4. Создайте блок браша с trigger-текстурой. Преобразуйте браш в | 4. Создайте блок браша с trigger-текстурой. Преобразуйте браш в {{ent:ru|trigger_playerteam}} со следующими выходами: | ||
::{| 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 | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnStartTouchBluePlayer || relay_b_in || Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnEndTouchBluePlayer || relay_b_out || Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnStartTouchOrangePlayer || relay_o_in || Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnEndTouchOrangePlayer || relay_o_out || Trigger || <none> || 0.00 || No | ||
|} | |} | ||
===Индикаторы для роботов=== | ===Индикаторы для роботов=== | ||
1. Добавьте | 1. Добавьте {{ent:ru|prop_static}} со следующими настройками: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 124: | Line 119: | ||
|} | |} | ||
2. Создайте | 2. Создайте {{ent:ru|func_brush}} размером 32L×4W×32H с текстурой <tt>signage/signage_coop_teamdoor_orange</tt>. | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 131: | Line 126: | ||
|} | |} | ||
Поместите его внутри рамки слева. | |||
3. Повторите шаг 2, но с другой текстурой: signage/signage_coop_teamdoor_blue | 3. Повторите шаг 2, но с другой текстурой: <tt>signage/signage_coop_teamdoor_blue</tt>. Поместите его внутри рамки справа. | ||
4. Добавьте две {{ent:ru|env_texturetoggle}} со следующими настройками: | |||
4. Добавьте две | |||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 155: | Line 146: | ||
|} | |} | ||
5. Добавьте две | 5. Добавьте две {{ent:ru|ambient_generic}} со следующими настройками: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 163: | Line 154: | ||
| Sound Name || portal.button_down | | Sound Name || portal.button_down | ||
|} | |} | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Свойство || Значение | ! Свойство || Значение | ||
Line 172: | Line 162: | ||
|} | |} | ||
6. Добавьте следующие выходы к <tt>relay_o_in</tt>: | |||
6. Добавьте следующие выходы к < | |||
::{| 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 | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || textog_o || SetTextureIndex || 1 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || sound_in || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
И эти выходы к < | И эти выходы к <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 | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || textog_o || SetTextureIndex || 0 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || sound_out || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
Добавьте следующие выходы к < | Добавьте следующие выходы к <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 | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || textog_b || SetTextureIndex || 1 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || sound_in || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
И эти выходы к < | И эти выходы к <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 | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || textog_b || SetTextureIndex || 0 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || sound_out || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
Вы создали дверь, которая откроется, как только оба игрока окажутся в зоне {{ | Вы создали дверь, которая откроется, как только оба игрока окажутся в зоне {{L|triggers|триггеров}}. | ||
{{ACategory|Portal 2 Level Design}} | |||
{{ACategory|Portal 2 Tutorials}} |
Latest revision as of 03:43, 22 August 2024




January 2024
Кооперативные двери — это два триггера, через которые должны пройти оба робота, чтобы дверь открылась, для каждого робота загорается свой индикатор.
Экземпляр
1. Создайте func_instance со следующими настройками:
Свойство Значение Name coop_exit_door VMF Filename instances/coop/coop_team_double_exit_door.vmf
2. Создайте блок браша с trigger-текстурой, преобразуйте браш в trigger_playerteam со следующими выходами:
Создание вручную
Дверь
1. Добавьте prop_testchamber_door. Со следующими настройками:
Свойство Значение Name door_01
2. Добавьте logic_coop_manager со следующими настройками:
Свойство Значение Name coop_man
и выходами:
Триггеры
1. Добавьте logic_relay со следующими настройками:
Свойство Значение Name relay_b_in
и выходами:
2. Добавьте logic_relay со следующими настройками:
Свойство Значение Name relay_b_out
и выходами:
3. Повторите шаги 1-2, но измените следующее:
Свойство Значение Name relay_o_in
выходы:
Добавьте logic_relay со следующими настройками:
Свойство Значение Name relay_o_out
выходы:
4. Создайте блок браша с trigger-текстурой. Преобразуйте браш в trigger_playerteam со следующими выходами:
Индикаторы для роботов
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:
И эти выходы к relay_o_out:
Добавьте следующие выходы к relay_b_in:
И эти выходы к relay_b_out:
Вы создали дверь, которая откроется, как только оба игрока окажутся в зоне триггеров .