Ru/Dropper (Portal 2)

Раздатчик - элемент головоломок в . Из него могут появляться такие объекты, как и . Его можно подключить к .
==Создание раздатчика с использованием экземпляра==
1. Создайте энтити func_instance со следующими свойствами:
::
Имя свойства	Значение
Fix up Name 	box_dropper
VMF Filename	instances/gameplay/cube_dropper_normal.vmf
Если раздатчик не отобразился, сохраните изменения и перезагрузите Hammer.
2. Выровняйте верхнюю квадратную часть раздатчика (над цилиндром) по уровню потолка. Квадрат начнёт мигать, сообщая о проблеме с выравниванием по z-координате. Затем инструментом Clipping tool вырежьте область из потолка, где мигает квадрат. Это позволит кубу упасть из раздатчика. После того, как вы изолировали квадратный кусок потолка, удалите его. Не делайте дыру слишком большой, чтобы не возникло утечек.
3. Создайте энтити, которая активирует раздатчик (т.е. trigger_once на входе в комнату) и дайте ей следующие выходы:
::
	My Output	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnTrigger	box_dropper 	instance:@cube_dropper;Trigger 	 	0.00 	No
	OnTrigger	box_dropper 	instance:@cube_dropper_autorespawn;Enable	 	0.00 	No
4. Hammer может сигнализировать об их ошибочности, игнорируйте ошибки.
===Список экземпляров===
Для каждого вида раздатчика есть свой экземпляр, и они выглядят по-разному. Просто замените параметр для имени файла VMF Filename на нужный тип.
::
Выдаваемый предмет, параметры 	Вид раздатчика
Имя файла VMF 	
, Standard 	Небольшой, современный
instances/gameplay/cube_dropper_dropontrigger_normal.vmf 	
, Standard 	Небольшой, современный
instances/gameplay/cube_dropper_multiple_normal.vmf 	
, standard 	Небольшой, современный
instances/gameplay/cube_dropper_normal.vmf 	
, Standard 	С длинной трубой
instances/gameplay/cube_dropper_large.vmf 	
, Standard 	С длинной трубой, грязный
instances/gameplay/cube_dropper_large_dirty.vmf 	
, Reflector 	Небольшой, современный
instances/gameplay/reflectocube_dropper_dropontrigger_normal.vmf 	
, Reflector 	Небольшой, современный
instances/gameplay/reflectocube_dropper_multiple_normal.vmf 	
, Reflector 	С длинной трубой
instances/gameplay/reflectocube_dropper_large.vmf 	
, Reflector 	С длинной трубой, грязный
instances/gameplay/reflectocube_dropper_large_dirty.vmf 	
, Sphere 	Небольшой, современный
instances/gameplay/sphere_dropper_dropontrigger_normal.vmf 	
, Sphere 	Небольшой, современный
instances/gameplay/sphere_dropper_multiple_normal.vmf 	
, Sphere 	С длинной трубой
instances/gameplay/sphere_dropper_large.vmf 	
, Sphere 	С длинной трубой, грязный
instances/gameplay/sphere_dropper_large_dirty.vmf 	
, $item_type, $cube_type, $rusted, $paint_power, $use_new_skin_method	Небольшой, современный
instances/gameplay/item_dropper.vmf 	
, Water 	Небольшой, современный
instances/gameplay/paint_dropper_erase.vmf 	
, Bounce 	Небольшой, современный
instances/gameplay/paint_dropper_bounce.vmf 	
, Speed 	Небольшой, современный
instances/gameplay/paint_dropper_speed.vmf 	
, Stick 	Небольшой, с открытой трубой
instances/gameplay/paint_dropper_stick.vmf 	
, $paint_type 	Небольшой, современный
instances/gameplay/paint_dropper.vmf 	
, walking 	Обычный с музыкой
instances/gameplay/cube_dropper_a4.vmf 	
, hiding 	Обычный с музыкой
instances/gameplay/cube_dropper_a4_box.vmf 	
, walking 	Обычный без трубы
instances/gameplay/cube_dropper_monster.vmf 	
, hiding 	Обычный без трубы
instances/gameplay/cube_dropper_monster_box.vmf 	
То, что вы туда поместите 	Большая открывающаяся коробка
instances/gameplay/cube_dropper_pendleton.vmf 	
, $paint_type, Wet 	Небольшой, современный
instances/gameplay/paint_bomb_dropper_modern.vmf 	
, Bounce, Dry 	Небольшой, пустая труба
instances/gameplay/paint_bomb_dropper_bounce.vmf 	
, Speed, Dry 	Небольшой, пустая труба
instances/gameplay/paint_bomb_dropper_speed.vmf 	
, $paint_type, $bomb_type 	В стиле Portal 1
instances/gameplay/paint_bomb_dropper.vmf 	
, $paint_type, $bomb_type 	Грязный
instances/gameplay/paint_bomb_dropper_auto.vmf 	
People, alive 	Большая открывающаяся коробка
instances/gameplay/cube_dropper_player.vmf 	
==Создание раздатчика с нуля==
1.Создание собственных раздатчиков кубов на самом деле проще, чем вы могли бы подумать. По сравнению со стандартными экземплярами, этот метод создания раздатчика имеет гораздо меньше энтити в целом. Вам понадобится:
* чтобы постоянно создавать кубы каждый раз, когда они пропадают
*filter_activator_class
* чтобы закрывать отверстие дроппера (используйте раздел tools/toolsinvisible texture для этой брашевой энтити)
*
*point_template
*prop_dynamic, который будет моделью раздатчика
*prop_weighted_cube или prop_monster_box,
*trigger_multiple, расположенный внутри модели дроппера и слегка выступающий за отверстие капельницы
Чтобы иметь представление о точном размещении, ознакомьтесь с экземпляром 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
	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
	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
	OnStartTouch 	cube_dropper_prop 	Skin 	1 	0.00 	No
	OnStartTouch 	cube_dropper_prop 	SetAnimation 	item_dropper_open 	0.00 	No
	OnStartTouch 	cube_dropper_prop 	SetDefaultAnimation	item_dropper_idle 	0.10 	No
	OnStartTouch 	cube_dropper_clip 	Disable 	 	0.00 	No
	OnEndTouchAll	cube_dropper_prop 	Skin 	0 	1.30 	No
	OnEndTouchAll	cube_dropper_prop 	SetAnimation 	item_dropper_close 	0.00 	No
	OnEndTouchAll	cube_dropper_prop 	SetDefaultAnimation	item_dropper_idle_closed 	0.10 	No
	OnEndTouchAll	cube_dropper_clip 	Enable 	 	0.00 	No
	OnEndTouchAll	!activator 	AddOutput 	OnUser1 !self:Dissolve:0:0:1	0.00 	No
	OnEndTouchAll	!self 	Disable 	 	0.00 	No
	OnEndTouchAll	cube_dropper_spawner	ForceSpawn 	 	1.50 	No
Если вы используете prop_monster_box, вы также должны добавить ещё один выход:
::
	My Output 	Target Entity 	Target Input 	Parameter	Delay	Only Once
	OnEndTouchAll	cube_dropper_box	BecomeMonster	 	0.00 	No
Наконец, на активаторе, таком как prop_button, добавьте следующие выходы:
::
	My Output	Target Entity 	Target Input	Parameter	Delay	Only Once
	OnPressed	cube_dropper_box 	FireUser1 	 	0.00 	No
	OnPressed	cube_dropper_trigger	Enable 	 	0.00 	Yes
Если вы хотите сделать авто-падение первого куба, переместите второй выход в trigger_once.
===Раздатчик с предварительно размещенным кубом===
Для этого, вам понадобится куб и раздатчик кубов одного типа.
Если у вас нет авто-появления и есть кнопка для раздатчика:
#Создайте свой куб и дайте ему имя.
#Создайте свою кнопку и установите падение куба, когда она нажата.
#Настройте дополнительный выход для кнопки, чтобы уничтожить ваш предварительно помещенный куб при нажатии.
Если у вас есть авто-появление и нет кнопки для раздатчика:
#Создайте свой куб и установите падение куба, когда он распадается.
#Это всё!
Преимущество этого заключается в том, что теперь вы можете (например) поместить куб высоко на выступ, а раздатчик поставить в середине комнаты, чтобы игроку не пришлось вновь проходить через скучный процесс получения куба. Вы также можете использовать его, чтобы поднести куб немного ближе к игрокам.