ФЭНДОМ


ОписаниеПравить

Мод устанавливает вертолет на крышу здания полиции (центральный остров рядом с миссией на пароходе) в миссии Прогулка\город\день.
Если копы стреляют в Тома, вертолет летит к нему и начинает его аттаковать вместе с копами.
Компас включается и указывает на вертолет.
При ответном огне взрывается.
На снятие тревоги улетает обратно на базу.
Автор: blackmaloi666

СкачатьПравить

С Яндекс.Диска
Прямая ссылка с Mafia-Forever

УстановкаПравить

Скопировать папки в директорию игры.
Вертолет можно расположить в любой миссии для этого в соответствующий scene2.bin необходимо добавить упомянутые ниже объекты и привязать к ним скрипты.

ОбъектыПравить

В scene2.bin мод представлен:
chopchop_mesto - координаты на крыше здания полиции.
copchop - vert2.4DS модель вертолета. Источник утрачен, текстуры добавлены в Zanoza. Главные детали модели: корпус(chassis), основной винт(Box02) и хвостовой(Box03). Каждая имеет свой скрипт.
p - airgun_p.4DS - пуля.

Детали разработкиПравить

В Mafia World Editor(MWE) вставляется модель вертолета
В BSV 6.0 создаются привязанные скрипты (скрипт привязывается к детали из модели, поэтому у них такие названия с точкой) Пример названия: copchop.chassis, copchop - название модели в сцене, chassis - название детали этой модели, в данном случае это кузов вертолета.
В Scena2.Editor(авторы: Akay и Gold55) редактируются скрипты


Стрельба
В scene2.bin объект "p" используется в качестве пули и имеет тип car. (Его 4ds модель имеет почти такой же набор думмисов, как обычный автомобиль из Мафии, кузов сделан в форме цилиндра) Процесс построен на командах actor_duplicate, car_setspeed, car_explosion. Рекомендованная скорость полета меньше 300, иначе глюки.

СкриптыПравить

В BSV6 видны не все, поэтому редактировать их нужно программой Scene2.Editor


copchop.box02 звук винтов вертолета

Каждые 3 секунды определяет стреляют-ли копы по Тому. Если да, 
играет ap_rotor2.wav

copchop.box03 вращает винты вертолета

Определяет стреляют-ли копы по Тому.
Если нет, то прыгает в начало этого скрипта
Если да, блоками
 frm_getrot
 quat_mul_quat
 frm_setrot
поворачивает основной и хвостовой винты, а уже после прыгает в начало.

copchop.chassis взрывает вертолет, когда Том в него попадает(на данный момент скрипт работает не правильно, поэтому вертолет нельзя сбить)

ждет удара от Тома
когда получает: включает эффект №52 (взрыв) и звук expl1.wav
перемещает вертолет на крышу здания полиции.
возвращается в начало скрипта

copchopS главный скрипт - взлет и возвращение на базу, догоняет Тома, стрельба

Что и как делают части этого скипта

   от label 101 до label 106
Начало.
Если уровень тревоги 3 копы уже стреляют (далее 3), идем дальше, 
иначе прыгаем на метку 101
Включаем компас.
Если Том (далее Т) в машине, прыгаем на метку incar, иначе продолжаем.
И так Т пешком.
Если расстояние от В до Т меньше 60, прыгаем на fire, иначе продолжаем.

   label 106 - goto 106
Старт В с крыши здания полиции.
В поднимается на 15 метров над Т, поднялся прыгаем на метку CHASE, иначе
продолжает взлетать

   label CHASE - goto CHASE
В преследует Т когда он без машины.
Если 3, то продолжаем, иначе прыгаем на nazad.
В летит в сторону Т
Измеряем дистанцию между В и Т, если меньше 40, то идем на stop, иначе летим 
дальше

   label incar - goto incar
В преследует Т когда он в машине.
Если 3, то продолжаем, иначе прыгаем на nazad.
В летит в сторону авто, в котором сидит Т
Измеряем дистанцию между В и авто Т, если меньше 40, то идем на stop, иначе 
летим дальше

   label stop - goto stop
Прыгаем на стрельбу если В ближе 80 к Т, если дальше, то идем на метку 101

   label fire - label wait
Подготовка к стрельбе из В в Т каждые 0,5-5 секунд.
Делаем копию пули (далее П), направляем ее на Т.

   label wait - label vzr
Выстрел.
Выстреливаем П с заданой скоростью.
Если расстояние от П до Т меньше 12, прыгаем на vzr, иначе продолжаем.
(Это было специально сделано, чтобы сразу не убивать Тома.)
Если расстояние от П до В больше 60, то прыгаем на vzr, иначе на wait. 

   label vzr - goto stop
Сам момент взрыва П, после которого прыгаем на stop.

   label nazad - goto nazad
Возвращение В.
Если 3, прыгаем на 101, иначе В движется на крышу здания полиции.
Если растояние между крышей и В меньше 11, то прыгаем vniz, 
иначе - nazad (вертолет продолжает возвращаться)

   label vniz - goto vniz
Посадка на крышу здания полиции.
Если 3, прыгает на 101, иначе В медленно снижается, 
пока не приземлится на "chopchop_mesto" и тогда прыгаем на 101

ПерспективыПравить

Сбить его нельзя, к сожалению я пока не знаю как это исправить.

У вертолета есть проблема с лок-осями винтов, если заменить его модель на другую (мод останется рабочим), то нужно будет либо колдовать с осями, либо изменить пару циферок в скрипте copchop.Box03, чтобы они правильно вращались.

Модель первого вертолета середины 40-х http://mirknig.com/2008/12/23/model-cardboard-sikorsky-r-4b.html

Когда Том находится в машине, то вертолет не поднимается над ним, а летит постоянно на одной высоте, поэтому он может просто стоять под картой и его не будет видно, а пешком все нормально.

ВопросыПравить

Ниже, рядом с кнопкой «Добавить категорию», нажав на нужную категорию, можно увидеть список похожих модов.