P


  Reply to this topicStart new topicStart Poll

> NFSMW Police Cars Modding Tutorial
MNaeemi777
Posted: Jul 14 2017, 02:46 PM
Quote Post


Super V.I.P
******

Group: Moderators
Posts: 110
Member No.: 259
Joined: Dec 04 2016
Location: Alborz, Iran



Hi everybody! Since most of you want to mod police cars of this game, I made this tutorial for you both. wink.png

Some of descriptions are used from Basic NFSMW Modding topic by kimberlyn and some descriptions about MWPS are used from MWPS Template by FOX. Thanks to them.
=================================================================
What tools you need to?
.NET Framework (Higher than 4.0)
NFSMW Mod Loader
NFSMW Mod Tools
DDS Plugin
NVIDIA
ZModeler 2
ZModeler 1
Adobe Photoshop
Texture Compiler from NFSU2 Mod Tools

Notes:
1-You may use any versions of ZModeler 2.
2-Adobe Photoshop should be CS4 or higher. Higher versions can support NVIDIA DDS format.
3-Before starting, install mod loader on your game for test.

Here are list of cop cars' names: (Carname)
QUOTE
COPMIDSIZE: Civic Cruiser (Level Heat 1)
COPGHOST: Civic Undercover Cruiser (Level Heat 2)
COPGTO: State Pursuit Vehicle (Level Heat 3)
COPGTOGHOST: State Undercover Vehicle (Level Heat 4)
COPSPORTHENCH: Federal Pursuit Vehicle (Level Heat 5)
COPSPORTGHOST: Federal Undercover Vehicle (Level Heat 6)
COPSUV: SUV Heavy / Supercharged (Level Heat 4 and higher)
COPSUVL: SUV Light (Level Heat 3)
COPSPORT: Cross Corvette C6 (Level Heat 5 and higher)


Let's start from textures:
1-First take a copy from ferrari360 and paste there again with a new name for your mod.
2-After downloading DDS Plugin, copy dds.8bi in directory: Photoshop/Filters
3-With photoshop, open your texture files and save them as DXT1 and DXT3 (If the texture doesn't contain transparent, save it as DXT1 (No Alpha) and If the texture contains transparent, save it as DXT3.)

x is same carname. After x_, you have to use below names for your textures:
QUOTE
x_ENGINE
x_MISC
x_MISC_N
x_TIRE
x_TIRE_N
x_INTERIOR
x_INTERIOR_N
x_BADGING
x_BADGING_N
x_SKIN1
x_SKIN2
x_SKIN3
x_SKIN4
x_SKIN1B
x_LOGO
x_DRIVER
x_DRIVER_N
x_TREAD
x_TREAD_N
x_RIM_BLUR
x_RIM
x_NEON
x_DOOR_HANDLE
x_SIDELIGHT
x_KIT00_HEADLIGHT_ON
x_KIT00_HEADLIGHT_GLASS_ON
x_KIT00_BRAKELIGHT_ON
x_KIT00_BRAKELIGHT_OFF

.e.g: COPSPORT_NEON


Now move them to your folder. Delete 360badgnig, 360misc and 360tire, and run nfstc.exe (from NFS U2 Mod Tools), ,then compile and select folder, where your textures there are (your folder). Done! Move TEXTURES.BIN to your folder.
=================================================================
Time to edit the model:

The following can be used for cop cars:
QUOTE
base_a
kit00_damage0_body_a
kit00_damage1_body_a
kit00_driver_a
kit00_damage0_cop_lights_a
kit00_damage1_cop_lights_a
kit00_damage0_hood_a
kit00_damage1_hood_a
kit00_damage0_front_bumper_a
kit00_damage1_front_bumper_a
kit00_damage0_rear_bumper_a
kit00_damage1_rear_bumper_a
kit00_damage0_left_door_a
kit00_damage1_left_door_a
kit00_damage0_left_brakelight_a
kit00_damage1_left_brakelight_a
kit00_damage0_left_headlight_a
kit00_damage1_left_headlight_a
kit00_damage0_right_door_a
kit00_damage1_right_door_a
kit00_damage0_right_brakelight_a
kit00_damage1_right_brakelight_a
kit00_damage0_right_headlight_a
kit00_damage1_right_headlight_a
kit00_damage0_front_window_a
kit00_damage1_front_window_a
kit00_damage0_spoiler_a
kit00_damage1_spoiler_a
kit00_damage0_trunk_a
kit00_damage1_trunk_a
kit00_front_tire_a
kit00_front_brake_a
kit00_rear_brake_a


Notes:
1-damage0 = undamaged parts / damage1 = damaged parts
2-If your model parts are attached with together at first and you couldn't deattach them, you can only use meshes, which montioned with red color.
3-kit00_damage0_body_a is car body. You can only take a copy from kit00_damage0_body_a and name it as kit00_damage1_body_a. You can do same for kit00_damage0_front_window_a. If you are not able to make damaged parts, you can do same for other parts.
4-The most important mesh is base_a and must be in your model. base_a always be shown and saves mount points in itself. You can attach interior, engine and chassis of the car with together and name it as base_a.
=================================================================
Mount points time:
You need to create some little cubes for using them as mount points.

The below mount points are using for cars:
QUOTE
#LEFT_BRAKELIGHT (Left brakelight effect in while brake/nitro)
#RIGHT_BRAKELIGHT (Right brakelight effect in while brake/nitro)
#LEFT_REVERSE (Reverse light for left brakelight)
#RIGHT_REVERSE (Reverse light for right brakelight)
#LEFT_EXHAUST (Left exhaust effect in while nitro/shift (up-down))
#EXHAUST (Middle exhaust effect in while nitro/shift (up-down))
#RIGHT_EXHAUST (Right exhaust effect in while nitro/shift (up-down))
#COPLIGHTRED (Red light of lightbar)
#COPLIGHTWHITE (White light of lightbar)
#COPLIGHTBLUE (Blue light of lightbar)


Copy the mount points in near of their correct parts and don't forget to set their names (#LEFT_BRAKELIGHT for Left Brakelight). If you need same mount point again, type same name and add [0] in front of its name. For next, use [1] and ...) (#COPLIGHTRED[2])
=================================================================
Now you must set the correct positions of parts:

At top, Tire must be in left-side and rim be seen from right.
user posted image

At Left, tire and wheel must be in the center. Half of wheel in up-side and other half of wheel in down-side.
user posted image

At Left, Model has to cover half upside of the wheel.
user posted image

At top, Car front has to be in upside and car rear in down-side.
user posted image
=================================================================
Completed? Don't close the program! Open xlink360.txt: (Clear the file, first)
Turn on caps lock of your keyborad. Use below formula for every parts of your car:

QUOTE
PARTNAME_B=PARTNAME_A
PARTNAME_C=PARTNAME_A
PARTNAME_D=PARTNAME_A
PARTNAME_E=PARTNAME_A (Double enters amd do same for next part)

PARTNAME is same name of part. (base, kit00_driver and etc.)

Here is an example:
QUOTE
BASE_B=BASE_A
BASE_C=BASE_A
BASE_D=BASE_A
BASE_E=BASE_A

KIT00_DRIVER_B=KIT00_DRIVER_A
KIT00_DRIVER_C=KIT00_DRIVER_A
KIT00_DRIVER_D=KIT00_DRIVER_A
KIT00_DRIVER_E=KIT00_DRIVER_A

KIT00_DAMAGE0_BODY_B=KIT00_DAMAGE0_BODY_A
KIT00_DAMAGE0_BODY_C=KIT00_DAMAGE0_BODY_A
KIT00_DAMAGE0_BODY_D=KIT00_DAMAGE0_BODY_A
KIT00_DAMAGE0_BODY_E=KIT00_DAMAGE0_BODY_A

KIT00_DAMAGE1_BODY_B=KIT00_DAMAGE1_BODY_A
KIT00_DAMAGE1_BODY_C=KIT00_DAMAGE1_BODY_A
KIT00_DAMAGE1_BODY_D=KIT00_DAMAGE1_BODY_A
KIT00_DAMAGE1_BODY_E=KIT00_DAMAGE1_BODY_A

...

Done! Save and close.
=================================================================
Now open matlist360.txt, keep caps lock, on and use this formula: Material Name=Shader/x_Texture Name (Open material editor in ZModeler, then change their names (turn on caps lock) and type in matlist360.txt)

Materials of a model that would be converted to the game, must have their correct shaders:
QUOTE
ALUMINUM (Aluminum parts)
BOTTOM (Car bottom and makes car shadow)
BRAKEDISC (Brake discs)
BRAKELIGHT (Brakelights)
BRAKELIGHTGLASS (Brakelight glasses)
CALIPER (Brakes; You may also use BRAKES)
CARBONFIBER (Carbon fiber)
CARBONFIBER2 (Carbon fiber)
CARSKIN (Car skin)
CHROME (Chrome parts)
CLEARPLASTIC (Clear plastic parts)
DECAL (Car badging and logoes)
DRIVER (Driver)
DULLENGINE (Usually for car chassis)
DULLPLASTIC (Plastic parts; You may also use MATTEPLASTIC)
ENGINE (Car engine)
GOLDROTOR (Gold brake discs)
GRILL (Car grill)
HEADLIGHT (Headlight; not any differents with HEADLIGHTREFLECTOR)
HEADLIGHTGLASS (Headlight glasses)
HEADLIGHTREFLECTOR (Headlight; not any differents with HEADLIGHT)
HOSES (Scratches)
INTERIOR (Car interior)
LICENSEPLATE (License plate)
MAGCHROME (Chrome parts of wheels)
MAGGUNMETAL (Gun metal parts of wheels)
MAGSILVER (Rims)
MIRROR (Car mirror)
MOLDINGS (Car moldings)
PLAINNOTHING (Black parts of the car)
RUBBER (Tread)
TRAFFICWINDOWS (Windows of traffic cars)
WHITE (White parts of the car)
WINDOWMASK (Windows' mask)
WINDSHIELD (Car windows)


Examples:
QUOTE
BRAKELIGHT=BRAKELIGHT/0x2B52399; It actives On/Off brakelight system by using x_KIT00_BRAKELIGHT_ON and x_KIT00_BRAKELIGHT_OFF.
BODY=CARSKIN/x_SKIN1
WINDOWS=WINDSHIELD/WINDOW_FRONT
TIRE=RUBBER/x_TREAD
WHEEL=MAGSILVER/x_RIM
ROOF=PLAINNOTHING/SOLIDGREY


Why some textures you wrote are don't have x_?:
Those textures are in GlobalB.lzc / IngameB.bin (Default textures of the game) that located in NFSMW Directory/GLOBAL and it means you don't have to export those textures and compile to your TEXTURES.BIN.
=================================================================
Now export your model as Old .z3d file.

Go to mod tools folder/zmodeler. There is mwrawfilter.zmf file. Copy it to directory: ZModeler 1 folder/Filters.
Open the exported model with ZModeler 1. Export it again as NFS: Most Wanted (*.mwr) file.
Move it to your folder. Click-Right on build.bat and edit. Copy below text to that and save:
QUOTE
@echo off
echo =====================================================
echo Compiling Model...
echo =====================================================
..\bin\mwgc -nowait -xname "CARNAME" -matlist "matlist360.txt" -xlink "xlink360.txt" -source "File Name.mwr"
echo.
echo =====================================================
echo Complete.
echo =====================================================
pause


Type the carname instead of CARNAME, which you want to be replaced with. Type name of your .mwr file instead of File Name. Save and close. Now run it and geometry compiled!
=================================================================
Before moving, go to output/CARS_REPLACE/SL65 and delete every files, beside CAR.INI. Now move GEOMETRY.BIN and TEXTURES.BIN, there. Meanwhile, delete texdefn.txt from your folder and FRONTED from output folder. A cop car doesn't need to them.

Open the CAR.INI and copy below text to that and save:
QUOTE
[car]
internal=CARNAME
modloader=0.2

I had described you what you've to do with CARNAME.
=================================================================
Final step!

Now what you need to setting wheels positions and other dataes is ATTRIBUTES.MWPS. How to make it?

Don't worry! You can download it Here! Meanwhile, open them with Notepad.

Notes:
1-Copy values in front of nodes:
QUOTE
patch (Tab) float (Tab) bin:0x40dec (Tab) 0.5


2-What about engine sounds?
Download <a href='http://][color=lime#39]MWPS Template[/color'></a>.
Extract it with 7z. Follow this address: MWPS Template/Listing and other data/Engineaudio listing.txt.

copy its hash in front of engine audio's node. (0x********)
You don't know what are their sounds?

am_db9 = Aston Martin DB9 (Stock)
bmw_m3_a = Audi TT (Stock)
bmw_m3_c = Audi TT (Race-Pro) - Renault Clio V6 (Race - Pro)
bmw_m3_e = Audi TT (Super Pro-Ultimate) - Renault Clio V6 (Super Pro-Ultimate)
bmw_m5_a = Vauxhall Monaro VXR (Stock)
chv_cav_a = Chevrolet Cobalt SS (Race - Pro)
chv_cav_b = Chevrolet Cobalt SS (Super Pro - Ultimate) - Cadillac CTS (Super Pro - Ultimate)
corvette_z06 = Chevrolet Corvette C6 (Stock)
corvette_z06_v2 = Chevrolet Corvette C6 (Tuned)
dodg_viper_a = Dodge Viper SRT-10 (Tuned)
dodg_viper_b = Dodge Viper SRT-10 (Stock)
fer_360 = Mazda RX-8 (Ultimate)
for_foc_a = Cadillac CTS (Stock)
for_foc_b = Cadillac CTS (Pro)
for_mus_a = Ford GT
for_mus_b = Ford Mustang GT (Stock) - Ford Crown Victoria - Chevrolet Camaro SS
for_mus_c = A similar sound to Ford GT, but harsher.
for_mus_gt_a = Aston Martin DB9 (Tuned)
for_mus_gt_a_tranny = Aston Martin DB9 (Tuned)
hon_s2k_b = Fiat Punto (Stock)
hon_s2k_c = Fiat Punto (Ultimate) - Mitsubishi Lancer Evolution XILL (Tuned)
hon_s2k_d = Fiat Punto (Race-Pro)
hon_s2k_e = Mitsubishi Lancer Evolution XILL (Stock)
hum_h1 = Hummer H1 - SUV Patrol
inf_g35 = Lexus IS300 (Stock)
lam_diablo = Audi TT (Ultimate))
lam_gallardo = Lamborghini Gallardo (Stock)
lam_murc = Lamborghini Gallardo (Tuned) - Lamborghini Murcielago
lot_elise = Lotus Elise (Stock)
maz_miat = Mazda Miata MX-5 (Stock) - Peugeot 206 (Stock)
maz_prot_b = Chevrolet Cobalt SS (Stock)
maz_rx7 = Mazda RX-8 (Super Pro) - Mazda RX-7 (Stock)
maz_rx8 = Mazda RX-8 (Stock)
mbz_cl500 = Mercedes Benz SL500 (Stock)
mzb_cl55 = Mercedes Benz SL500 (Pro)
mbz_sl65 = Mercedes Benz SL65 - Mercedes Benz SL500 (Ultimate) - Mercedes Benz CLK500 (Stock)
mbz_slr = Mercedes Benz SLR McLaren
mit_eclip_a = Mitsubishi Eclipse GT (Super Pro - Ultimate)
mit_eclip_b = Mitsubishi Eclipse GT (Stock)
nis_240sx = Nissan 240SX (Stock)
nis_300zx = Mitsubishi Eclipse GT (Race - Pro) - Toyota Supra (Race - Pro)
nis_350z_a = Lexus IS300 (Race - Pro) - Nissan 350Z (Street - Underground 2)
nis_350z_b = Lexus IS300 (Super Pro - Ultimate) - Nissan 350z (Pro - Extreme - Underground 2)
nis_sky = Nissan Skyline (Stock)
por_911_a = Porsche Cayman S (Tuned) - Porsche 911 Turbo S (Tuned)
por_996 = Porsche Cayman S (Stock) - Porsche 911 Carrera S (Stock) - Porsche 911 Turbo S (Stock)
por_car_gt = Porsche Carrera GT
por_dp6 = Porsche 911 Carrera S (Tuned) - Porsche 911 GT3RS (Carbon)
por_gt4r = Porsche 911 GT2 - Audi A4 (Ultimate)
sub_wrx_a = Subaru Impreza WRXSTI (Stock)
sub_wrx_c = Subaru Impreza WRXSTI (Tuned)
trck_log = Trash Truck
tvr_cerb = BMW M3 GTR E46
tvr_tuscan = Renault Clio V6 (Stock) - Koenigsegg CCX (Carbon)
vw_cab = Volkswagon Golf GTI (Stock)
vw_gti = Volkswagon Golf GTI (Super Pro - Ultimate)
vw_jet_m3 = Audi A3 (Stock) - Audi A4 (Stock)
vw_jet_m4 = Audi A3 (Race-Pro) - Audi A4 (Race-Pro)
vw_scir = Volkswagon Golf GTI (Race - Pro)

... and other engine sounds, which didn't montion in above list are unused and unknown.

3-You only have to fill wheels positions and ride height values. Other nodes are optional and you may clear them, If you don't want.

WARNING!!!
Make sure you have filled all values of the ATTRIBUTES.MWPS, otherwise, the game will crash!
=================================================================
Is it ready? Save and change the name to ATTRIBUTES or same ATTRIBUTES.MWPS (If you can change type of file) Move it to your folder (Which your files there are). Take a copy from same folder and paste it in directory: NFSMW/ADDONS/CARS_REPLACE

Test it! If your car worked perfectly, you can share it with people of the world. wink.png

Did I forget anything? Have you better description? Any questions? Don't be shy and tell us what is on your mind. smile.png

... and sorry for my bad English, because I'm still learning English.


--------------------
Best Regards, MNaeemi777 - NFS Police H.Q. Staff
PMEmail PosterUsers WebsiteYahoo
Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll