Измельчитель

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

[Portal 2] Измельчители в Portal 2 - это вращающиеся лезвия, которые уничтожают всё, что в них попадёт. Функции у них те же, что и у ям или токсичной воды, но они используются в теме фабрики.

Создание измельчителя

0. Создайте новую карту, в которой будет находиться экземпляр измельчителя.

1. Создайте длинный, тонкий браш. Преобразуйте его в энтити func_rotating со следующими настройками:

Свойство Значение
Name shredder1_left_axle
Blocking Damage 500

2. Создайте второй длинный тонкий браш. Также преобразуйте его в энтити func_rotating со следующими настройками:

Свойство Значение
Name shredder1_right_axle
Blocking Damage 500

3. Создайте prop_dynamic_override со следующими настройками:

Свойство Параметр
Name shredder1_left
Parent shredder1_left_axle
World Model models/props_gameplay/shredder_left_b.mdl

4. Создайте энтити prop_dynamic_override со следующими настройками:

Свойство Параметр
Name shredder1_left
Parent shredder1_left_axle
World Model models/props_gameplay/shredder_left_b.mdl

5. Создайте энтити prop_dynamic_override со следующими настройками:

Свойство Значение
Name shredder1_right
Parent shredder1_right_axle
World Model models/props_gameplay/shredder_right_b.mdl

6. Расположите модели так, чтобы сцепление зубьев и брашевые энтити были в центре соответствующих им моделей.

7. Создайте браш размером 256x1024x128, в который предметы будут падать. Преобразуйте его в энтити trigger_hurt со следующими настройками:

Свойство Параметр
Name shredder1_trigger_hurt
Damage 500
Damage Cap 500
Damage Type CRUSH

8. Создайте ещё один браш перед предыдущим брашем и преобразуйте его в энтити trigger_multiple со следующими настройками:

Свойство Параметр
Name shredder1_dissolver
Delay Before Reset 5

Активируйте флаг "Physics Objects" и добавьте следующий выход:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger  !activator Dissolve 0.00 No

9. Создайте ещё один браш перед предыдущим и преобразуйте его в энтити trigger_multiple со следующими настройками:

Свойство Значение
Name shredder1_destructor
Delay Before Reset 5

Активируйте флаг "Physics Objects" и добавьте следующий выход:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger  !activator SelfDestructImmediately 0.00 No

10. Создайте logic_relay со следующими настройками:

Свойство Параметр
Name shredder1_relay_on

и следующими выходами:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger shredder1_trigger_hurt Enable 0.00 No
Io11.png OnTrigger shredder1_dissolver Enable 0.00 No
Io11.png OnTrigger shredder1_destructor Enable 0.00 No
Io11.png OnTrigger shredder1_axle_left StartForward 0.00 No
Io11.png OnTrigger shredder1_axle_right StartForward 0.25 No

11. Создайте logic_relay со следующими настройками:

Свойство Параметр
Name shredder1_relay_off

и следующими выходами:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger shredder1_trigger_hurt Disable 0.25 No
Io11.png OnTrigger shredder1_dissolver Disable 0.00 No
Io11.png OnTrigger shredder1_destructor Disable 0.00 No
Io11.png OnTrigger shredder1_axle_left Stop 0.00 No
Io11.png OnTrigger shredder1_axle_right Stop 0.25 No

12. Создайте func_instance_io_proxy со следующими настройками:

Свойство Значение
Name shredder1_proxy

и следующими выходами:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnProxyRelay shredder1_relay_on Trigger 0.00 No
Io11.png OnProxyRelay shredder1_relay_off Trigger 0.00 No

13. Сохраните и закройте файл.

14. Чтобы использовать только что созданный экземпляр, создайте func_instance в своей карте и в качестве VMF-файла укажите ваш файл экземпляра с измельчителем.

15. Чтобы включать или выключать измельчитель, используйте следующие выходы:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png (on condition) (Fix-up Name вашего func_instance) instance:shredder1_relay_on;Trigger 0.00 No
Io11.png (off condition) (Fix-up Name вашего func_instance) instance:shredder1_relay_off;Trigger 0.00 No