169 lines
		
	
	
	
		
			7.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			169 lines
		
	
	
	
		
			7.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| if config.framework == "esx" then
 | |
|     tgiCore.GetVehicleProperties = myFramework.Game.GetVehicleProperties
 | |
| elseif config.framework == "qb" then
 | |
|     tgiCore.GetVehicleProperties = myFramework.Functions.GetVehicleProperties
 | |
| else
 | |
|     local gameBuild = GetGameBuildNumber()
 | |
|     function tgiCore.GetVehicleProperties(vehicle)
 | |
|         if DoesEntityExist(vehicle) then
 | |
|             ---@type number | number[], number | number[]
 | |
|             local colorPrimary, colorSecondary = GetVehicleColours(vehicle)
 | |
|             local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle)
 | |
|             local paintType1 = GetVehicleModColor_1(vehicle)
 | |
|             local paintType2 = GetVehicleModColor_2(vehicle)
 | |
| 
 | |
|             if GetIsVehiclePrimaryColourCustom(vehicle) then
 | |
|                 colorPrimary = { GetVehicleCustomPrimaryColour(vehicle) }
 | |
|             end
 | |
| 
 | |
|             if GetIsVehicleSecondaryColourCustom(vehicle) then
 | |
|                 colorSecondary = { GetVehicleCustomSecondaryColour(vehicle) }
 | |
|             end
 | |
| 
 | |
|             local extras = {}
 | |
| 
 | |
|             for i = 1, 15 do
 | |
|                 if DoesExtraExist(vehicle, i) then
 | |
|                     extras[i] = IsVehicleExtraTurnedOn(vehicle, i) and 0 or 1
 | |
|                 end
 | |
|             end
 | |
| 
 | |
|             local modLiveryCount = GetVehicleLiveryCount(vehicle)
 | |
|             local modLivery = GetVehicleLivery(vehicle)
 | |
| 
 | |
|             if modLiveryCount == -1 or modLivery == -1 then
 | |
|                 modLivery = GetVehicleMod(vehicle, 48)
 | |
|             end
 | |
| 
 | |
|             local damage = {
 | |
|                 windows = {},
 | |
|                 doors = {},
 | |
|                 tyres = {},
 | |
|             }
 | |
| 
 | |
|             local windows = 0
 | |
| 
 | |
|             for i = 0, 7 do
 | |
|                 RollUpWindow(vehicle, i)
 | |
| 
 | |
|                 if not IsVehicleWindowIntact(vehicle, i) then
 | |
|                     windows += 1
 | |
|                     damage.windows[windows] = i
 | |
|                 end
 | |
|             end
 | |
| 
 | |
|             local doors = 0
 | |
| 
 | |
|             for i = 0, 5 do
 | |
|                 if IsVehicleDoorDamaged(vehicle, i) then
 | |
|                     doors += 1
 | |
|                     damage.doors[doors] = i
 | |
|                 end
 | |
|             end
 | |
| 
 | |
|             for i = 0, 7 do
 | |
|                 if IsVehicleTyreBurst(vehicle, i, false) then
 | |
|                     damage.tyres[i] = IsVehicleTyreBurst(vehicle, i, true) and 2 or 1
 | |
|                 end
 | |
|             end
 | |
| 
 | |
|             local neons = {}
 | |
| 
 | |
|             for i = 0, 3 do
 | |
|                 neons[i + 1] = IsVehicleNeonLightEnabled(vehicle, i)
 | |
|             end
 | |
| 
 | |
|             return {
 | |
|                 model = GetEntityModel(vehicle),
 | |
|                 plate = GetVehicleNumberPlateText(vehicle),
 | |
|                 plateIndex = GetVehicleNumberPlateTextIndex(vehicle),
 | |
|                 bodyHealth = math.floor(GetVehicleBodyHealth(vehicle) + 0.5),
 | |
|                 engineHealth = math.floor(GetVehicleEngineHealth(vehicle) + 0.5),
 | |
|                 tankHealth = math.floor(GetVehiclePetrolTankHealth(vehicle) + 0.5),
 | |
|                 fuelLevel = math.floor(GetVehicleFuelLevel(vehicle) + 0.5),
 | |
|                 oilLevel = math.floor(GetVehicleOilLevel(vehicle) + 0.5),
 | |
|                 dirtLevel = math.floor(GetVehicleDirtLevel(vehicle) + 0.5),
 | |
|                 paintType1 = paintType1,
 | |
|                 paintType2 = paintType2,
 | |
|                 color1 = colorPrimary,
 | |
|                 color2 = colorSecondary,
 | |
|                 pearlescentColor = pearlescentColor,
 | |
|                 interiorColor = GetVehicleInteriorColor(vehicle),
 | |
|                 dashboardColor = GetVehicleDashboardColour(vehicle),
 | |
|                 wheelColor = wheelColor,
 | |
|                 wheelWidth = GetVehicleWheelWidth(vehicle),
 | |
|                 wheelSize = GetVehicleWheelSize(vehicle),
 | |
|                 wheels = GetVehicleWheelType(vehicle),
 | |
|                 windowTint = GetVehicleWindowTint(vehicle),
 | |
|                 xenonColor = GetVehicleXenonLightsColor(vehicle),
 | |
|                 neonEnabled = neons,
 | |
|                 neonColor = { GetVehicleNeonLightsColour(vehicle) },
 | |
|                 extras = extras,
 | |
|                 tyreSmokeColor = { GetVehicleTyreSmokeColor(vehicle) },
 | |
|                 modSpoilers = GetVehicleMod(vehicle, 0),
 | |
|                 modFrontBumper = GetVehicleMod(vehicle, 1),
 | |
|                 modRearBumper = GetVehicleMod(vehicle, 2),
 | |
|                 modSideSkirt = GetVehicleMod(vehicle, 3),
 | |
|                 modExhaust = GetVehicleMod(vehicle, 4),
 | |
|                 modFrame = GetVehicleMod(vehicle, 5),
 | |
|                 modGrille = GetVehicleMod(vehicle, 6),
 | |
|                 modHood = GetVehicleMod(vehicle, 7),
 | |
|                 modFender = GetVehicleMod(vehicle, 8),
 | |
|                 modRightFender = GetVehicleMod(vehicle, 9),
 | |
|                 modRoof = GetVehicleMod(vehicle, 10),
 | |
|                 modEngine = GetVehicleMod(vehicle, 11),
 | |
|                 modBrakes = GetVehicleMod(vehicle, 12),
 | |
|                 modTransmission = GetVehicleMod(vehicle, 13),
 | |
|                 modHorns = GetVehicleMod(vehicle, 14),
 | |
|                 modSuspension = GetVehicleMod(vehicle, 15),
 | |
|                 modArmor = GetVehicleMod(vehicle, 16),
 | |
|                 modNitrous = GetVehicleMod(vehicle, 17),
 | |
|                 modTurbo = IsToggleModOn(vehicle, 18),
 | |
|                 modSubwoofer = GetVehicleMod(vehicle, 19),
 | |
|                 modSmokeEnabled = IsToggleModOn(vehicle, 20),
 | |
|                 modHydraulics = IsToggleModOn(vehicle, 21),
 | |
|                 modXenon = IsToggleModOn(vehicle, 22),
 | |
|                 modFrontWheels = GetVehicleMod(vehicle, 23),
 | |
|                 modBackWheels = GetVehicleMod(vehicle, 24),
 | |
|                 modCustomTiresF = GetVehicleModVariation(vehicle, 23),
 | |
|                 modCustomTiresR = GetVehicleModVariation(vehicle, 24),
 | |
|                 modPlateHolder = GetVehicleMod(vehicle, 25),
 | |
|                 modVanityPlate = GetVehicleMod(vehicle, 26),
 | |
|                 modTrimA = GetVehicleMod(vehicle, 27),
 | |
|                 modOrnaments = GetVehicleMod(vehicle, 28),
 | |
|                 modDashboard = GetVehicleMod(vehicle, 29),
 | |
|                 modDial = GetVehicleMod(vehicle, 30),
 | |
|                 modDoorSpeaker = GetVehicleMod(vehicle, 31),
 | |
|                 modSeats = GetVehicleMod(vehicle, 32),
 | |
|                 modSteeringWheel = GetVehicleMod(vehicle, 33),
 | |
|                 modShifterLeavers = GetVehicleMod(vehicle, 34),
 | |
|                 modAPlate = GetVehicleMod(vehicle, 35),
 | |
|                 modSpeakers = GetVehicleMod(vehicle, 36),
 | |
|                 modTrunk = GetVehicleMod(vehicle, 37),
 | |
|                 modHydrolic = GetVehicleMod(vehicle, 38),
 | |
|                 modEngineBlock = GetVehicleMod(vehicle, 39),
 | |
|                 modAirFilter = GetVehicleMod(vehicle, 40),
 | |
|                 modStruts = GetVehicleMod(vehicle, 41),
 | |
|                 modArchCover = GetVehicleMod(vehicle, 42),
 | |
|                 modAerials = GetVehicleMod(vehicle, 43),
 | |
|                 modTrimB = GetVehicleMod(vehicle, 44),
 | |
|                 modTank = GetVehicleMod(vehicle, 45),
 | |
|                 modWindows = GetVehicleMod(vehicle, 46),
 | |
|                 modDoorR = GetVehicleMod(vehicle, 47),
 | |
|                 modLivery = modLivery,
 | |
|                 modRoofLivery = GetVehicleRoofLivery(vehicle),
 | |
|                 modLightbar = GetVehicleMod(vehicle, 49),
 | |
|                 windows = damage.windows,
 | |
|                 doors = damage.doors,
 | |
|                 tyres = damage.tyres,
 | |
|                 bulletProofTyres = GetVehicleTyresCanBurst(vehicle),
 | |
|                 driftTyres = gameBuild >= 2372 and GetDriftTyresEnabled(vehicle),
 | |
|                 -- no setters?
 | |
|                 -- leftHeadlight = GetIsLeftVehicleHeadlightDamaged(vehicle),
 | |
|                 -- rightHeadlight = GetIsRightVehicleHeadlightDamaged(vehicle),
 | |
|                 -- frontBumper = IsVehicleBumperBrokenOff(vehicle, true),
 | |
|                 -- rearBumper = IsVehicleBumperBrokenOff(vehicle, false),
 | |
|             }
 | |
|         end
 | |
|     end
 | |
| end
 | 
