Вы можете придать пулемету какую угодно форму, можете сделать его маленьким или огромным это не имеет значения. При создании пулемет необходимо ориентировать дулом направо на виде сверху, это необходимо для того, чтобы игра могла определить, откуда должны вылетать пули :) Если Вы хотите, чтобы в начале раунда пулемет был направлен в какую-то определенную сторону выставьте направление углом «Angle».
Наиболее важной частью пулемета (а это объект func_tank) является ORIGIN-браш. ORIGIN-брашем задается точка, вокруг которой пулемет будет вращаться. Размер ORIGIN-браша значения не имеет, важно расположение его центра (впрочем, Вы это уже давно знаете :)
Что еще следует знать об ORIGIN-браше в пулемете? От положения его центра зависит какие параметры Вы должны будете выставить в свойствах пулемета, например, необходимо будет указать длину ствола, расстояние от центра ствола до ORIGIN-браша все эти параметры отсчитываются от центра ORIGIN-браша.
Итак, форма пулемета определена. Создаем ORIGIN-браш и помещаем его куда-нибудь в центр пулемета. Затем выделяем все браши, составляющие пулемет, также выделяем ORIGIN-браш и превращаем это дело в func_tank.
Чуть выше пулемета Вы можете видеть объект ambient_generic это звук стрельбы пулемета (на нашей тестовой карте мы использовали свой звук, который поместили в папку «cstrike/sound/ambience..»).
Func_tank (пулемет)
Name: gun (имя пулемета) Target: gun_sound (имя объекта ambient_generic звука выстрелов) Yaw rate: 60 (скорость движения пулемета по горизонтали) Yaw range: 150 (угол поворота по горизонтали в градусах) Pitch rate: 15 (скорость движения пулемета по вертикали) Pitch range: 45 (угол поворота по вертикали в градусах) Barrel Length: 66 (расстояние в юнитах от центра ORIGIN-браша до конца ствола) Barrel Horizontal: 0 (расстояние в юнитах от центра ORIGIN-браша до центра ствола по горизонтали) Barrel Vertical: 0 (расстояние в юнитах от центра ORIGIN-браша до центра ствола по вертикали) Rate of Fire: 20 (скорострельность, выстрелов в секунду) Damage Per Bullet: 10 (убойная сила пуль) Bullet accuracy: small cone (точность выстрелов, небольшое отклонение) Bullets: 12mm (калибр пуль)
Флаги:
Controllable: следует отметить, чтобы игрок мог управлять пулеметом
Свойства звука стрельбы выглядят так:
Ambient_generic (звук стрельбы)
Path: ambience/dm_gun.wav (путь к звуку, в данном случае это наш собственный файл) Volume: 10 (громкость, максимальная)
Флаги:
Small radius: маленький радиус распространения Start silent: «молчит» в начале раунда Not toggled: не повторяется бесконечно (звучит только при активации)
И последний, но неменее важный объект: func_tankcontrols область, откуда игрок управляет пулеметом.
Как создается эта область? Сначала делаем обычный браш (размером, скажем, 64х64х32 юнита). Окрашиваем его со всех сторон спецтекстурой AAAtrigger и превращаем в func_tankcontrols.
Если при тестировании работы пулемета Вы никак не можете найти область управления значит разместили ее не в том месте, где следует.
Func_tankcontrols (область, откуда игрок управляет пулеметом)
Tank entity name: gun (сюда записываем имя пулемета)
Если что-то не понятно, скачайте карту-пример. На ней Вы, кстати, сможете пострелять из пулемета по разбиваемым ящикам 8]
pulemet.zip [72Кб] в архиве карта-пример в форматах BSP и RMF, а также необходимый звук.