Раздатчик (Portal 2)

From Valve Developer Community
Jump to: navigation, search
English
Dropboxicon.png

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

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

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

Note.png Примечание:  Если нужно создать несколько раздатчиков, используйте instances/gameplay/cube_dropper_multiple_normal.vmf.
Имя свойства Значение
Fix up Name box_dropper
VMF Filename instances/gameplay/cube_dropper_normal.vmf

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

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

Dropper-ceiling.png

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

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

Note.png Примечание:  Если вы создаёте несколько раздатчиков с помощью экземпляра instances/gameplay/cube_dropper_multiple_normal.vmf, удалите символ @ из каждого входа.
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 может сигнализировать об их ошибочности, игнорируйте ошибки.

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

Для каждого вида раздатчика есть свой экземпляр, и они выглядят по-разному. Просто замените параметр для имени файла 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

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

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
Tip.png Совет: Здесь можно добавить выходы для других декоративных деталей, таких как освещение

Если вы используете 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
Note.png Примечание: Если вы хотите отключить авто-появление, поставьте значение второго выхода на бесконечный цикл (т.е. "Only Once" если поставлено "No" вместо "Yes").

Если вы хотите сделать авто-падение первого куба, переместите второй выход в (EN)trigger_once.

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

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

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

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

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

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