dobrograd-13-06-2022/garrysmod/addons/feature-cars/lua/simfphys/attachments.lua

544 lines
14 KiB
Lua
Raw Normal View History

2023-11-16 15:01:19 +05:00
simfphys.attachments = {
siren1 = {
type = 'siren',
mdl = 'models/octocar/police_siren.mdl',
},
siren2 = {
type = 'siren',
mdl = 'models/octocar/police_siren2.mdl',
},
siren3 = {
type = 'siren',
mdl = 'models/jaanus/wiretool/wiretool_siren.mdl',
name = 'Проблесковый маячок', mass = 5, volume = 12,
desc = 'Используется',
col = Color(0,0,127),
noPaint = true,
},
spoiler1 = {
type = 'spoiler',
name = L.spoiler1, mass = 5, volume = 12,
desc = L.desc_spoiler1,
mdl = 'models/octocar/attachable/spoiler1.mdl',
},
spoiler2 = {
type = 'spoiler',
mdl = 'models/octocar/attachable/spoiler2.mdl',
name = L.spoiler2, mass = 5, volume = 12,
desc = L.desc_spoiler2,
},
spoiler3 = {
type = 'spoiler',
mdl = 'models/octocar/attachable/spoiler3.mdl',
name = L.spoiler3, mass = 5, volume = 12,
desc = L.desc_spoiler3,
},
spoiler4 = {
type = 'spoiler',
mdl = 'models/octocar/attachable/spoiler4.mdl',
name = L.spoiler4, mass = 5, volume = 12,
desc = L.desc_spoiler4,
},
spoiler5 = {
type = 'spoiler',
mdl = 'models/octocar/attachable/spoiler5.mdl',
name = L.spoiler5, mass = 5, volume = 12,
desc = L.desc_spoiler5,
},
ladder = {
type = 'ladder',
noPaint = true,
mdl = 'models/octocar/attachable/ladder.mdl',
name = L.ladder, mass = 3, volume = 8,
desc = L.desc_ladder,
},
supercharger = {
type = 'supercharger',
mdl = 'models/octocar/attachable/supercharger.mdl',
name = L.supercharger, mass = 10, volume = 10,
desc = L.desc_supercharger,
},
huladoll = {
type = 'dash',
noPaint = true,
mdl = 'models/props_lab/huladoll.mdl',
name = L.huladoll, mass = 0.5, volume = 1,
desc = L.desc_huladoll,
},
snowman = {
type = 'dash',
noPaint = true,
mdl = 'models/unconid/xmas/snowman_u.mdl',
name = 'Снеговичок на приборку', mass = 0.5, volume = 1,
desc = 'Принесет новогоднее настроение в твой автомобиль',
},
skull = {
type = 'other1',
noPaint = true,
mdl = 'models/gibs/hgibs.mdl',
name = L.statuette_ermak, mass = 1, volume = 2,
desc = L.desc_statuette_ermak,
},
pumpkin = {
type = 'other2',
noPaint = true,
mdl = 'models/halloween2015/pumbkin_n_f01.mdl',
skin = 1,
scale = 0.2,
name = L.lamp_pumpkin, mass = 1, volume = 3,
desc = L.desc_lamp_pumpkin,
},
metalhook = {
type = 'other3',
noPaint = true,
mdl = 'models/props_junk/meathook001a.mdl',
name = L.car_hook, mass = 1, volume = 3,
desc = L.desc_car_hook,
},
doll = {
type = 'other4',
noPaint = true,
mdl = 'models/props_c17/doll01.mdl',
name = L.scary_doll, mass = 1, volume = 3,
desc = L.desc_scary_doll,
},
jar = {
type = 'other5',
noPaint = true,
mdl = 'models/props/spookington/eyejar.mdl',
name = 'Банка с глазами', mass = 3, volume = 1,
desc = 'Масса взрослого человеческого глаза равна 7-8г',
},
spider = {
type = 'other6',
noPaint = true,
mdl = 'models/props/spookington/spider_toy.mdl',
name = 'Паучок', mass = 0.7, volume = 1,
desc = 'Внутри забит поролоном, хотя... кто знает...',
},
}
local attsByMdl = {}
for _, att in pairs(simfphys.attachments) do
attsByMdl[att.mdl] = att
end
function simfphys.getAttByModel(mdl)
return attsByMdl[mdl]
end
simfphys.rims = {
['models/diggercars/250gto/250gto_wheel.mdl'] = {
price = 150000,
name = L.discs_hint .. 'Ferrari 250 GTO',
ang = Angle(0, -90, 0),
},
['models/diggercars/356/porsche_550356_wheel.mdl'] = {
price = 155000,
name = L.discs_hint .. 'Porsche 356',
ang = Angle(0, -90, 0),
},
['models/diggercars/914_6/porsche_914_wheel.mdl'] = {
price = 80000,
name = L.discs_hint .. 'Porsche 914',
ang = Angle(0, -90, 0),
},
['models/diggercars/a_nsx97/wheel.mdl'] = {
price = 95000,
name = L.discs_hint .. 'Acura NSX 1997',
ang = Angle(0, 90, 0),
},
['models/diggercars/alfa_romeo_montreal/wheel.mdl'] = {
price = 168000,
name = L.discs_hint .. 'Alfa Romeo Montreal',
ang = Angle(0, -90, 0),
},
['models/diggercars/bmw_m5e28/wheel.mdl'] = {
price = 150000,
name = L.discs_hint .. 'BMW M5 E28',
ang = Angle(0, 90, 0),
},
['models/diggercars/bmw_m5e39/wheel.mdl'] = {
price = 135000,
name = L.discs_hint .. 'BMW M5 E39',
ang = Angle(0, 90, 0),
},
['models/diggercars/bmw_x5m/wheel.mdl'] = {
price = 120000,
name = L.discs_hint .. 'BMW X5 M',
ang = Angle(0, 90, 0),
},
['models/diggercars/bmwm1/bmwm1_wheel.mdl'] = {
price = 160000,
name = L.discs_hint .. 'BMW M1',
ang = Angle(0, -90, 0),
},
['models/diggercars/boxster03/wheel.mdl'] = {
price = 100000,
name = L.discs_hint .. 'Porsche Boxster 2003',
ang = Angle(0, -90, 0),
},
['models/diggercars/civic94/wheel.mdl'] = {
price = 95000,
name = L.discs_hint .. 'Honda Civic 1994',
ang = Angle(0, 90, 0),
},
['models/diggercars/fulvia/wheel.mdl'] = {
price = 145000,
name = L.discs_hint .. 'Lancia Fulvia',
ang = Angle(0, -90, 0),
},
['models/diggercars/gt3 2004/wheel.mdl'] = {
price = 110000,
name = L.discs_hint .. 'Porsche GT3',
ang = Angle(0, -90, 0),
},
['models/diggercars/h_nsxrgt/wheel.mdl'] = {
price = 98000,
name = L.discs_hint .. 'Honda NSX-R GT',
ang = Angle(0, 90, 0),
},
['models/diggercars/legacy/wheel.mdl'] = {
price = 85000,
name = L.discs_hint .. 'Legacy',
ang = Angle(0, 90, 0),
},
['models/diggercars/packcard/wheel.mdl'] = {
price = 190000,
name = L.discs_hint .. 'Packard',
ang = Angle(0, -90, 0),
},
['models/diggercars/porsche_930/wheel.mdl'] = {
price = 175000,
name = L.discs_hint .. 'Porsche 930',
ang = Angle(0, 90, 0),
},
['models/diggercars/porsche_930/wheelr.mdl'] = {
price = 170000,
name = L.discs_hint .. 'Porsche 930-2',
ang = Angle(0, 90, 0),
},
['models/diggercars/991_carrera_s/wheel2.mdl'] = {
price = 125000,
name = L.discs_hint .. 'Porsche 991 Carrera S',
ang = Angle(0, -90, 0),
},
['models/diggercars/porsche_930targa/wheel.mdl'] = {
price = 140000,
name = L.discs_hint .. 'Porsche 930 Targa',
ang = Angle(0, -90, 0),
},
['models/diggercars/porsche_944/wheel.mdl'] = {
price = 110000,
name = L.discs_hint .. 'Porsche 944',
ang = Angle(0, 90, 0),
},
['models/diggercars/shelbydaytonacoupe/wheel.mdl'] = {
price = 165000,
name = L.discs_hint .. 'Shelby Daytona',
ang = Angle(0, 90, 0),
},
['models/diggercars/sportquattro/wheel.mdl'] = {
price = 115000,
name = L.discs_hint .. 'Audi Sport Quattro',
ang = Angle(0, 90, 0),
},
['models/diggercars/stratos/wheel.mdl'] = {
price = 165000,
name = L.discs_hint .. 'Lancia Stratos',
ang = Angle(0, 90, 0),
},
['models/diggercars/transam3/wheel.mdl'] = {
price = 195000,
name = L.discs_hint .. 'Firebird Transam3',
ang = Angle(0, -90, 0),
},
['models/diggercars/a_nsx97/wheel2.mdl'] = {
price = 148000,
name = L.discs_hint .. 'Acura NSX 1997-2',
ang = Angle(0, 90, 0),
},
['models/diggercars/a_nsx05/wheel.mdl'] = {
price = 125000,
name = L.discs_hint .. 'Acura NSX 2005',
ang = Angle(0, 90, 0),
},
['models/diggercars/acura_rsxs/wheel.mdl'] = {
price = 135000,
name = L.discs_hint .. 'Acura RSXS',
ang = Angle(0, -90, 0),
},
['models/diggercars/alfa/wheel.mdl'] = {
price = 110000,
name = L.discs_hint .. 'Alfa Romeo',
ang = Angle(0, -90, 0),
},
['models/diggercars/ariel_atom/wheel.mdl'] = {
price = 190000,
name = L.discs_hint .. 'Ariel Atom',
ang = Angle(0, 90, 0),
},
['models/diggercars/bmw_m5e34/wheel.mdl'] = {
price = 120000,
name = L.discs_hint .. 'BMW M5 E34',
ang = Angle(0, 90, 0),
},
['models/diggercars/bmw_m5e60/wheel.mdl'] = {
price = 110000,
name = L.discs_hint .. 'BMW M5 E60',
ang = Angle(0, 90, 0),
},
['models/diggercars/bmw_x5_09/wheel.mdl'] = {
price = 140000,
name = L.discs_hint .. 'BMW X5 2009',
ang = Angle(0, 90, 0),
},
['models/diggercars/bmw_x5_09/wheel2.mdl'] = {
ang = Angle(0, 90, 0),
},
['models/diggercars/bmw_x6m/wheel.mdl'] = {
price = 140000,
name = L.discs_hint .. 'BMW X6 M',
ang = Angle(0, 90, 0),
},
['models/diggercars/fiat500/wheel.mdl'] = {
price = 90000,
name = L.discs_hint .. 'Fiat 500',
ang = Angle(0, 90, 0),
},
['models/diggercars/cortina/wheel.mdl'] = {
price = 85000,
name = L.discs_hint .. 'Ford Cortina',
ang = Angle(0, -90, 0),
},
['models/diggercars/civic91/wheel.mdl'] = {
price = 95000,
name = L.discs_hint .. 'Honda Civic 1991',
ang = Angle(0, -90, 0),
},
['models/diggercars/civic99/wheel.mdl'] = {
price = 135000,
name = L.discs_hint .. 'Honda Civic 1999',
ang = Angle(0, 90, 0),
},
['models/diggercars/h_integra2000/wheel.mdl'] = {
price = 115000,
name = L.discs_hint .. 'Honda Integra 2000',
ang = Angle(0, -90, 0),
},
['models/diggercars/h_integra/wheel.mdl'] = {
price = 125000,
name = L.discs_hint .. 'Honda Integra',
ang = Angle(0, 90, 0),
},
['models/diggercars/h_nsxr/wheel.mdl'] = {
price = 160000,
name = L.discs_hint .. 'Honda NSX-R',
ang = Angle(0, 90, 0),
},
['models/diggercars/aventador/wheel.mdl'] = {
price = 190000,
name = L.discs_hint .. 'Lamborghini Aventador',
ang = Angle(0, 90, 0),
},
['models/diggercars/jalpa/wh1.mdl'] = {
price = 175000,
name = L.discs_hint .. 'Lamborghini Jalpa',
ang = Angle(0, -90, 0),
},
['models/diggercars/300sl/wheel.mdl'] = {
price = 185000,
name = L.discs_hint .. 'Mercedes-Benz 300 SL',
ang = Angle(0, -90, 0),
},
['models/diggercars/clkgtr/wheel.mdl'] = {
price = 160000,
name = L.discs_hint .. 'Mercedes-Benz CLK GTR',
ang = Angle(0, 90, 0),
},
['models/diggercars/w123/mb_w123_wheel.mdl'] = {
price = 165000,
name = L.discs_hint .. 'Mercedes-Benz W123',
ang = Angle(0, -90, 0),
},
['models/diggercars/opelspeedster/wheel.mdl'] = {
price = 175000,
name = L.discs_hint .. 'Opel Speedster',
ang = Angle(0, 90, 0),
},
['models/diggercars/porsche_914/wheel.mdl'] = {
price = 150000,
name = L.discs_hint .. 'Porsche 914-2',
ang = Angle(0, 90, 0),
},
['models/diggercars/959/porsche_959_wheel.mdl'] = {
price = 165000,
name = L.discs_hint .. 'Porsche 959',
ang = Angle(0, -90, 0),
},
['models/diggercars/964speedster/porsche_964_wheel.mdl'] = {
price = 175000,
name = L.discs_hint .. 'Porsche 964',
ang = Angle(0, -90, 0),
},
['models/diggercars/997 turbo/wheel.mdl'] = {
price = 170000,
name = L.discs_hint .. 'Porsche 997',
ang = Angle(0, 90, 0),
},
['models/diggercars/carrera gt/wheel.mdl'] = {
price = 188000,
name = L.discs_hint .. 'Porsche Carrera GT',
ang = Angle(0, 90, 0),
},
['models/diggercars/gt1sv/porsche_gt1_wheel.mdl'] = {
price = 165000,
name = L.discs_hint .. 'Porsche GT1',
ang = Angle(0, -90, 0),
},
['models/diggercars/saab99turbo/wheel.mdl'] = {
price = 175000,
name = L.discs_hint .. 'Saab 99',
ang = Angle(0, 90, 0),
},
['models/diggercars/toyotagtone/wheel.mdl'] = {
price = 155000,
name = L.discs_hint .. 'Toyota GT-One',
ang = Angle(0, 90, 0),
},
['models/diggercars/vaz1111/oka_wheel.mdl'] = {
price = 50000,
name = L.discs_hint .. L.item_disc,
ang = Angle(0, -90, 0),
},
['models/hl2prewar/hatch/hatch_v2_wheel.mdl'] = {
price = 110000,
name = L.discs_hint .. L.item_disc2,
},
['models/hl2prewar/van/van_wheel.mdl'] = {
price = 22000,
name = L.discs_hint .. L.item_disc3,
},
['models/salza/trabant/trabant_wheel.mdl'] = {
price = 20000,
name = L.discs_hint .. L.item_disc4,
},
['models/salza/volga/volga_wheel.mdl'] = {
price = 15500,
name = L.discs_hint .. L.item_disc5,
},
['models/salza/zaz/zaz_wheel.mdl'] = {
price = 15000,
name = L.discs_hint .. L.item_disc6,
},
['models/salza/hatchback/hatchback_wheel.mdl'] = {
price = 12000,
name = L.discs_hint .. L.item_disc7,
ang = Angle(0, -90, 0),
},
['models/salza/avia/avia_wheel.mdl'] = {
price = 10000,
name = L.discs_hint .. L.item_disc8,
ang = Angle(0, 180, 0),
},
['models/salza/skoda_liaz/skoda_liaz_fwheel.mdl'] = {
price = 13500,
name = L.discs_hint .. L.item_disc9,
ang = Angle(0, 180, 0),
},
['models/props_phx/wheels/trucktire.mdl'] = {
price = 80000,
name = L.discs_hint .. L.item_disc10,
ang = Angle(90, 0, 0),
},
['models/props_phx/wheels/trucktire2.mdl'] = {
price = 175000,
name = L.discs_hint .. L.item_disc11,
ang = Angle(90, 0, 0),
},
['models/hl2prewar/car002/car_002_wheel.mdl'] = {
ang = Angle(0, 0, 0),
},
['models/hl2prewar/car005/car_005_wheel.mdl'] = {
ang = Angle(0, -90, 0),
},
['models/hl2prewar/hatch/hatch_v2_wheel.mdl'] = {
ang = Angle(0, 180, 0),
},
['models/hl2prewar/van/van_wheel.mdl'] = {
ang = Angle(0, 0, 0),
},
['models/salza/trabant/trabant_wheel.mdl'] = {
ang = Angle(0, 0, 0),
},
['models/salza/volga/volga_wheel.mdl'] = {
ang = Angle(0, -90, 0),
},
['models/salza/zaz/zaz_wheel.mdl'] = {
ang = Angle(0, -90, 0),
},
['models/props_vehicles/carparts_wheel01a.mdl'] = {
ang = Angle(0, -90, 0),
},
['models/salza/moskvich/moskvich_wheel.mdl'] = {
ang = Angle(0, 0, 0),
},
}
function simfphys.GetWheelAngle(model)
if not model then return end
model = string.lower(model)
local rim = simfphys.rims[model]
if rim then return rim.ang end
local v_list = list.Get("simfphys_vehicles")
for listname, _ in pairs(v_list) do
if v_list[listname].Members.CustomWheels then
local FrontWheel = v_list[listname].Members.CustomWheelModel
local RearWheel = v_list[listname].Members.CustomWheelModel_R
if FrontWheel then
FrontWheel = string.lower(FrontWheel)
end
if RearWheel then
RearWheel = string.lower(RearWheel)
end
if model == FrontWheel or model == RearWheel then
local Angleoffset = v_list[listname].Members.CustomWheelAngleOffset
if Angleoffset then
return Angleoffset
end
end
end
end
local list = list.Get("simfphys_Wheels")[model]
local output = list and list.Angle
return output or Angle()
end