Вращающаяся ловушка из Ravenholm
Проходя Равенхольм, вы наверно не раз обращали внимание на ловушки, расставленные по всему городу. В этом туторе я расскажу вам, как сделать пилы, которые можно включить/выключить по нажатию на рычаг. Для того чтобы было понятно, о чем идет речь, смотрим на скриншот ниже.
Ну что приступим? Для начала создайте комнату, источник света и точку старта игрока. Думаю, не стоит объяснять, как это сделать, ибо этот тутор совсем не об этом. Создайте в центре карты энтитю prop_static, зайдите в ее настройки (Alt+Enter) и в параметре
World Model напишите:
models/props_c17/TrapPropeller_Engine.mdl. Это будет основание, на котором будет крепиться пила. Главное не забудьте опустить его на землю, чтобы пила не висела в воздухе. Теперь, когда основание для пилы готово пришло время приступить к созданию самой пилы. Создайте энититю
prop_physics.
Настройка
prop_physics:
Name:
propeller World Model:
models/props_c17/TrapPropeller_Blade.mdl Impact damage type:
SharpУберите все галочки во вкладке
Flags и расположите ее так, как показано на рисунке ниже.
Получилось? Отлично! Теперь давайте создадим рычаг. Создайте энтитю
prop_dynamic.
Настройка
prop_dynamic:
Parent:
propeller_lever_model World Model:
models/props_c17/TrapPropeller_lever.mdl Collisions:
Not Solid Fade Scale:
0Установите рычаг в том месте, где это предусмотрели разработчики (см. скриншот ниже).
Рычаг почти готов, но ему не хватает одной очень важной функции, а именно
func_rot_button. Создайте браш с такими размерами
2w, 3l, 3h (буквы возле цифр означают width - ширина, length - длина и height - высота) и переведите его в энтитю (Ctrl+T)
func_rot_button. Теперь нужно сделать так, чтобы эта энтитя была невидимой в игре. Для этого залейте ее текстурой
nodraw.
Настройка
func_rot_button:
Name:
propeller_lever_model Speed:
100 Sounds:
None (Silent) Delay Before Reset (-1 stay):
5 Distance (deg):
35Ставим флаги:
Reverse Dir
Toggle
Y AxisУстанавливаем ее так, как показано на скриншоте ниже:
Идем дальше. Создайте браш размером
31w, 32l, 30h и залейте его текстурой
invisible. Затем переведите его в энтитю (Ctrl+T)
func_button. После того как мы перевели браш в энтитю в ее центре появиться кружочек. Нужно поднять этот кружочек над ней, а ее саму переместить в центр нашей смертоносной пилы. На скрине ниже я показал, куда именно нужно переместить энтитю
func_button и на какое расстояние поднять кружочек из ее центра.
Настройка
func_button:
Name:
propeller_lever Speed:
100 Sounds:
lever or wheel: turn + move sqeek Delay Before Reset (-1 stay):
5 Minimum Light Level:
0Ставим флаги:
Don't move
Toggle
Use ActivatesСоздайте новую энтитю
phys_motor.
Настройка
phys_motor:
Name:
propeller_motor Rotation Speed:
-1200 System Interia Scale:
5 Attached Object:
propellerУберите все птички во вкладке F
lags, кроме
No world collision и расположите ее как показано на картинке ниже. Красной стрелкой я указал, куда нужно опустить кружочек из ее центра.
Следующим шагом будет создание очередной энтити. Я понимаю, вы уже немного устали, но результат того стоит, поверьте! Создайте энтитю
phys_hinge.
Настройка
phys_hinge:
Entity 1:
propeller Friction:
30Ставим флаги:
No Collision until break
Change mass to keep stable attachment to worldРасполагаем эту энтитю над
phys_motor (см. скриншот ниже). Красной стрелкой я указал то место, куда нужно опустить кружочек из ее центра.
Создаем еще две энтити -
logic_navigation и
point_angularvelocitysensor. Сначала создайте энтитю
logic_navigation. Все что нужно для нее настроить, это параметр
Navigation Entity:
propeller. Теперь создайте энтитю
point_angularvelocitysensor.
Настройка
point_angularvelocitysensor:
Target Entity Name:
propeller Threshold Velocity:
1000Расположите их, где-то рядом с пилой.
Снова создайте две энтити. На сей раз это -
logic_timer и
logic_relay.
Настройка
logic_timer:
Name:
propeller_backfire_timer Start Disabled:
Yes Use Random Time:
Yes Minimum Random Interval:
3 Maximum Random Interval:
8 Refire Interval:
1Для
logic_relay нужно настроить всего один параметр
Name:
propeller_backfire_rlНу, вот мы и подошли к заключительно части данного тутора. Теперь остается всего ничего добавить звуки и
outputs. Создайте четыре
ambient_generic и для удобства поставьте их один над другим. Начнем настройку с самого верхнего.
Настройка
первого ambient_generic:
Name:
propeller_spindown_wav Sound Name:
Town.d1_town_01_spindown Max Audible Distance:
100Настройка
второго ambient_generic:
Name:
propeller_spinning_wav Sound Name:
Town.d1_town_01_spin_loop Max Audible Distance:
210 Нужно
оставить всего один флаг -
Start SilentНастройка
третьего ambient_generic:
Name:
propeller_spinup_wav Sound Name:
Town.d1_town_01_spinup Max Audible Distance:
120Настройка
четвертого ambient_generic:
Name:
propeller_backfire_wav Sound Name:
Town.d1_town_01_sputter1 Max Audible Distance:
210Теперь давайте правильно расположим их на нашей карте. Как? Смотрим скриншот ниже:
Настраиваем
Outputs.
Ну, вот теперь, когда на карте созданы и настроены все энтити и все звуки, пришло время заняться настройкой
outputs. На самом деле в этом нет ничего сложного, просто взгляните на скриншоты ниже и повторите все тоже самое на своей карте со своими энтитями. Начнем, пожалуй, с энтити
func_button.
Outputs func_button:
Outputs point_angularvelocitysensor:
Outputs logic_timer:
Outputs logic_relay:
Вот вроде и все. Хотя нет, на всех картах в Равенхольме возле каждой пилы есть еще и так называемые
trigger_playermovement. Что это такое и для чего они нужны? А это такой триггер в зоне действия, которого игрок не может встать. Довольно удобно, когда вы включаете пилу и не боитесь что случайно отжав клавишу "присесть" моментально отправитесь к праотцам. Сделать такой триггер довольно просто. Сначала нужно создать браш с подходящей высотой и шириной, а потом перевести его в энтитю
trigger_playermovement. Настраивать ничего не нужно, сразу же после перевода браша в энтитю вы получите рабочий триггер.
Пример карты можно скачать
здесь.
Добавил: Le-Satan-Pirate
16.05.2024 Просмотров: 1630
Комментарии