Приступим:
Я буду всё делать на примере Subaru Impreza 22B, так как у неё есть исходник (в данном случае он называется ScoobVS.java и находится по пути cars\racers\scoobVS_data\scripts\src).
1) Мы заходим в игру, покупаем Subaru Impreza 22B (голый кузов), затем выбираем, покупаем и ставим на неё: подвеску, пружины, тормоза, диски и покрышки и смотрим как это выглядит ( при этом никакие значение вроде высоты пружин, жёсткости стоек амортизаторов и сход развала не применяем т.к при покупке машины в сборе - это всё будет по дефолту).
Я остановился на:
Suspension - MrSir Rear Right/Left Trailing - arm 2
- MrSir Front Right/Left Adjustable Strut 2
Shock absorbers - HKS Hipermax III Sport front 8000
Springs - HKS Hipermax III Sport 142245 7.50
Brake System - Subaru 22b
Rims - Родные
Tyres - BBS Michelin Pilot 255/20 R17
Если всё нравится, записываем название деталей на листок и выходим из игры.
2) Открываем наш исходник машины текстовым редактором (у нас он ScoobVS.java и находится по пути cars\racers\scoobVS_data\scripts\src) и находим там это блок
Код
// running gear parts lists //
// stock 1 stuffs //
stock_parts_list_RGear_suspensions = new int[4];
stock_parts_list_RGear_suspensions[ 0] = parts:0x00004009r; // "WRY_FL_McPherson" //
stock_parts_list_RGear_suspensions[ 1] = parts:0x000040FCr; // "WRY_FR_McPherson" //
stock_parts_list_RGear_suspensions[ 2] = parts:0x000040FDr; // "WRY_RL_Trailing-arm" //
stock_parts_list_RGear_suspensions[ 3] = parts:0x000040FEr; // "WRY_RR_Trailing-arm" //
stock_parts_list_RGear_shocks = new int[4];
stock_parts_list_RGear_shocks[ 0] = stock_parts_list_RGear_shocks[ 1] = parts:0x000000FDr; // "WRY_front" //
stock_parts_list_RGear_shocks[ 2] = stock_parts_list_RGear_shocks[ 3] = parts:0x000000FCr; // "WRY_rear" //
stock_parts_list_RGear_springs = new int[4];
stock_parts_list_RGear_springs[ 0] = stock_parts_list_RGear_springs[ 1] = parts:0x000000FEr; // "WRY_front" //
stock_parts_list_RGear_springs[ 2] = stock_parts_list_RGear_springs[ 3] = parts:0x000000FFr; // "WRY_rear" //
stock_parts_list_RGear_brakes = new int[4];
stock_parts_list_RGear_brakes[ 0] = stock_parts_list_RGear_brakes[ 1] = cars.racers.scoobVS:0x0000AC1Cr; // "22B stock front brakes" //
stock_parts_list_RGear_brakes[ 2] = stock_parts_list_RGear_brakes[ 3] = cars.racers.scoobVS:0x0000AC18r; // "22B stock rear brakes" //
// stock_parts_list_RGear_sways = new int[2];
// stock_parts_list_RGear_sways[ 0] = parts:0x00000193r; // "WRY_front" //
// stock_parts_list_RGear_sways[ 1] = parts:0x00000194r; // "WRY_rear" //
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
stock_parts_list_RGear_tyres = new int[4];
stock_parts_list_RGear_tyres[ 0] = stock_parts_list_RGear_tyres[ 1] = parts.BB93_3D_tyres_2:0x000001D8r; // "BB93 17" Continental Sport Contact tyres" //
stock_parts_list_RGear_tyres[ 2] = stock_parts_list_RGear_tyres[ 3] = parts.BB93_3D_tyres_2:0x000001D8r; // "BB93 17" Continental Sport Contact tyres" //
и меняем его на нашу заготовку
Код
// running gear parts lists //
// stock 1 stuffs //
stock_parts_list_RGear_suspensions = new int[4];
stock_parts_list_RGear_suspensions[ 0] = parts.MrSir_Running_Gear:0x00000000r; // "MrSir_FL_strut" //
stock_parts_list_RGear_suspensions[ 1] = parts.MrSir_Running_Gear:0x00000000r; // "MrSir_FR_strut" //
stock_parts_list_RGear_suspensions[ 2] = parts.MrSir_Running_Gear:0x00000000r; // "MrSir_RL_trailingarm" //
stock_parts_list_RGear_suspensions[ 3] = parts.MrSir_Running_Gear:0x00000000r; // "MrSir_RR_trailingarm" //
stock_parts_list_RGear_shocks = new int[4];
stock_parts_list_RGear_shocks[ 0] = stock_parts_list_RGear_shocks[ 1] = parts.MrSir_Running_Gear:0x00000000r; // "shock_front" //
stock_parts_list_RGear_shocks[ 2] = stock_parts_list_RGear_shocks[ 3] = parts.MrSir_Running_Gear:0x00000000r; // "shock_rear" //
stock_parts_list_RGear_springs = new int[4];
stock_parts_list_RGear_springs[ 0] = stock_parts_list_RGear_springs[ 1] = parts.MrSir_Running_Gear:0x00000000r; // "spring_front" //
stock_parts_list_RGear_springs[ 2] = stock_parts_list_RGear_springs[ 3] = parts.MrSir_Running_Gear:0x00000000r; // "spring_rear" //
stock_parts_list_RGear_brakes = new int[4];
stock_parts_list_RGear_brakes[ 0] = stock_parts_list_RGear_brakes[ 1] = cars.racers.scoobVS:0x0000AC1Cr; // "22B stock front brakes" //
stock_parts_list_RGear_brakes[ 2] = stock_parts_list_RGear_brakes[ 3] = cars.racers.scoobVS:0x0000AC18r; // "22B stock rear brakes" //
// stock_parts_list_RGear_sways = new int[2];
// stock_parts_list_RGear_sways[ 0] = parts:0x00000193r; // "WRY_front" //
// stock_parts_list_RGear_sways[ 1] = parts:0x00000194r; // "WRY_rear" //
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
stock_parts_list_RGear_tyres = new int[4];
stock_parts_list_RGear_tyres[ 0] = stock_parts_list_RGear_tyres[ 1] = parts.XXXXXX:0x00000000r; // "Tyres" //
stock_parts_list_RGear_tyres[ 2] = stock_parts_list_RGear_tyres[ 3] = parts.XXXXXX:0x00000000r; // "Tyres" //
3) Теперь нужно найти детали, которые мы хотим установить в сток, и прописать их в наш код.
Начнём с подвески.
Идём по пути parts\MrSir_Running_Gear\scripts и находим там( для начала) нужные нам 4 папки FL_susp, FR_susp, RL_susp, RR_susp.
Открываем первую папку (FL_susp) и обнаруживаем 2 файла (MrSir_FL_strut_1.cfg и MrSir_FL_strut_2.cfg) - это и есть Suspensions, которые отображаются в каталоге игры.
Так как я выбрал для своей машины
Suspension - MrSir Rear Right/Left Trailing - arm 2
- MrSir Front Right/Left Adjustable Strut 2
то я открываю текстовым редактором файл MrSir_FL_strut_2.cfg (если вы выбрали другой тип подвески, то открываете файл MrSir_FL_strut_1.cfg)
Мы видим код, из которого нам нужно второе значение render
(т.е render 0x00000D11) мы копируем его (0x00000D11) и вставляем в наш блок в строку // "MrSir_FL_strut" //, после этого заменяем букву D на букву E. (0x00000E11r)
Открываем вторую папку (FR_susp), открываем файл MrSir_FR_strut_2.cfg (если вы выбрали другой тип подвески, то открываете файл MrSir_FR_strut_1.cfg)
Мы видим код, из которого нам нужно второе значение render
(т.е render 0x00000D13) мы копируем его (0x00000D13) и вставляем в наш блок в строку // "MrSir_FR_strut" //, после этого заменяем букву D на букву E. (0x00000E13r)
Открываем третью папку RL_susp, открываем файл MrSir_RL_trailingarm_2.cfg (если вы выбрали другой тип подвески, то открываете файл MrSir_RL_strut_1.cfg)
Мы видим код, из которого нам нужно так же второе значение render
(т.е render 0x00000D15) мы копируем его (0x00000D15) и вставляем в наш блок в строку // "MrSir_RL_strut" //, после этого заменяем букву D на букву E. (0x00000E15r)
Открываем четвёртую папку RR_susp, открываем файл MrSir_RR_trailingarm_2.cfg (если вы выбрали другой тип подвески, то открываете файл MrSir_RR_strut_1.cfg)
Мы видим код, из которого нам нужно так же второе значение render
(т.е render 0x00000D18) мы копируем его (0x00000D18) и вставляем в наш блок в строку // "MrSir_RR_strut" //, после этого заменяем букву D на букву E. (0x00000E18r)
Было
Код
stock_parts_list_RGear_suspensions = new int[4];
stock_parts_list_RGear_suspensions[ 0] = parts.MrSir_Running_Gear:0x00000000r; // "MrSir_FL_strut" //
stock_parts_list_RGear_suspensions[ 1] = parts.MrSir_Running_Gear:0x00000000r; // "MrSir_FR_strut" //
stock_parts_list_RGear_suspensions[ 2] = parts.MrSir_Running_Gear:0x00000000r; // "MrSir_RL_trailingarm" //
stock_parts_list_RGear_suspensions[ 3] = parts.MrSir_Running_Gear:0x00000000r; // "MrSir_RR_trailingarm" //
Стало
Код
stock_parts_list_RGear_suspensions = new int[4];
stock_parts_list_RGear_suspensions[ 0] = parts.MrSir_Running_Gear:0x00000E11r; // "MrSir_FL_strut" //
stock_parts_list_RGear_suspensions[ 1] = parts.MrSir_Running_Gear:0x00000E13r; // "MrSir_FR_strut" //
stock_parts_list_RGear_suspensions[ 2] = parts.MrSir_Running_Gear:0x00000E15r; // "MrSir_RL_trailingarm" //
stock_parts_list_RGear_suspensions[ 3] = parts.MrSir_Running_Gear:0x00000E18r; // "MrSir_RR_trailingarm" //
4) Амортизаторы и пружины
Идём по пути parts\MrSir_Running_Gear\scripts\shocks, обнаруживаем множество знакомых нам по названию файлов ( это всё амортизаторы, что отображаются в каталоге Shock)
Так как я выбрал амортизаторы HKS_Hipermax_III_Sport_shock.cfg, то я открываю именно этот файл нахожу единственное значение render (0x00000D29) и вставляю в наш блок в строки // "shock_front" // и // "shock_rear" // после этого заменяю букву D на букву E. (0x00000E29r)
Идём по пути parts\MrSir_Running_Gear\scripts\springs, обнаруживаем множество знакомых нам по названию файлов ( это всё пружины, что отображаются в каталоге Springs)
Так как я выбрал пружины HKS_Hipermax_III_Sport_spring.cfg, то я открываю именно это файл нахожу единственное значение render (0x00000D83) и вставляю в наш блок в строки // "spring_front" // и // "spring_rear" // после этого заменяю букву D на букву E. (0x00000E83r)
Было
Код
stock_parts_list_RGear_shocks = new int[4];
stock_parts_list_RGear_shocks[ 0] = stock_parts_list_RGear_shocks[ 1] = parts.MrSir_Running_Gear:0x00000000r; // "shock_front" //
stock_parts_list_RGear_shocks[ 2] = stock_parts_list_RGear_shocks[ 3] = parts.MrSir_Running_Gear:0x00000000r; // "shock_rear" //
stock_parts_list_RGear_springs = new int[4];
stock_parts_list_RGear_springs[ 0] = stock_parts_list_RGear_springs[ 1] = parts.MrSir_Running_Gear:0x00000000r; // "spring_front" //
stock_parts_list_RGear_springs[ 2] = stock_parts_list_RGear_springs[ 3] = parts.MrSir_Running_Gear:0x00000000r; // "spring_rear" //
Стало
Код
stock_parts_list_RGear_shocks = new int[4];
stock_parts_list_RGear_shocks[ 0] = stock_parts_list_RGear_shocks[ 1] = parts.MrSir_Running_Gear:0x00000E29r; // "shock_front" //
stock_parts_list_RGear_shocks[ 2] = stock_parts_list_RGear_shocks[ 3] = parts.MrSir_Running_Gear:0x00000E29r; // "shock_rear" //
stock_parts_list_RGear_springs = new int[4];
stock_parts_list_RGear_springs[ 0] = stock_parts_list_RGear_springs[ 1] = parts.MrSir_Running_Gear:0x00000E29r; // "spring_front" //
stock_parts_list_RGear_springs[ 2] = stock_parts_list_RGear_springs[ 3] = parts.MrSir_Running_Gear:0x00000E29r; // "spring_rear" //
5) Тормоза здесь родные, ничего не меняем в блоке
Код
stock_parts_list_RGear_brakes = new int[4];
stock_parts_list_RGear_brakes[ 0] = stock_parts_list_RGear_brakes[ 1] = cars.racers.scoobVS:0x0000AC1Cr; // "22B stock front brakes" //
stock_parts_list_RGear_brakes[ 2] = stock_parts_list_RGear_brakes[ 3] = cars.racers.scoobVS:0x0000AC18r; // "22B stock rear brakes" //
6) Диски здесь стандартные оставляем, т.е не трогаем блок
Код
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
7) Шины
Идём по пути parts\BB93_3D_tyres_2\Scripts, находим среди всех названий наши шины Pilot_17.cfg ( я выбрал их) копируем # resource ID of this part: 0x000001D8 (только сами цифры 0x000001D8) и вставляем в наш блок, а так же вместо XXXXXX - вписываем название папки с шинами ( т.е BB93_3D_tyres_2)
Было
Код
tock_parts_list_RGear_tyres = new int[4];
stock_parts_list_RGear_tyres[ 0] = stock_parts_list_RGear_tyres[ 1] = parts.XXXXXX:0x00000000r; // "Tyres" //
stock_parts_list_RGear_tyres[ 2] = stock_parts_list_RGear_tyres[ 3] = parts.XXXXXX:0x00000000r; // "Tyres" //
Стало
Код
stock_parts_list_RGear_tyres = new int[4];
stock_parts_list_RGear_tyres[ 0] = stock_parts_list_RGear_tyres[ 1] = parts.BB93_3D_tyres_2:0x000001D8r; // "Tyres" //
stock_parts_list_RGear_tyres[ 2] = stock_parts_list_RGear_tyres[ 3] = parts.BB93_3D_tyres_2:0x000001D8r; // "Tyres" //
8) После всех этих манипуляций вот что у вас должно получиться
Код
// running gear parts lists //
// stock 1 stuffs //
stock_parts_list_RGear_suspensions = new int[4];
stock_parts_list_RGear_suspensions[ 0] = parts.MrSir_Running_Gear:0x00000E11r; // "MrSir_FL_strut" //
stock_parts_list_RGear_suspensions[ 1] = parts.MrSir_Running_Gear:0x00000E13r; // "MrSir_FR_strut" //
stock_parts_list_RGear_suspensions[ 2] = parts.MrSir_Running_Gear:0x00000E15r; // "MrSir_RL_trailingarm" //
stock_parts_list_RGear_suspensions[ 3] = parts.MrSir_Running_Gear:0x00000E18r; // "MrSir_RR_trailingarm" //
stock_parts_list_RGear_shocks = new int[4];
stock_parts_list_RGear_shocks[ 0] = stock_parts_list_RGear_shocks[ 1] = parts.MrSir_Running_Gear:0x00000E29r; // "shock_front" //
stock_parts_list_RGear_shocks[ 2] = stock_parts_list_RGear_shocks[ 3] = parts.MrSir_Running_Gear:0x00000E29r; // "shock_rear" //
stock_parts_list_RGear_springs = new int[4];
stock_parts_list_RGear_springs[ 0] = stock_parts_list_RGear_springs[ 1] = parts.MrSir_Running_Gear:0x00000E83r; // "spring_front" //
stock_parts_list_RGear_springs[ 2] = stock_parts_list_RGear_springs[ 3] = parts.MrSir_Running_Gear:0x00000E83r; // "spring_rear" //
stock_parts_list_RGear_brakes = new int[4];
stock_parts_list_RGear_brakes[ 0] = stock_parts_list_RGear_brakes[ 1] = cars.racers.scoobVS:0x0000AC1Cr; // "22B stock front brakes" //
stock_parts_list_RGear_brakes[ 2] = stock_parts_list_RGear_brakes[ 3] = cars.racers.scoobVS:0x0000AC18r; // "22B stock rear brakes" //
// stock_parts_list_RGear_sways = new int[2];
// stock_parts_list_RGear_sways[ 0] = parts:0x00000193r; // "WRY_front" //
// stock_parts_list_RGear_sways[ 1] = parts:0x00000194r; // "WRY_rear" //
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
addPart( cars.racers.scoobVS:0x0000020Cr, "22B stock rims", cars.racers.scoobVS:0x0000AB00r, 1.0, 1.0);
stock_parts_list_RGear_tyres = new int[4];
stock_parts_list_RGear_tyres[ 0] = stock_parts_list_RGear_tyres[ 1] = parts.BB93_3D_tyres_2:0x000001D8r; // "Tyres" //
stock_parts_list_RGear_tyres[ 2] = stock_parts_list_RGear_tyres[ 3] = parts.BB93_3D_tyres_2:0x000001D8r; // "Tyres" //