Моддинг - Мой сайт

Alive Bars mod
Скачать Аливе мод
Title
Перейти к контенту
Моддинг игры Mafia the city of Lost Heaven 2002 года. Мощность компьютеров возросла с того времени многократно и уже можно заниматься моддингом на виртуальной машине.
Здесь пока что не полное описание моддинга. Лучшее обьяснение по редактированию игры смотрите на сайте mafia-forever.ru
Сначала необходимо распаковать зашифрованные файлы игры в открытые. Это делается программой MafiaDataExtractor by MassaSnygga
Скрипты пишутся или вставляются в программе BSV by Braingib. Попробовать стоит разные версии этой программы. В какой-нибудь версии может работать то, что не работает в другой. Пробовать можно начать с открытой с самого начала прогулки. \...\MISSIONS\FREEITALY
Открывается и редактируется файл scene2.bin
Чтобы найти место для скрипта понадобиться программа Mafia World Editor by ASM

После того, как программа BSV запустилась можно попробовать для начала автомобильную подборку скриптов. И поиграть с машинами в игре.

Фары и поворотники. Какой же автомобиль без них?
Фары. Вставляем other (например с именем Far) в любое место.
И вписываем скрипт фар. Включается на клавишу одного из двух сцеплений

dim_act 4
dim_flt 1

findactor 0,"Tommy"
findactor 1,"tommyho auto"
findactor 2,"Far"       

label 101
ctrl_read 0,CLUTCH1
if flt[0]=1,-1,101
human_getowner 0,1
detector_issignal 2,LightOff,-1
game_nightmission 1
carlight_main 1,1
ctrl_read 0,CLUTCH1
if flt[0]=1,-1,101
human_getowner 0,1
detector_issignal 2,LightOff,-1
game_nightmission 1
carlight_main 1,0
goto 101

label LightOff
carlight_indic_l 1,0
detector_setsignal 2,0
goto 101

Левый поворотник. Срабатывает на нажатие англ. клавиши одного из двух ограничителей скорости.
Вставьте other (с именем LevPovorotnik) для левого поворотника и впишите в него.

dim_act 4
dim_flt 1
findactor 0,"Tommy"
findactor 1,"tommyho auto"
findactor 2,"PRPM553"
findactor 3,"PRPM554"

///Скрипт взят с сайта
///http://mafiaedit.narod.ru/scripts.htm

label 101
ctrl_read 0,SPEEDLIMIT    
if flt[0]=1,-1,101     
human_getowner 0,1      
detector_issignal 2,LightOff,-1
carlight_indic_r 1,0
carlight_indic_l 1,1
detector_setsignal 3,0
detector_setsignal 2,1
goto 101

label LightOff
carlight_indic_l 1,0   
detector_setsignal 2,0  
goto 101

Правый поворотник. Срабатывает на нажатие клавиши одного из двух ограничителей скорости.
Вставьте other (с именем PravPovorotnik) для левого поворотника и впишите в него.

dim_act 4
dim_flt 1
findactor 0,"Tommy"
findactor 1,"tommyho auto"
findactor 2,"PRPM553"
findactor 3,"PRPM554"

///Скрипт взят с сайта
///http://mafiaedit.narod.ru/scripts.htm

label 101
ctrl_read 0,SPEEDLIMIT1   
if flt[0]=1,-1,101      
human_getowner 0,1      
detector_issignal 2,LightOff,-1
carlight_indic_l 1,0    
carlight_indic_r 1,1
detector_setsignal 3,0
detector_setsignal 2,1
goto 101

label LightOff
carlight_indic_r 1,0    
detector_setsignal 2,0
goto 101


Скрипт ремонта авто.
dim_act 3
dim_frm 2
dim_flt 5

findactor 0, "Tommy" ///Наш Томми
findactor 1, "tommyho auto" /// Машина Томми
findactor 2, "remont" ///в этот детектор Other вписываем скрипт
///Этот детектор ставим туда, где будет производиться ремонт машины

findframe 0, "Tommy"
findframe 1, "remont"

label 101
findnearactor 0,1,Car
///Ищет рядом с актёром 0, присваивает ему номер 1, объект Car - машину
getactorsdist 2,1,0
///Определяет расстояние между акторами 2 (Remont) и 1 (tommyho auto)
///Для того, чтобы Машина чинилась только рядом с детектором,
///а не вдалеке от него при юзании детектора Remont
if flt[0]<4, -1, 101
///Если расстояние меньше 4 (метров), то идём вниз -1, если нет,
///то идём в лейбл 101
wait 100
detector_waitforuse 08970005

PLAYER_LOCKCONTROLS 1
setnoanimhit 0,1
wait 100
person_playanim 0,  "MechKAutu.i3d", 0, simple
wait 5000
car_repair 1
///Восстанавливаем машину 1 (tommyho auto)
wait 100
setnoanimhit 0,0
PLAYER_LOCKCONTROLS 0
goto 101

Скрипт водителя, который сам будет ездить по городу.
Вставьте водителя, его авто Можно найти в списке всех автомобилей. Объекты типа other по которым будет ездить водитель. Водитель может нормально ездить только по карте, на которой нанесены специальные точки в файле road.bin Они уже нанесены на все дороги города.

dim_act 3
dim_frm 26

findactor 0, "Voditel"
///актёр водитель
findactor 1, "auto"
///актёр автомобиль

findframe 0, "PRPM0"
findframe 1, "PRPM1"
findframe 2, "PRPM2"
findframe 3, "PRPM3"
findframe 4, "PRPM4"
findframe 5, "PRPM5"
findframe 6, "PRPM6"
findframe 7, "PRPM7"
findframe 8, "PRPM8"

///промежуточные пункты маршрута
///объекты типа other расставленные на дорогах города

human_force_settocar 0,1,0
///водитель насильно садиться в машину

///enemy_move_to_car 1,0
///водитель идёт к машине
///1 - номер актора машины
///0 - номер дверцы, к которой подойти

///номера дверей
///0 - водительская
///1 - передняя правая
///2 - задняя левая
///3 - задняя правая
///run - бежать, можно дописать в конце команды

wait 1000
enemy_car_moveto 1, 0, stop
///Водитель едет к фрейму 0
wait 100
enemy_car_moveto 1, 1, stop ///Едем к фрейму 1
wait 100
enemy_car_moveto 1, 2, stop
wait 100
enemy_car_moveto 1, 3, stop
wait 100
enemy_car_moveto 1, 4, stop
wait 100
enemy_car_moveto 1, 5, stop
wait 100
enemy_car_moveto 1, 6, stop
wait 100
enemy_car_moveto 1, 7, stop
wait 100
enemy_car_moveto 1, 8, stop
wait 100

enemy_usecar 1,0
///Выйтить из машины
///хозяину скрипта сесть/выйти из машины
///1 - Машина
///0 - номер сиденья

///Номера сидений
///0 - водительское
///1 - переднее правое
///2 - заднее левое
///3 - заднее правое

///enemy_move_to_frame 0,1
///Отправим нашего героя во фрейм (объект типа other) 0
///и заставим остановиться его в 1 метре от фрейма
///0 - номер фрэйма
///1 - дистанция от фрейма, на которую к нему подходит персонаж
///run - бежать, можно дописать в конце команды, если хотим бежать

Скрипт Форсажа mafia-forever.ru
Вставьте в объект типа other с любым англ. именем и с любыми координатами. Срабатывает на клавиши гудка авто. Форсаж работает только на форсированных машинах. Например на Сильвер Флетчере.

dim_flt 10
dim_act 10
dim_frm 10
findactor 0, "Tommy"

label 101
findnearactor 0, 1, Car
getactorframe 1, 1
ctrl_read 0, HORN
if flt[0] = 1, 102, -1
ctrl_read 1, HORN1  
if flt[1] = 1, 103, 101

label 102
compareownerwithex 0, 1, -1, 101
car_setactlevel 1, 1
playsound "6_rev4.wav", 1, 50, 1
goto 101

label 103
compareownerwithex 0, 1, -1, 101
car_setactlevel 1, 0
playsound "out_frog2.wav", 1, 95, 1
goto 101

Приятных гонок во Фрирайде
2020
Назад к содержимому