Compare commits

...

4 Commits

Author SHA1 Message Date
Fierelier 6ed8ae8c9c Enhance new flavor description 2023-04-21 10:49:58 +02:00
Fierelier 15b37cec2c Add "New flavor" 2023-04-21 10:48:15 +02:00
Fierelier ec23cb0f74 Further simplify folder structure 2023-04-21 10:46:00 +02:00
Fierelier c78f251fb2 Update README.txt 2023-04-21 10:44:17 +02:00
8 changed files with 717 additions and 4 deletions

View File

@ -12,7 +12,7 @@ How to install:
Importing the scripts multiple times is absolutely fine and will cause no issues, despite the errors. To update, just repeat the installation instructions.
This also includes the script used to generate the .nfsms file. If you wish to modify the values, edit mw\ug2ish-handling.py and then run it using Python 3.x. You may use it to more easily make handling mods yourself.
This also includes the script used to generate the .nfsms file. If you wish to modify the values, edit mw\developer\ug2ish-handling.py and then run it using Python 3.x. You may use it to more easily make handling mods yourself.
Changelog:
1.2:

View File

@ -0,0 +1,251 @@
#!/usr/bin/env python3
"""
MIT License
Copyright (c) 2023
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
"""
import sys
import os
oldexcepthook = sys.excepthook
def newexcepthook(type,value,traceback):
oldexcepthook(type,value,traceback)
input("Press ENTER to quit.")
sys.excepthook = newexcepthook
p = os.path.join
pUp = os.path.dirname
s = False
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
s = os.path.realpath(sys.executable)
else:
s = os.path.realpath(__file__)
sp = pUp(s)
os.chdir(sp)
nfsmsScript = s.replace(sp,p(pUp(sp),"scripts"),1).rsplit(".",1)[0] + ".nfsms"
properties = """\
# Handling/new: replaceme/misc
update_field rigidbodyspecs racers GRAVITY -13
# Handling/new: replaceme/suspension
update_field chassis replaceme RIDE_HEIGHT Front 14
update_field chassis replaceme RIDE_HEIGHT Rear 14
update_field chassis replaceme_top RIDE_HEIGHT Front 14
update_field chassis replaceme_top RIDE_HEIGHT Rear 14
\
"""
carlist = ["911gt2","911turbo","997s","a3","a4","bmwm3gtr","bmwm3gtre46","camaro","carreragt","caymans","clio","clk500","cobaltss","corvette","corvettec6r","cts","db9","eclipsegt","elise","fordgt","gallardo","gti","gto","imprezawrx","is300","lancerevo8","monaro","murcielago","mustanggt","punto","rx7","rx8","sl500","sl65","slr","supra","tt","viper"]
carlistNoTop = ["911gt2","bmwm3gtr","bmwm3gtre46","camaro","corvettec6r","sl65"]
topBias = {
"911gt2": 0.8,
"911turbo": 0.6,
"997s": 0.6,
"a3": 0.2,
"a4": 0.2,
"bmwm3gtr": 1.0,
"bmwm3gtre46": 0.4,
"camaro": 0.0,
"carreragt": 0.9,
"caymans": 0.6,
"clio": 0.2,
"clk500": 0.2,
"cobaltss": 0.1,
"corvette": 0.4,
"corvettec6r": 1.0,
"cts": 0.1,
"db9": 0.7,
"eclipsegt": 0.4,
"elise": 0.6,
"fordgt": 0.6,
"gallardo": 0.6,
"gti": 0.2,
"gto": 0.1,
"imprezawrx": 0.4,
"is300": 0.0,
"lancerevo8": 0.5,
"monaro": 0.1,
"murcielago": 0.3,
"mustanggt": 0.1,
"punto": 0.2,
"rx7": 0.3,
"rx8": 0.2,
"sl500": 0.5,
"sl65": 0.4,
"slr": 0.6,
"supra": 0.3,
"tt": 0.3,
"viper": 0.4
}
nfsmsMods = {}
nfsmsModsTop = {}
for car in carlist:
nfsmsMods[car] = {}
nfsmsMods[car]["tires"] = {}
nfsmsMods[car]["chassis"] = {}
# Grip scale
nfsmsMods["elise"]["tires"]["GRIP_SCALE Front"] = 0.7
nfsmsMods["elise"]["tires"]["GRIP_SCALE Rear"] = 0.7
# Ride height scale
nfsmsMods["911gt2"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
nfsmsMods["911gt2"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
nfsmsMods["911turbo"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
nfsmsMods["911turbo"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
nfsmsMods["997s"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
nfsmsMods["997s"]["chassis"]["RIDE_HEIGHT Front"] = 1.0
nfsmsMods["a3"]["chassis"]["RIDE_HEIGHT Rear"] = 1.2
nfsmsMods["a3"]["chassis"]["RIDE_HEIGHT Front"] = 1.2
nfsmsMods["a4"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
nfsmsMods["a4"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
nfsmsMods["bmwm3gtr"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
nfsmsMods["bmwm3gtr"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
nfsmsMods["bmwm3gtre46"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["bmwm3gtre46"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["camaro"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
nfsmsMods["camaro"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
nfsmsMods["carreragt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["carreragt"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["caymans"]["chassis"]["RIDE_HEIGHT Rear"] = 1.2
nfsmsMods["caymans"]["chassis"]["RIDE_HEIGHT Front"] = 1.2
nfsmsMods["clio"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["clio"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["clk500"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["clk500"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["cobaltss"]["chassis"]["RIDE_HEIGHT Rear"] = 1.35
nfsmsMods["cobaltss"]["chassis"]["RIDE_HEIGHT Front"] = 1.35
nfsmsMods["corvette"]["chassis"]["RIDE_HEIGHT Rear"] = 1.4
nfsmsMods["corvette"]["chassis"]["RIDE_HEIGHT Front"] = 1.4
nfsmsMods["corvettec6r"]["chassis"]["RIDE_HEIGHT Rear"] = 0.8
nfsmsMods["corvettec6r"]["chassis"]["RIDE_HEIGHT Front"] = 0.8
nfsmsMods["cts"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
nfsmsMods["cts"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
nfsmsMods["db9"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
nfsmsMods["db9"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
nfsmsMods["eclipsegt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
nfsmsMods["eclipsegt"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
nfsmsMods["elise"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
nfsmsMods["elise"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
nfsmsMods["fordgt"]["chassis"]["RIDE_HEIGHT Rear"] = 0.8
nfsmsMods["fordgt"]["chassis"]["RIDE_HEIGHT Front"] = 0.8
nfsmsMods["gallardo"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["gallardo"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["gti"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
nfsmsMods["gti"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
nfsmsMods["gto"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
nfsmsMods["gto"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
nfsmsMods["imprezawrx"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["imprezawrx"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["is300"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["is300"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["lancerevo8"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["lancerevo8"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["monaro"]["chassis"]["RIDE_HEIGHT Rear"] = 1.15
nfsmsMods["monaro"]["chassis"]["RIDE_HEIGHT Front"] = 1.15
nfsmsMods["murcielago"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
nfsmsMods["murcielago"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
nfsmsMods["mustanggt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["mustanggt"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["punto"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
nfsmsMods["punto"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
nfsmsMods["rx7"]["chassis"]["RIDE_HEIGHT Rear"] = 1.2
nfsmsMods["rx7"]["chassis"]["RIDE_HEIGHT Front"] = 1.2
nfsmsMods["rx8"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
nfsmsMods["rx8"]["chassis"]["RIDE_HEIGHT Front"] = 1.0
nfsmsMods["sl500"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
nfsmsMods["sl500"]["chassis"]["RIDE_HEIGHT Front"] = 1.0
nfsmsMods["sl65"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["sl65"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["slr"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
nfsmsMods["slr"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
nfsmsMods["supra"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
nfsmsMods["supra"]["chassis"]["RIDE_HEIGHT Front"] = 1.0
nfsmsMods["tt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
nfsmsMods["tt"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
nfsmsMods["viper"]["chassis"]["RIDE_HEIGHT Rear"] = 0.85
nfsmsMods["viper"]["chassis"]["RIDE_HEIGHT Front"] = 0.85
def parseUpdate(line):
line = line.split(" ",3)
line = line + line.pop(3).rsplit(" ",1)
return line
def getTopValue(lineSplit):
rtn = None
for line in properties:
lineType = line.split(" ",1)[0]
if lineType == "update_field":
lineSplit2 = parseUpdate(line)
if lineSplit2[2] != "replaceme_top": continue
if lineSplit2[1] != lineSplit[1]: continue
if lineSplit2[3] != lineSplit[3]: continue
rtn = lineSplit2[-1]
return rtn
def main():
global properties
properties = properties.split("\n")
output = []
for car in carlist:
for line in properties:
isCarLine = ("replaceme" in line)
isTopLine = ("replaceme_top" in line)
lineType = line.split(" ",1)[0]
if not isCarLine:
if line != "" and line in output: continue
output.append(line)
continue
if car in carlistNoTop and isTopLine:
continue
if lineType == "update_field":
lineSplit = parseUpdate(line)
if car in nfsmsMods:
if lineSplit[1] in nfsmsMods[car]:
if lineSplit[3] in nfsmsMods[car][lineSplit[1]]:
try:
value = float(lineSplit[-1])
except Exception:
pass
else:
value = value * nfsmsMods[car][lineSplit[1]][lineSplit[3]]
lineSplit[-1] = str(value)
valueTop = getTopValue(lineSplit)
if isTopLine == False and car in topBias:
try:
value = float(lineSplit[-1])
valueTop = float(valueTop)
except Exception:
pass
else:
value = value + ((valueTop - value) * topBias[car])
lineSplit[-1] = str(value)
line = " ".join(lineSplit)
output.append(line.replace("replaceme",car))
file = open(nfsmsScript,"w")
for line in output:
file.write(line + "\n")
file.close()
main()

View File

@ -37,12 +37,19 @@ nfsmsScript = s.replace(sp,pUp(sp),1).rsplit(".",1)[0] + ".nfsms"
properties = """\
game MW
script vlt\\separate-ai-handling.nfsms
ui_control checkbox new true "New flavor"
ui_text More changes from the original values, makes primarily high-end vehicles a bit more planted.
script scripts\\separate-ai-handling.nfsms
# Handling: general/separation
copy_node rigidbodyspecs cars racers ai_racers
update_field pvehicle ai_racers rigidbodyspecs Collection ai_racers
# Handling: general/misc
update_field rigidbodyspecs racers GRAVITY -9.8128
# Handling: general/suspension
update_field rigidbodyspecs racers DRAG_ANGULAR X 200
update_field rigidbodyspecs racers DRAG_ANGULAR Z 1000
@ -160,6 +167,10 @@ update_field tires replaceme_top YAW_CONTROL[0] 1
update_field tires replaceme_top YAW_CONTROL[1] 1
update_field tires replaceme_top YAW_CONTROL[2] 1
update_field tires replaceme_top YAW_CONTROL[3] 1
ui_option new
script scripts\\ug2ish-handling-new.nfsms
ui_option new
\
"""

View File

@ -0,0 +1,293 @@
# Handling/new: 911gt2/misc
update_field rigidbodyspecs racers GRAVITY -13
# Handling/new: 911gt2/suspension
update_field chassis 911gt2 RIDE_HEIGHT Front 14.84
update_field chassis 911gt2 RIDE_HEIGHT Rear 14.84
# Handling/new: 911turbo/misc
# Handling/new: 911turbo/suspension
update_field chassis 911turbo RIDE_HEIGHT Front 15.68
update_field chassis 911turbo RIDE_HEIGHT Rear 15.68
update_field chassis 911turbo_top RIDE_HEIGHT Front 18.2
update_field chassis 911turbo_top RIDE_HEIGHT Rear 18.2
# Handling/new: 997s/misc
# Handling/new: 997s/suspension
update_field chassis 997s RIDE_HEIGHT Front 14.0
update_field chassis 997s RIDE_HEIGHT Rear 14.0
update_field chassis 997s_top RIDE_HEIGHT Front 14.0
update_field chassis 997s_top RIDE_HEIGHT Rear 14.0
# Handling/new: a3/misc
# Handling/new: a3/suspension
update_field chassis a3 RIDE_HEIGHT Front 16.240000000000002
update_field chassis a3 RIDE_HEIGHT Rear 16.240000000000002
update_field chassis a3_top RIDE_HEIGHT Front 16.8
update_field chassis a3_top RIDE_HEIGHT Rear 16.8
# Handling/new: a4/misc
# Handling/new: a4/suspension
update_field chassis a4 RIDE_HEIGHT Front 17.36
update_field chassis a4 RIDE_HEIGHT Rear 17.36
update_field chassis a4_top RIDE_HEIGHT Front 18.2
update_field chassis a4_top RIDE_HEIGHT Rear 18.2
# Handling/new: bmwm3gtr/misc
# Handling/new: bmwm3gtr/suspension
update_field chassis bmwm3gtr RIDE_HEIGHT Front 14.0
update_field chassis bmwm3gtr RIDE_HEIGHT Rear 14.0
# Handling/new: bmwm3gtre46/misc
# Handling/new: bmwm3gtre46/suspension
update_field chassis bmwm3gtre46 RIDE_HEIGHT Front 14.840000000000002
update_field chassis bmwm3gtre46 RIDE_HEIGHT Rear 14.840000000000002
# Handling/new: camaro/misc
# Handling/new: camaro/suspension
update_field chassis camaro RIDE_HEIGHT Front 12.6
update_field chassis camaro RIDE_HEIGHT Rear 12.6
# Handling/new: carreragt/misc
# Handling/new: carreragt/suspension
update_field chassis carreragt RIDE_HEIGHT Front 14.14
update_field chassis carreragt RIDE_HEIGHT Rear 14.14
update_field chassis carreragt_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis carreragt_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: caymans/misc
# Handling/new: caymans/suspension
update_field chassis caymans RIDE_HEIGHT Front 15.120000000000001
update_field chassis caymans RIDE_HEIGHT Rear 15.120000000000001
update_field chassis caymans_top RIDE_HEIGHT Front 16.8
update_field chassis caymans_top RIDE_HEIGHT Rear 16.8
# Handling/new: clio/misc
# Handling/new: clio/suspension
update_field chassis clio RIDE_HEIGHT Front 15.120000000000001
update_field chassis clio RIDE_HEIGHT Rear 15.120000000000001
update_field chassis clio_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis clio_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: clk500/misc
# Handling/new: clk500/suspension
update_field chassis clk500 RIDE_HEIGHT Front 15.120000000000001
update_field chassis clk500 RIDE_HEIGHT Rear 15.120000000000001
update_field chassis clk500_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis clk500_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: cobaltss/misc
# Handling/new: cobaltss/suspension
update_field chassis cobaltss RIDE_HEIGHT Front 18.410000000000004
update_field chassis cobaltss RIDE_HEIGHT Rear 18.410000000000004
update_field chassis cobaltss_top RIDE_HEIGHT Front 18.900000000000002
update_field chassis cobaltss_top RIDE_HEIGHT Rear 18.900000000000002
# Handling/new: corvette/misc
# Handling/new: corvette/suspension
update_field chassis corvette RIDE_HEIGHT Front 17.36
update_field chassis corvette RIDE_HEIGHT Rear 17.36
update_field chassis corvette_top RIDE_HEIGHT Front 19.599999999999998
update_field chassis corvette_top RIDE_HEIGHT Rear 19.599999999999998
# Handling/new: corvettec6r/misc
# Handling/new: corvettec6r/suspension
update_field chassis corvettec6r RIDE_HEIGHT Front 14.0
update_field chassis corvettec6r RIDE_HEIGHT Rear 14.0
# Handling/new: cts/misc
# Handling/new: cts/suspension
update_field chassis cts RIDE_HEIGHT Front 12.74
update_field chassis cts RIDE_HEIGHT Rear 12.74
update_field chassis cts_top RIDE_HEIGHT Front 12.6
update_field chassis cts_top RIDE_HEIGHT Rear 12.6
# Handling/new: db9/misc
# Handling/new: db9/suspension
update_field chassis db9 RIDE_HEIGHT Front 13.58
update_field chassis db9 RIDE_HEIGHT Rear 13.58
update_field chassis db9_top RIDE_HEIGHT Front 12.6
update_field chassis db9_top RIDE_HEIGHT Rear 12.6
# Handling/new: eclipsegt/misc
# Handling/new: eclipsegt/suspension
update_field chassis eclipsegt RIDE_HEIGHT Front 16.52
update_field chassis eclipsegt RIDE_HEIGHT Rear 16.52
update_field chassis eclipsegt_top RIDE_HEIGHT Front 18.2
update_field chassis eclipsegt_top RIDE_HEIGHT Rear 18.2
# Handling/new: elise/misc
# Handling/new: elise/suspension
update_field chassis elise RIDE_HEIGHT Front 13.44
update_field chassis elise RIDE_HEIGHT Rear 13.44
update_field chassis elise_top RIDE_HEIGHT Front 12.6
update_field chassis elise_top RIDE_HEIGHT Rear 12.6
# Handling/new: fordgt/misc
# Handling/new: fordgt/suspension
update_field chassis fordgt RIDE_HEIGHT Front 12.88
update_field chassis fordgt RIDE_HEIGHT Rear 12.88
update_field chassis fordgt_top RIDE_HEIGHT Front 11.200000000000001
update_field chassis fordgt_top RIDE_HEIGHT Rear 11.200000000000001
# Handling/new: gallardo/misc
# Handling/new: gallardo/suspension
update_field chassis gallardo RIDE_HEIGHT Front 14.56
update_field chassis gallardo RIDE_HEIGHT Rear 14.56
update_field chassis gallardo_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis gallardo_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: gti/misc
# Handling/new: gti/suspension
update_field chassis gti RIDE_HEIGHT Front 17.36
update_field chassis gti RIDE_HEIGHT Rear 17.36
update_field chassis gti_top RIDE_HEIGHT Front 18.2
update_field chassis gti_top RIDE_HEIGHT Rear 18.2
# Handling/new: gto/misc
# Handling/new: gto/suspension
update_field chassis gto RIDE_HEIGHT Front 17.78
update_field chassis gto RIDE_HEIGHT Rear 17.78
update_field chassis gto_top RIDE_HEIGHT Front 18.2
update_field chassis gto_top RIDE_HEIGHT Rear 18.2
# Handling/new: imprezawrx/misc
# Handling/new: imprezawrx/suspension
update_field chassis imprezawrx RIDE_HEIGHT Front 14.840000000000002
update_field chassis imprezawrx RIDE_HEIGHT Rear 14.840000000000002
update_field chassis imprezawrx_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis imprezawrx_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: is300/misc
# Handling/new: is300/suspension
update_field chassis is300 RIDE_HEIGHT Front 15.400000000000002
update_field chassis is300 RIDE_HEIGHT Rear 15.400000000000002
update_field chassis is300_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis is300_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: lancerevo8/misc
# Handling/new: lancerevo8/suspension
update_field chassis lancerevo8 RIDE_HEIGHT Front 14.700000000000001
update_field chassis lancerevo8 RIDE_HEIGHT Rear 14.700000000000001
update_field chassis lancerevo8_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis lancerevo8_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: monaro/misc
# Handling/new: monaro/suspension
update_field chassis monaro RIDE_HEIGHT Front 15.889999999999999
update_field chassis monaro RIDE_HEIGHT Rear 15.889999999999999
update_field chassis monaro_top RIDE_HEIGHT Front 16.099999999999998
update_field chassis monaro_top RIDE_HEIGHT Rear 16.099999999999998
# Handling/new: murcielago/misc
# Handling/new: murcielago/suspension
update_field chassis murcielago RIDE_HEIGHT Front 13.02
update_field chassis murcielago RIDE_HEIGHT Rear 13.02
update_field chassis murcielago_top RIDE_HEIGHT Front 12.6
update_field chassis murcielago_top RIDE_HEIGHT Rear 12.6
# Handling/new: mustanggt/misc
# Handling/new: mustanggt/suspension
update_field chassis mustanggt RIDE_HEIGHT Front 15.260000000000002
update_field chassis mustanggt RIDE_HEIGHT Rear 15.260000000000002
update_field chassis mustanggt_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis mustanggt_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: punto/misc
# Handling/new: punto/suspension
update_field chassis punto RIDE_HEIGHT Front 12.879999999999999
update_field chassis punto RIDE_HEIGHT Rear 12.879999999999999
update_field chassis punto_top RIDE_HEIGHT Front 12.6
update_field chassis punto_top RIDE_HEIGHT Rear 12.6
# Handling/new: rx7/misc
# Handling/new: rx7/suspension
update_field chassis rx7 RIDE_HEIGHT Front 15.96
update_field chassis rx7 RIDE_HEIGHT Rear 15.96
update_field chassis rx7_top RIDE_HEIGHT Front 16.8
update_field chassis rx7_top RIDE_HEIGHT Rear 16.8
# Handling/new: rx8/misc
# Handling/new: rx8/suspension
update_field chassis rx8 RIDE_HEIGHT Front 14.0
update_field chassis rx8 RIDE_HEIGHT Rear 14.0
update_field chassis rx8_top RIDE_HEIGHT Front 14.0
update_field chassis rx8_top RIDE_HEIGHT Rear 14.0
# Handling/new: sl500/misc
# Handling/new: sl500/suspension
update_field chassis sl500 RIDE_HEIGHT Front 14.0
update_field chassis sl500 RIDE_HEIGHT Rear 14.0
update_field chassis sl500_top RIDE_HEIGHT Front 14.0
update_field chassis sl500_top RIDE_HEIGHT Rear 14.0
# Handling/new: sl65/misc
# Handling/new: sl65/suspension
update_field chassis sl65 RIDE_HEIGHT Front 14.840000000000002
update_field chassis sl65 RIDE_HEIGHT Rear 14.840000000000002
# Handling/new: slr/misc
# Handling/new: slr/suspension
update_field chassis slr RIDE_HEIGHT Front 14.56
update_field chassis slr RIDE_HEIGHT Rear 14.56
update_field chassis slr_top RIDE_HEIGHT Front 15.400000000000002
update_field chassis slr_top RIDE_HEIGHT Rear 15.400000000000002
# Handling/new: supra/misc
# Handling/new: supra/suspension
update_field chassis supra RIDE_HEIGHT Front 14.0
update_field chassis supra RIDE_HEIGHT Rear 14.0
update_field chassis supra_top RIDE_HEIGHT Front 14.0
update_field chassis supra_top RIDE_HEIGHT Rear 14.0
# Handling/new: tt/misc
# Handling/new: tt/suspension
update_field chassis tt RIDE_HEIGHT Front 16.939999999999998
update_field chassis tt RIDE_HEIGHT Rear 16.939999999999998
update_field chassis tt_top RIDE_HEIGHT Front 18.2
update_field chassis tt_top RIDE_HEIGHT Rear 18.2
# Handling/new: viper/misc
# Handling/new: viper/suspension
update_field chassis viper RIDE_HEIGHT Front 12.74
update_field chassis viper RIDE_HEIGHT Rear 12.74
update_field chassis viper_top RIDE_HEIGHT Front 11.9
update_field chassis viper_top RIDE_HEIGHT Rear 11.9

View File

@ -4,7 +4,7 @@
"Usage": "User",
"Game": "MostWanted",
"Directory": ".",
"Endscript": "binary\separate-ai-presets.end",
"Endscript": "scripts\separate-ai-presets.end",
"Files": [
"GLOBAL\GLOBALA.BUN",
"GLOBAL\GLOBALB.LZC"

View File

@ -1,10 +1,17 @@
game MW
script vlt\separate-ai-handling.nfsms
ui_control checkbox new true "New flavor"
ui_text Try the new flavor with more changes from the original values.
script scripts\separate-ai-handling.nfsms
# Handling: general/separation
copy_node rigidbodyspecs cars racers ai_racers
update_field pvehicle ai_racers rigidbodyspecs Collection ai_racers
# Handling: general/misc
update_field rigidbodyspecs racers GRAVITY -9.8128
# Handling: general/suspension
update_field rigidbodyspecs racers DRAG_ANGULAR X 200
update_field rigidbodyspecs racers DRAG_ANGULAR Z 1000
@ -86,6 +93,12 @@ update_field tires 911gt2 YAW_CONTROL[2] 1.0
update_field tires 911gt2 YAW_CONTROL[3] 1.0
ui_option new
script scripts\ug2ish-handling-new.nfsms
@ -193,6 +206,10 @@ update_field tires 911turbo_top YAW_CONTROL[3] 1
# Handling: 997s/separation
copy_node chassis 997s ai_997s
copy_node chassis 997s_top ai_997s_top
@ -296,6 +313,10 @@ update_field tires 997s_top YAW_CONTROL[3] 1
# Handling: a3/separation
copy_node chassis a3 ai_a3
copy_node chassis a3_top ai_a3_top
@ -399,6 +420,10 @@ update_field tires a3_top YAW_CONTROL[3] 1
# Handling: a4/separation
copy_node chassis a4 ai_a4
copy_node chassis a4_top ai_a4_top
@ -502,6 +527,10 @@ update_field tires a4_top YAW_CONTROL[3] 1
# Handling: bmwm3gtr/separation
copy_node chassis bmwm3gtr ai_bmwm3gtr
update_field pvehicle ai_bmwm3gtr chassis[0] Collection ai_bmwm3gtr
@ -568,6 +597,10 @@ update_field tires bmwm3gtr YAW_CONTROL[3] 1.0
# Handling: bmwm3gtre46/separation
copy_node chassis bmwm3gtre46 ai_bmwm3gtre46
update_field pvehicle ai_bmwm3gtre46 chassis[0] Collection ai_bmwm3gtre46
@ -634,6 +667,10 @@ update_field tires bmwm3gtre46 YAW_CONTROL[3] 1.0
# Handling: camaro/separation
copy_node chassis camaro ai_camaro
update_field pvehicle ai_camaro chassis[0] Collection ai_camaro
@ -700,6 +737,10 @@ update_field tires camaro YAW_CONTROL[3] 1.0
# Handling: carreragt/separation
copy_node chassis carreragt ai_carreragt
copy_node chassis carreragt_top ai_carreragt_top
@ -803,6 +844,10 @@ update_field tires carreragt_top YAW_CONTROL[3] 1
# Handling: caymans/separation
copy_node chassis caymans ai_caymans
copy_node chassis caymans_top ai_caymans_top
@ -906,6 +951,10 @@ update_field tires caymans_top YAW_CONTROL[3] 1
# Handling: clio/separation
copy_node chassis clio ai_clio
copy_node chassis clio_top ai_clio_top
@ -1009,6 +1058,10 @@ update_field tires clio_top YAW_CONTROL[3] 1
# Handling: clk500/separation
copy_node chassis clk500 ai_clk500
copy_node chassis clk500_top ai_clk500_top
@ -1112,6 +1165,10 @@ update_field tires clk500_top YAW_CONTROL[3] 1
# Handling: cobaltss/separation
copy_node chassis cobaltss ai_cobaltss
copy_node chassis cobaltss_top ai_cobaltss_top
@ -1215,6 +1272,10 @@ update_field tires cobaltss_top YAW_CONTROL[3] 1
# Handling: corvette/separation
copy_node chassis corvette ai_corvette
copy_node chassis corvette_top ai_corvette_top
@ -1318,6 +1379,10 @@ update_field tires corvette_top YAW_CONTROL[3] 1
# Handling: corvettec6r/separation
copy_node chassis corvettec6r ai_corvettec6r
update_field pvehicle ai_corvettec6r chassis[0] Collection ai_corvettec6r
@ -1384,6 +1449,10 @@ update_field tires corvettec6r YAW_CONTROL[3] 1.0
# Handling: cts/separation
copy_node chassis cts ai_cts
copy_node chassis cts_top ai_cts_top
@ -1487,6 +1556,10 @@ update_field tires cts_top YAW_CONTROL[3] 1
# Handling: db9/separation
copy_node chassis db9 ai_db9
copy_node chassis db9_top ai_db9_top
@ -1590,6 +1663,10 @@ update_field tires db9_top YAW_CONTROL[3] 1
# Handling: eclipsegt/separation
copy_node chassis eclipsegt ai_eclipsegt
copy_node chassis eclipsegt_top ai_eclipsegt_top
@ -1693,6 +1770,10 @@ update_field tires eclipsegt_top YAW_CONTROL[3] 1
# Handling: elise/separation
copy_node chassis elise ai_elise
copy_node chassis elise_top ai_elise_top
@ -1796,6 +1877,10 @@ update_field tires elise_top YAW_CONTROL[3] 1
# Handling: fordgt/separation
copy_node chassis fordgt ai_fordgt
copy_node chassis fordgt_top ai_fordgt_top
@ -1899,6 +1984,10 @@ update_field tires fordgt_top YAW_CONTROL[3] 1
# Handling: gallardo/separation
copy_node chassis gallardo ai_gallardo
copy_node chassis gallardo_top ai_gallardo_top
@ -2002,6 +2091,10 @@ update_field tires gallardo_top YAW_CONTROL[3] 1
# Handling: gti/separation
copy_node chassis gti ai_gti
copy_node chassis gti_top ai_gti_top
@ -2105,6 +2198,10 @@ update_field tires gti_top YAW_CONTROL[3] 1
# Handling: gto/separation
copy_node chassis gto ai_gto
copy_node chassis gto_top ai_gto_top
@ -2208,6 +2305,10 @@ update_field tires gto_top YAW_CONTROL[3] 1
# Handling: imprezawrx/separation
copy_node chassis imprezawrx ai_imprezawrx
copy_node chassis imprezawrx_top ai_imprezawrx_top
@ -2311,6 +2412,10 @@ update_field tires imprezawrx_top YAW_CONTROL[3] 1
# Handling: is300/separation
copy_node chassis is300 ai_is300
copy_node chassis is300_top ai_is300_top
@ -2414,6 +2519,10 @@ update_field tires is300_top YAW_CONTROL[3] 1
# Handling: lancerevo8/separation
copy_node chassis lancerevo8 ai_lancerevo8
copy_node chassis lancerevo8_top ai_lancerevo8_top
@ -2517,6 +2626,10 @@ update_field tires lancerevo8_top YAW_CONTROL[3] 1
# Handling: monaro/separation
copy_node chassis monaro ai_monaro
copy_node chassis monaro_top ai_monaro_top
@ -2620,6 +2733,10 @@ update_field tires monaro_top YAW_CONTROL[3] 1
# Handling: murcielago/separation
copy_node chassis murcielago ai_murcielago
copy_node chassis murcielago_top ai_murcielago_top
@ -2723,6 +2840,10 @@ update_field tires murcielago_top YAW_CONTROL[3] 1
# Handling: mustanggt/separation
copy_node chassis mustanggt ai_mustanggt
copy_node chassis mustanggt_top ai_mustanggt_top
@ -2826,6 +2947,10 @@ update_field tires mustanggt_top YAW_CONTROL[3] 1
# Handling: punto/separation
copy_node chassis punto ai_punto
copy_node chassis punto_top ai_punto_top
@ -2929,6 +3054,10 @@ update_field tires punto_top YAW_CONTROL[3] 1
# Handling: rx7/separation
copy_node chassis rx7 ai_rx7
copy_node chassis rx7_top ai_rx7_top
@ -3032,6 +3161,10 @@ update_field tires rx7_top YAW_CONTROL[3] 1
# Handling: rx8/separation
copy_node chassis rx8 ai_rx8
copy_node chassis rx8_top ai_rx8_top
@ -3135,6 +3268,10 @@ update_field tires rx8_top YAW_CONTROL[3] 1
# Handling: sl500/separation
copy_node chassis sl500 ai_sl500
copy_node chassis sl500_top ai_sl500_top
@ -3238,6 +3375,10 @@ update_field tires sl500_top YAW_CONTROL[3] 1
# Handling: sl65/separation
copy_node chassis sl65 ai_sl65
update_field pvehicle ai_sl65 chassis[0] Collection ai_sl65
@ -3304,6 +3445,10 @@ update_field tires sl65 YAW_CONTROL[3] 1.0
# Handling: slr/separation
copy_node chassis slr ai_slr
copy_node chassis slr_top ai_slr_top
@ -3407,6 +3552,10 @@ update_field tires slr_top YAW_CONTROL[3] 1
# Handling: supra/separation
copy_node chassis supra ai_supra
copy_node chassis supra_top ai_supra_top
@ -3510,6 +3659,10 @@ update_field tires supra_top YAW_CONTROL[3] 1
# Handling: tt/separation
copy_node chassis tt ai_tt
copy_node chassis tt_top ai_tt_top
@ -3613,6 +3766,10 @@ update_field tires tt_top YAW_CONTROL[3] 1
# Handling: viper/separation
copy_node chassis viper ai_viper
copy_node chassis viper_top ai_viper_top
@ -3712,3 +3869,4 @@ update_field tires viper_top YAW_CONTROL[1] 1
update_field tires viper_top YAW_CONTROL[2] 1
update_field tires viper_top YAW_CONTROL[3] 1