Ru/Dropper (Portal 2): Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(Добавлен раздел "Создание раздатчика с нуля". Изменено название первого раздела на "Создание раздатчика с использованием экземпляра.")
Line 6: Line 6:
'''Раздатчик''' - элемент головоломок в [[Portal 2]]. Из него могут появляться такие объекты, как [[Gel_(Portal_2):ru|гели]] и [[Cube_(Portal_2):ru|кубы]]. Его можно подключить к [[button (Portal 2):ru|кнопке]].
'''Раздатчик''' - элемент головоломок в [[Portal 2]]. Из него могут появляться такие объекты, как [[Gel_(Portal_2):ru|гели]] и [[Cube_(Portal_2):ru|кубы]]. Его можно подключить к [[button (Portal 2):ru|кнопке]].


==Создание раздатчика==
==Создание раздатчика с использованием экземпляра==
1. Создайте энтити {{en}} [[func_instance]] со следующими свойствами:
1. Создайте энтити {{en}} [[func_instance]] со следующими свойствами:


Line 36: Line 36:


4. Hammer может сигнализировать об их ошибочности, игнорируйте ошибки.
4. Hammer может сигнализировать об их ошибочности, игнорируйте ошибки.
==Создание раздатчика с нуля==
1.Создание собственных раздатчиков кубов на самом деле проще, чем вы могли бы подумать. По сравнению со стандартными экземплярами, этот метод создания раздатчика имеет гораздо меньше энтити в целом. Вам понадобится:
*{{en}} [[env_entity_maker]] чтобы постоянно создавать кубы каждый раз, когда они пропадают
*{{en}}[[filter_activator_class]]
*[[func_brush:ru|func_brush]] чтобы закрывать отверстие дроппера (используйте раздел tools/toolsinvisible texture для этой брашевой энтити)
*[[logic_auto:ru|logic_auto]]
*{{en}}[[point_template]]
*{{en}}[[prop_dynamic]], который будет моделью раздатчика
*{{en}}[[prop_weighted_cube]] или {{en}}[[prop_monster_box]],
*{{en}}[[trigger_multiple]], расположенный внутри модели дроппера и слегка выступающий за отверстие капельницы
<br>
Чтобы иметь представление о точном размещении, ознакомьтесь с экземпляром VMF "instances/gameplay/cube_dropper_shared.vmf".
Для env_entity_maker установите следующие значения:
::{| class=standard-table
!  Имя свойства || Значение
|-
| Name || cube_dropper_spawner
|-
| Point_template To Spawn || cube_dropper_template
|}
Для filter_activator_class установите следующие значения:
::{| class=standard-table
!  Имя свойства || Значение
|-
| Name || filter_weighted_cube
|-
| Filter Classname || prop_weighted_cube ''или'' prop_monster_box
|}
Для func_brush установите эти значения:
::{| class=standard-table
!  Имя свойства || Значение
|-
| Name || cube_dropper_clip
|-
| Disable shadows || Yes
|}
Для logic_auto установите такие выходы:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[Image:Io11.png]] || OnMapSpawn || cube_dropper_spawner || ForceSpawn ||  || 1.00 || No
|}
Для point_template установите такие значения:
::{| class=standard-table
!  Имя свойства || Значение
|-
| Name || cube_dropper_template
|-
| Template 1 || cube_dropper_box
|}
Для prop_dynamic установите эти параметры:
::{| class=standard-table
!  Имя свойства || Значение
|-
| Name || cube_dropper_prop
|-
| World Model || models/props_backstage/item_dropper.mdl
|}
Если вы используете prop_monster_box установите такие значения:
::{| class=standard-table
!  Имя свойства || Значение
|-
| Name || cube_dropper_box
|-
| Start as Box || Yes
|}
В противном случае, если вы используете prop_weighted_cube, установите только name.
Если вы хотите, чтобы раздатчик автоматически создавал куб, добавьте для куба такой выход:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[Image:Io11.png]] || OnFizzled || cube_dropper_trigger || Enable ||  || 0.00 || No
|}
И наконец, для trigger_multiple установите эти значения, флаги и выходы:
::{| class=standard-table
!  Имя свойства || Значение
|-
| Name || cube_dropper_trigger
|-
| Filter Name || filter_weighted_cube
|}
::{| class=standard-table
!  Флаг || Включен?
|-
| Clients || No
|-
| Physics Objects || Yes
|}
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[Image:Io11.png]] || OnStartTouch || cube_dropper_prop || Skin || 1 || 0.00 || No
|-
| [[Image:Io11.png]] || OnStartTouch || cube_dropper_prop || SetAnimation || item_dropper_open || 0.00 || No
|-
| [[Image:Io11.png]] || OnStartTouch || cube_dropper_prop || SetDefaultAnimation || item_dropper_idle || 0.10 || No
|-
| [[Image:Io11.png]] || OnStartTouch || cube_dropper_clip || Disable ||  || 0.00 || No
|-
| [[Image:Io11.png]] || OnEndTouchAll || cube_dropper_prop || Skin || 0 || 1.30 || No
|-
| [[Image:Io11.png]] || OnEndTouchAll || cube_dropper_prop || SetAnimation || item_dropper_close || 0.00 || No
|-
| [[Image:Io11.png]] || OnEndTouchAll || cube_dropper_prop || SetDefaultAnimation || item_dropper_idle_closed || 0.10 || No
|-
| [[Image:Io11.png]] || OnEndTouchAll || cube_dropper_clip || Enable ||  || 0.00 || No
|-
| [[Image:Io11.png]] || OnEndTouchAll || !activator || AddOutput || OnUser1 !self:Dissolve::0:1 || 0.00 || No
|-
| [[Image:Io11.png]] || OnEndTouchAll || !self || Disable ||  || 0.00 || No
|-
| [[Image:Io11.png]] || OnEndTouchAll || cube_dropper_spawner || ForceSpawn ||  || 1.50 || No
|}
{{tip:ru|Здесь можно добавить выходы для других декоративных деталей, таких как освещение}}
Если вы используете prop_monster_box, вы также должны добавить ещё один выход:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[Image:Io11.png]] || OnEndTouchAll || cube_dropper_box || BecomeMonster ||  || 0.00 || No
|}
Наконец, на активаторе, таком как prop_button, добавьте следующие выходы:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[Image:Io11.png]] || OnPressed || cube_dropper_box || FireUser1 ||  || 0.00 || No
|-
| [[Image:Io11.png]] || OnPressed || cube_dropper_trigger || Enable ||  || 0.00 || Yes
|}
===Раздатчик с предварительно размещенным кубом===
Для этого, вам понадобится куб и раздатчик кубов одного типа.
Если у вас нет авто-появления и есть кнопка для раздатчика:
#Создайте свой куб и дайте ему имя.
#Создайте свою кнопку и установите падение куба, когда она нажата.
#Настройте дополнительный выход для кнопки, чтобы уничтожить ваш предварительно помещенный куб при нажатии.
Если у вас есть авто-появление и нет кнопки для раздатчика:
#Создайте свой куб и установите падение куба, когда он распадается.
#Это всё!
Преимущество этого заключается в том, что теперь вы можете (например) поместить куб высоко на выступ, а раздатчик поставить в середине комнаты, чтобы игроку не пришлось вновь проходить через скучный процесс получения куба. Вы также можете использовать его, чтобы поднести куб немного ближе к игрокам.


===Список экземпляров===
===Список экземпляров===

Revision as of 10:10, 1 December 2020

Template:Otherlang2

Dropboxicon.png

Раздатчик - элемент головоломок в Portal 2. Из него могут появляться такие объекты, как гели и кубы. Его можно подключить к кнопке.

Создание раздатчика с использованием экземпляра

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

Template:Note:ru

Имя свойства Значение
Fix up Name box_dropper
VMF Filename instances/gameplay/cube_dropper_normal.vmf

Если раздатчик не отобразился, сохраните изменения и перезагрузите Hammer.

2. Выровняйте верхнюю квадратную часть раздатчика (над цилиндром) по уровню потолка.

Dropper-ceiling.png

Квадрат начнёт мигать, сообщая о проблеме с выравниванием по z-координате. Затем инструментом English Clipping tool вырежьте область из потолка, где мигает квадрат. Это позволит кубу упасть из раздатчика. После того, как вы изолировали квадратный кусок потолка, удалите его. Не делайте дыру слишком большой, чтобы не возникло утечек.

3. Создайте энтити, которая активирует раздатчик (т.е. English trigger_once на входе в комнату) и дайте ей следующие выходы:

Template:Note:ru

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger box_dropper instance:@cube_dropper;Trigger 0.00 No
Io11.png OnTrigger box_dropper instance:@cube_dropper_autorespawn;Enable 0.00 No

4. Hammer может сигнализировать об их ошибочности, игнорируйте ошибки.

Создание раздатчика с нуля

1.Создание собственных раздатчиков кубов на самом деле проще, чем вы могли бы подумать. По сравнению со стандартными экземплярами, этот метод создания раздатчика имеет гораздо меньше энтити в целом. Вам понадобится:


Чтобы иметь представление о точном размещении, ознакомьтесь с экземпляром VMF "instances/gameplay/cube_dropper_shared.vmf".

Для env_entity_maker установите следующие значения:

Имя свойства Значение
Name cube_dropper_spawner
Point_template To Spawn cube_dropper_template

Для filter_activator_class установите следующие значения:

Имя свойства Значение
Name filter_weighted_cube
Filter Classname prop_weighted_cube или prop_monster_box

Для func_brush установите эти значения:

Имя свойства Значение
Name cube_dropper_clip
Disable shadows Yes

Для logic_auto установите такие выходы:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnMapSpawn cube_dropper_spawner ForceSpawn 1.00 No

Для point_template установите такие значения:

Имя свойства Значение
Name cube_dropper_template
Template 1 cube_dropper_box

Для prop_dynamic установите эти параметры:

Имя свойства Значение
Name cube_dropper_prop
World Model models/props_backstage/item_dropper.mdl

Если вы используете prop_monster_box установите такие значения:

Имя свойства Значение
Name cube_dropper_box
Start as Box Yes

В противном случае, если вы используете prop_weighted_cube, установите только name.

Если вы хотите, чтобы раздатчик автоматически создавал куб, добавьте для куба такой выход:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnFizzled cube_dropper_trigger Enable 0.00 No

И наконец, для trigger_multiple установите эти значения, флаги и выходы:

Имя свойства Значение
Name cube_dropper_trigger
Filter Name filter_weighted_cube
Флаг Включен?
Clients No
Physics Objects Yes
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch cube_dropper_prop Skin 1 0.00 No
Io11.png OnStartTouch cube_dropper_prop SetAnimation item_dropper_open 0.00 No
Io11.png OnStartTouch cube_dropper_prop SetDefaultAnimation item_dropper_idle 0.10 No
Io11.png OnStartTouch cube_dropper_clip Disable 0.00 No
Io11.png OnEndTouchAll cube_dropper_prop Skin 0 1.30 No
Io11.png OnEndTouchAll cube_dropper_prop SetAnimation item_dropper_close 0.00 No
Io11.png OnEndTouchAll cube_dropper_prop SetDefaultAnimation item_dropper_idle_closed 0.10 No
Io11.png OnEndTouchAll cube_dropper_clip Enable 0.00 No
Io11.png OnEndTouchAll !activator AddOutput OnUser1 !self:Dissolve::0:1 0.00 No
Io11.png OnEndTouchAll !self Disable 0.00 No
Io11.png OnEndTouchAll cube_dropper_spawner ForceSpawn 1.50 No

Template:Tip:ru

Если вы используете prop_monster_box, вы также должны добавить ещё один выход:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnEndTouchAll cube_dropper_box BecomeMonster 0.00 No

Наконец, на активаторе, таком как prop_button, добавьте следующие выходы:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnPressed cube_dropper_box FireUser1 0.00 No
Io11.png OnPressed cube_dropper_trigger Enable 0.00 Yes

Раздатчик с предварительно размещенным кубом

Для этого, вам понадобится куб и раздатчик кубов одного типа. Если у вас нет авто-появления и есть кнопка для раздатчика:

  1. Создайте свой куб и дайте ему имя.
  2. Создайте свою кнопку и установите падение куба, когда она нажата.
  3. Настройте дополнительный выход для кнопки, чтобы уничтожить ваш предварительно помещенный куб при нажатии.

Если у вас есть авто-появление и нет кнопки для раздатчика:

  1. Создайте свой куб и установите падение куба, когда он распадается.
  2. Это всё!

Преимущество этого заключается в том, что теперь вы можете (например) поместить куб высоко на выступ, а раздатчик поставить в середине комнаты, чтобы игроку не пришлось вновь проходить через скучный процесс получения куба. Вы также можете использовать его, чтобы поднести куб немного ближе к игрокам.

Список экземпляров

Для каждого вида раздатчика есть свой экземпляр, и они выглядят по-разному. Просто замените параметр для имени файла VMF Filename на нужный тип.

Выдаваемый предмет, параметры Вид раздатчика
Имя файла VMF
prop_weighted_cube, Standard Небольшой, современный
instances/gameplay/cube_dropper_dropontrigger_normal.vmf
prop_weighted_cube, Standard Небольшой, современный
instances/gameplay/cube_dropper_multiple_normal.vmf
prop_weighted_cube, standard Небольшой, современный
instances/gameplay/cube_dropper_normal.vmf
prop_weighted_cube, Standard С длинной трубой
instances/gameplay/cube_dropper_large.vmf
prop_weighted_cube, Standard С длинной трубой, грязный
instances/gameplay/cube_dropper_large_dirty.vmf
prop_weighted_cube, Reflector Небольшой, современный
instances/gameplay/reflectocube_dropper_dropontrigger_normal.vmf
prop_weighted_cube, Reflector Небольшой, современный
instances/gameplay/reflectocube_dropper_multiple_normal.vmf
prop_weighted_cube, Reflector С длинной трубой
instances/gameplay/reflectocube_dropper_large.vmf
prop_weighted_cube, Reflector С длинной трубой, грязный
instances/gameplay/reflectocube_dropper_large_dirty.vmf
prop_weighted_cube, Sphere Небольшой, современный
instances/gameplay/sphere_dropper_dropontrigger_normal.vmf
prop_weighted_cube, Sphere Небольшой, современный
instances/gameplay/sphere_dropper_multiple_normal.vmf
prop_weighted_cube, Sphere С длинной трубой
instances/gameplay/sphere_dropper_large.vmf
prop_weighted_cube, Sphere С длинной трубой, грязный
instances/gameplay/sphere_dropper_large_dirty.vmf
prop_weighted_cube, $item_type, $cube_type, $rusted, $paint_power, $use_new_skin_method Небольшой, современный
instances/gameplay/item_dropper.vmf
Gel, Water Небольшой, современный
instances/gameplay/paint_dropper_erase.vmf
Gel, Bounce Небольшой, современный
instances/gameplay/paint_dropper_bounce.vmf
Gel, Speed Небольшой, современный
instances/gameplay/paint_dropper_speed.vmf
Gel, Stick Небольшой, с открытой трубой
instances/gameplay/paint_dropper_stick.vmf
Gel, $paint_type Небольшой, современный
instances/gameplay/paint_dropper.vmf
prop_monster_box, walking Обычный с музыкой
instances/gameplay/cube_dropper_a4.vmf
prop_monster_box, hiding Обычный с музыкой
instances/gameplay/cube_dropper_a4_box.vmf
prop_monster_box, walking Обычный без трубы
instances/gameplay/cube_dropper_monster.vmf
prop_monster_box, hiding Обычный без трубы
instances/gameplay/cube_dropper_monster_box.vmf
То, что вы туда поместите Большая открывающаяся коробка
instances/gameplay/cube_dropper_pendleton.vmf
prop_weighted_cube, $paint_type, Wet Небольшой, современный
instances/gameplay/paint_bomb_dropper_modern.vmf
prop_weighted_cube, Bounce, Dry Небольшой, пустая труба
instances/gameplay/paint_bomb_dropper_bounce.vmf
prop_weighted_cube, Speed, Dry Небольшой, пустая труба
instances/gameplay/paint_bomb_dropper_speed.vmf
prop_paint_bomb, $paint_type, $bomb_type В стиле Portal 1
instances/gameplay/paint_bomb_dropper.vmf
prop_paint_bomb, $paint_type, $bomb_type Грязный
instances/gameplay/paint_bomb_dropper_auto.vmf
People, alive Большая открывающаяся коробка
instances/gameplay/cube_dropper_player.vmf