2025-05-16 07:11:48 +06:00

275 lines
5.5 KiB
Lua

--@name SX 240
--@author Koptilnya
--@include /koptilnya/engine_remastered/vehicle.txt
--@include /koptilnya/engine_remastered/powertrain/differential.txt
local Vehicle, POWERTRAIN_COMPONENT = unpack(require('/koptilnya/engine_remastered/vehicle.txt'))
local Differential = require('/koptilnya/engine_remastered/powertrain/differential.txt')
-- Michelin Pilot Sport 4S (High-Performance Road Tire)
local WheelConfig = {
DEBUG = true,
BrakePower = 1200,
CustomWheel = {
Mass = 30,
LateralFrictionPreset = {
B = 12.0,
C = 1.3,
D = 1.8,
E = -1.8,
},
LongitudinalFrictionPreset = {
B = 18.0,
C = 1.5,
D = 1.5,
E = 0.3,
},
AligningFrictionPreset = {
B = 2.8,
C = 2.1,
D = 0.10,
E = -2.5,
},
-- AligningFrictionPreset = {
-- B = 13,
-- C = 2.4,
-- D = 1,
-- E = 0.48
-- }
},
Model = 'models/sprops/trans/wheel_a/wheel25.mdl',
}
local FrontWheelsConfig = table.merge(table.copy(WheelConfig), {
BrakePower = 1600,
CustomWheel = {
CasterAngle = 7,
CamberAngle = -3,
},
})
local RearWheelsConfig = table.merge(table.copy(WheelConfig), {
BrakePower = 600,
HandbrakePower = 2200,
CustomWheel = {
CamberAngle = -2,
-- LongitudinalFrictionPreset = {
-- B = 0.1,
-- C = 1,
-- D = 0.9,
-- E = 0.9,
-- },
},
})
Vehicle:new({
{
Name = 'Engine',
Type = POWERTRAIN_COMPONENT.Engine,
Config = {
IdleRPM = 900,
MaxRPM = 7000,
Inertia = 0.151,
StartFriction = -10,
FrictionCoeff = 0.01,
LimiterDuration = 0.06,
TorqueMap = {
118.89918444138,
122.0751393736,
125.25109430583,
128.42704923806,
131.60300417029,
134.77895910251,
137.95491403474,
141.13086896697,
144.3068238992,
147.48277883143,
150.65873376365,
153.83468869588,
157.01064362811,
160.18659856034,
163.36255349256,
166.53850842479,
169.71446335702,
172.89041828925,
176.06637322148,
179.2423281537,
182.41828308593,
185.59423801816,
188.77019295039,
191.94614788261,
195.12210281484,
198.29805774707,
201.4740126793,
204.64996761153,
207.82592254375,
211.00187747598,
214.17783240821,
217.35378734044,
220.52974227266,
223.70569720489,
226.88165213712,
227.9621903219,
229.04272850669,
230.12326669147,
231.20380487625,
232.28434306104,
233.36488124582,
234.4454194306,
235.52595761538,
236.60649580017,
237.68703398495,
238.76757216973,
239.84811035452,
240.9286485393,
242.00918672408,
243.08972490886,
244.17026309365,
245.25080127843,
246.33133946321,
247.411877648,
248.49241583278,
249.57295401756,
250.65349220234,
251.73403038713,
252.81456857191,
253.89510675669,
254.97564494148,
256.05618312626,
257.13672131104,
258.21725949582,
259.29779768061,
260.37833586539,
261.29278066787,
262.20722547034,
263.12167027282,
264.0361150753,
264.95055987777,
265.86500468025,
266.77944948273,
267.6938942852,
268.60833908768,
269.52278389016,
270.43722869263,
271.35167349511,
272.26611829758,
273.18056310006,
274.09500790254,
275.00945270501,
275.92389750749,
276.83834230997,
275.50329427594,
274.16824624192,
272.8331982079,
271.49815017388,
270.16310213985,
268.82805410583,
267.49300607181,
266.15795803778,
264.82291000376,
263.48786196974,
262.15281393572,
260.81776590169,
259.48271786767,
250.23203287321,
240.98134787874,
231.73066288428,
222.47997788981,
},
},
},
{
Name = 'Clutch',
Input = 'Engine',
Type = POWERTRAIN_COMPONENT.Clutch,
Config = {
Inertia = 0.002,
SlipTorque = 1000,
},
},
{
Name = 'Gearbox',
Input = 'Clutch',
Type = POWERTRAIN_COMPONENT.Gearbox,
Config = {
Type = 'MANUAL',
ShiftTime = 3,
Inertia = 0.01,
Ratios = { 3.626, 2.200, 1.541, 1.213, 1.000, 0.767 },
Reverse = 3.437,
},
},
{
Name = 'AxleFront',
-- Input = 'Axle',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 3.392,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 0.1,
SlipTorque = 0,
SteerLock = 50,
ToeAngle = 0.5,
},
},
{
Name = 'WheelFL',
Type = POWERTRAIN_COMPONENT.Wheel,
Input = 'AxleFront',
Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 0 }),
},
{
Name = 'WheelFR',
Type = POWERTRAIN_COMPONENT.Wheel,
Input = 'AxleFront',
Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 180 }),
},
{
Name = 'AxleBack',
Input = 'Gearbox',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 3.392,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 0.9,
SlipTorque = 1000,
ToeAngle = 0.5,
},
},
{
Name = 'Axle',
-- Input = 'Gearbox',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 1,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 1,
SlipTorque = 1000,
},
},
{
Name = 'WheelRL',
Input = 'AxleBack',
Type = POWERTRAIN_COMPONENT.Wheel,
Config = table.merge(table.copy(RearWheelsConfig), { Offset = 0 }),
},
{
Name = 'WheelRR',
Input = 'AxleBack',
Type = POWERTRAIN_COMPONENT.Wheel,
Config = table.merge(table.copy(RearWheelsConfig), { Offset = 180 }),
},
})