В ХЛ2 подствольным гранатомётом автомата мог пользоваться только игрок. У NPC такой возможности не было. Однако это можно реализовать в Хаммере
NPC с подствольником SMG1
В ХЛ2 подствольным гранатомётом автомата мог пользоваться только игрок. У NPC такой возможности не было. Однако это можно реализовать в Хаммере
Author/s of tutorial : La Mafioza Views : 3809 ( +1 ) Downloads : 0 Uploader : SlaY_61 Created : 11/07/2011 10:48:07 PM Source : http://www.mapper720.ru Rating : ( 0 ) Share :
Following translations are available : |
russian |
Сделаем комбайна, горизонтально стреляющего из подствольника по заданной цели, находясь в определённой точке.
Сначала сделаем цель, например, ящик. Затем поставим npc_combine с параметрами:
Name: actor
Weapons: SMG1
Флаги не имеют значения, ставьте их в зависимости от ситуации. Теперь ставим scripted_sequence с параметрами:
Можно также выбрать комбайна случайным образом (если их на карте несколько). Для этого в поле Target NPC пишем: npc_combine и задаём нужный радиус поиска при помощи параметра Search Radius. Если на карте есть комбайны не только с автоматом, но и с другими видами оружия, то всем солдатам, у которых SMG1 даём одно и то же имя и указываем его в поле Target NPC. Флаги:
No Interruptions
Override AI
Теперь сделаем сам снаряд – prop_physics. Геометрический (не модельный) центр должен находиться на высоте в 54 юнита от земли, а по горизонтали – на расстоянии в 42 юнита от центра scripted_sequence. Короче, прямо перед стволом автомата. Параметры такие:
Параметры взрыва такие же, как и в игре. Кстати, более подходящей будет модель models/weapons/ar2_grenade.mdl, однако у неё нет физбокса (отсутствует phy-файл, опеределяющий границы невидимой Collision Model). Я пытался использовать эту модель, добавлял func_physbox, trigger_once, убил на это целую неделю, но так и не смог добиться нормального результата. Впрочем, игрок не заметит крошечной разницы между формами обеих моделей. Флаги такие:
Break on Touch
Break on Pressure
Позади снаряда, на той же высоте, ставим env_physimpact с параметрами:
Флаг всего один – Ignore Mass.
Теперь сделаем вспышку от выстрела – env_muzzleflash с параметрами:
Флагов нет. Следующее – звук выстрела. Около снаряда ставим ambient_generic с параметрами:
Start Silent
Is NOT Looped
Последнее – point_template с параметрами:
Name: spawner
Template 1: grenade
Флаги не трогаем. Теперь аутпуты scripted_sequence:
OnBeginSequence ⇒ muzzle ⇒ Fire
OnBeginSequence ⇒ sound ⇒ PlaySound
OnBeginSequence ⇒ impact ⇒ Impact
OnBeginSequence ⇒ spawner ⇒ ForceSpawn
У всех аутпутов ставим флаг Fire once only. Чтобы запустить всё это, используем инпут BeginSequence. Замечание: если опустить env_physimpact ниже снаряда, то выстрел произойдёт под ненулевым углом к горизонту. Это удобно, если нужно выстрелить на более дальнюю дистанцию, однако анимация комбайна physflinch1 рассчитана на горизонтальный выстрел. Поэтому угол делайте небольшим, чтобы было незаметно. Кстати, можно добавить дым от снаряда, вроде того, что появляется при стрельбе игрока. Для этого следует использовать env_smokestack или env_smoketrail. Я с этим возиться не стал, этот эффект вовсе не обязателен, ведь на небольшой дистанции стрельбы игрок ничего не заметит.
Возможно в Episode 3 будет реализована такая возможность, и более качественно. А пока остаётся использовать только этот тутор.
Similar 1. Смена уровней (changelevel) - Смена уровней (changelevel) 2. Снайпер из Half-Life 2 - Помните свою первую встречу со снайпером в Half-Life 2? 3. Вертикальные лестницы - Лестницы в cs 1.6(вертикальные) обычно состояли из 2 частей, но у нас ведь Css... 4. Делаем простой телепорт - Делаем телепорт, это очень легко!
You cannot comment, because you are not logged-in.