mirror of
https://github.com/qbcore-fivem/qb-core.git
synced 2026-08-29 01:08:57 +00:00
feat (vehicles): Updated Missing Vehicle Properties
[Update] Missing Vehicle Properties
This commit is contained in:
@@ -61,7 +61,9 @@ RegisterNetEvent('QBCore:Command:SpawnVehicle', function(vehName)
|
||||
end
|
||||
local vehicle = CreateVehicle(hash, GetEntityCoords(ped), GetEntityHeading(ped), true, false)
|
||||
TaskWarpPedIntoVehicle(ped, vehicle, -1)
|
||||
SetVehicleFuelLevel(vehicle, 100.0)
|
||||
SetModelAsNoLongerNeeded(vehicle)
|
||||
|
||||
TriggerEvent("vehiclekeys:client:SetOwner", QBCore.Functions.GetPlate(vehicle))
|
||||
end)
|
||||
|
||||
|
||||
+133
-25
@@ -366,7 +366,7 @@ end
|
||||
|
||||
-- Vehicle
|
||||
|
||||
function QBCore.Functions.SpawnVehicle(model, cb, coords, isnetworked)
|
||||
function QBCore.Functions.SpawnVehicle(model, cb, coords, isnetworked, teleportInto)
|
||||
local model = GetHashKey(model)
|
||||
local ped = PlayerPedId()
|
||||
if coords then
|
||||
@@ -388,7 +388,10 @@ function QBCore.Functions.SpawnVehicle(model, cb, coords, isnetworked)
|
||||
SetNetworkIdCanMigrate(netid, true)
|
||||
SetVehicleNeedsToBeHotwired(veh, false)
|
||||
SetVehRadioStation(veh, 'OFF')
|
||||
SetVehicleFuelLevel(veh, 100.0)
|
||||
SetModelAsNoLongerNeeded(model)
|
||||
|
||||
if teleportInto then TaskWarpPedIntoVehicle(PlayerPedId(), veh, -1) end
|
||||
if cb then
|
||||
cb(veh)
|
||||
end
|
||||
@@ -425,10 +428,9 @@ end
|
||||
|
||||
function QBCore.Functions.GetVehicleProperties(vehicle)
|
||||
if DoesEntityExist(vehicle) then
|
||||
local colorPrimary, colorSecondary = GetVehicleColours(vehicle)
|
||||
local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle)
|
||||
local extras = {}
|
||||
|
||||
local colorPrimary, colorSecondary = GetVehicleColours(vehicle)
|
||||
if GetIsVehiclePrimaryColourCustom(vehicle) then
|
||||
r, g, b = GetVehicleCustomPrimaryColour(vehicle)
|
||||
colorPrimary = { r, g, b }
|
||||
@@ -439,6 +441,7 @@ function QBCore.Functions.GetVehicleProperties(vehicle)
|
||||
colorSecondary = { r, g, b }
|
||||
end
|
||||
|
||||
local extras = {}
|
||||
for extraId = 0, 12 do
|
||||
if DoesExtraExist(vehicle, extraId) then
|
||||
local state = IsVehicleExtraTurnedOn(vehicle, extraId) == 1
|
||||
@@ -446,10 +449,39 @@ function QBCore.Functions.GetVehicleProperties(vehicle)
|
||||
end
|
||||
end
|
||||
|
||||
local modLivery = GetVehicleMod(vehicle, 48)
|
||||
if GetVehicleMod(vehicle, 48) == -1 and GetVehicleLivery(vehicle) ~= -1 then
|
||||
modLivery = GetVehicleLivery(vehicle)
|
||||
else
|
||||
modLivery = GetVehicleMod(vehicle, 48)
|
||||
end
|
||||
|
||||
local neons = {}
|
||||
for i = 0,3 do
|
||||
neons[i] = IsVehicleNeonLightEnabled(vehicle, i)
|
||||
end
|
||||
|
||||
local tireHealth = {}
|
||||
for i = 0,3 do
|
||||
tireHealth[i] = GetVehicleWheelHealth(vehicle, i)
|
||||
end
|
||||
|
||||
local tireBurstState = {}
|
||||
for i = 0,5 do
|
||||
tireBurstState[i] = IsVehicleTyreBurst(vehicle, i, false)
|
||||
end
|
||||
|
||||
local tireBurstCompletely = {}
|
||||
for i = 0,5 do
|
||||
tireBurstCompletely[i] = IsVehicleTyreBurst(vehicle, i, true)
|
||||
end
|
||||
|
||||
local _windowStatus = {}
|
||||
for i=0, 7 do
|
||||
_windowStatus[i] = IsVehicleWindowIntact(vehicle, i) == 1
|
||||
end
|
||||
|
||||
local _doorStatus = {}
|
||||
for i=0, 5 do
|
||||
_doorStatus[i] = IsVehicleDoorDamaged(vehicle, i) == 1
|
||||
end
|
||||
|
||||
return {
|
||||
@@ -461,6 +493,7 @@ function QBCore.Functions.GetVehicleProperties(vehicle)
|
||||
tankHealth = QBCore.Shared.Round(GetVehiclePetrolTankHealth(vehicle), 0.1),
|
||||
fuelLevel = QBCore.Shared.Round(GetVehicleFuelLevel(vehicle), 0.1),
|
||||
dirtLevel = QBCore.Shared.Round(GetVehicleDirtLevel(vehicle), 0.1),
|
||||
oilLevel = QBCore.Shared.Round(GetVehicleOilLevel(vehicle), 0.1),
|
||||
color1 = colorPrimary,
|
||||
color2 = colorSecondary,
|
||||
pearlescentColor = pearlescentColor,
|
||||
@@ -468,15 +501,19 @@ function QBCore.Functions.GetVehicleProperties(vehicle)
|
||||
dashboardColor = GetVehicleDashboardColour(vehicle),
|
||||
wheelColor = wheelColor,
|
||||
wheels = GetVehicleWheelType(vehicle),
|
||||
wheelSize = GetVehicleWheelSize(vehicle),
|
||||
wheelWidth = GetVehicleWheelWidth(vehicle),
|
||||
tireHealth = tireHealth,
|
||||
tireBurstState = tireBurstState,
|
||||
tireBurstCompletely = tireBurstCompletely,
|
||||
windowTint = GetVehicleWindowTint(vehicle),
|
||||
windowStatus = _windowStatus,
|
||||
doorStatus = _doorStatus,
|
||||
xenonColor = GetVehicleXenonLightsColour(vehicle),
|
||||
neonEnabled = {
|
||||
IsVehicleNeonLightEnabled(vehicle, 0),
|
||||
IsVehicleNeonLightEnabled(vehicle, 1),
|
||||
IsVehicleNeonLightEnabled(vehicle, 2),
|
||||
IsVehicleNeonLightEnabled(vehicle, 3)
|
||||
},
|
||||
neonEnabled = neons,
|
||||
neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)),
|
||||
headlightColor = GetVehicleHeadlightsColour(vehicle),
|
||||
interiorColor = GetVehicleInteriorColour(vehicle),
|
||||
extras = extras,
|
||||
tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)),
|
||||
modSpoilers = GetVehicleMod(vehicle, 0),
|
||||
@@ -496,8 +533,11 @@ function QBCore.Functions.GetVehicleProperties(vehicle)
|
||||
modHorns = GetVehicleMod(vehicle, 14),
|
||||
modSuspension = GetVehicleMod(vehicle, 15),
|
||||
modArmor = GetVehicleMod(vehicle, 16),
|
||||
modKit17 = GetVehicleMod(vehicle, 17),
|
||||
modTurbo = IsToggleModOn(vehicle, 18),
|
||||
modKit19 = GetVehicleMod(vehicle, 19),
|
||||
modSmokeEnabled = IsToggleModOn(vehicle, 20),
|
||||
modKit21 = GetVehicleMod(vehicle, 21),
|
||||
modXenon = IsToggleModOn(vehicle, 22),
|
||||
modFrontWheels = GetVehicleMod(vehicle, 23),
|
||||
modBackWheels = GetVehicleMod(vehicle, 24),
|
||||
@@ -525,7 +565,10 @@ function QBCore.Functions.GetVehicleProperties(vehicle)
|
||||
modTrimB = GetVehicleMod(vehicle, 44),
|
||||
modTank = GetVehicleMod(vehicle, 45),
|
||||
modWindows = GetVehicleMod(vehicle, 46),
|
||||
modKit47 = GetVehicleMod(vehicle, 47),
|
||||
modLivery = modLivery,
|
||||
modKit49 = GetVehicleMod(vehicle, 49),
|
||||
liveryRoof = GetVehicleRoofLivery(vehicle),
|
||||
}
|
||||
else
|
||||
return
|
||||
@@ -534,6 +577,16 @@ end
|
||||
|
||||
function QBCore.Functions.SetVehicleProperties(vehicle, props)
|
||||
if DoesEntityExist(vehicle) then
|
||||
if props.extras then
|
||||
for id, enabled in pairs(props.extras) do
|
||||
if enabled then
|
||||
SetVehicleExtra(vehicle, tonumber(id), 0)
|
||||
else
|
||||
SetVehicleExtra(vehicle, tonumber(id), 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local colorPrimary, colorSecondary = GetVehicleColours(vehicle)
|
||||
local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle)
|
||||
SetVehicleModKit(vehicle, 0)
|
||||
@@ -549,12 +602,37 @@ function QBCore.Functions.SetVehicleProperties(vehicle, props)
|
||||
if props.engineHealth then
|
||||
SetVehicleEngineHealth(vehicle, props.engineHealth + 0.0)
|
||||
end
|
||||
if props.tankHealth then
|
||||
SetVehiclePetrolTankHealth(vehicle, props.tankHealth)
|
||||
end
|
||||
if props.fuelLevel then
|
||||
SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0)
|
||||
end
|
||||
if props.oilLevel then
|
||||
SetVehicleOilLevel(vehicle, props.oilLevel)
|
||||
end
|
||||
if props.dirtLevel then
|
||||
SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0)
|
||||
end
|
||||
if props.tireHealth then
|
||||
for wheelIndex, health in pairs(props.tireHealth) do
|
||||
SetVehicleWheelHealth(vehicle, wheelIndex, health)
|
||||
end
|
||||
end
|
||||
if props.tireBurstState then
|
||||
for wheelIndex, burstState in pairs(props.tireBurstState) do
|
||||
if burstState then
|
||||
SetVehicleTyreBurst(vehicle, tonumber(wheelIndex), false, 1000.0)
|
||||
end
|
||||
end
|
||||
end
|
||||
if props.tireBurstCompletely then
|
||||
for wheelIndex, burstState in pairs(props.tireBurstCompletely) do
|
||||
if burstState then
|
||||
SetVehicleTyreBurst(vehicle, tonumber(wheelIndex), true, 1000.0)
|
||||
end
|
||||
end
|
||||
end
|
||||
if props.color1 then
|
||||
if type(props.color1) == "number" then
|
||||
SetVehicleColours(vehicle, props.color1, colorSecondary)
|
||||
@@ -587,26 +665,35 @@ function QBCore.Functions.SetVehicleProperties(vehicle, props)
|
||||
if props.windowTint then
|
||||
SetVehicleWindowTint(vehicle, props.windowTint)
|
||||
end
|
||||
if props.neonEnabled then
|
||||
SetVehicleNeonLightEnabled(vehicle, 0, props.neonEnabled[1])
|
||||
SetVehicleNeonLightEnabled(vehicle, 1, props.neonEnabled[2])
|
||||
SetVehicleNeonLightEnabled(vehicle, 2, props.neonEnabled[3])
|
||||
SetVehicleNeonLightEnabled(vehicle, 3, props.neonEnabled[4])
|
||||
if props.windowStatus then
|
||||
for windowIndex, smashWindow in pairs(props.windowStatus) do
|
||||
if not smashWindow then SmashVehicleWindow(vehicle, windowIndex) end
|
||||
end
|
||||
end
|
||||
if props.extras then
|
||||
for id, enabled in pairs(props.extras) do
|
||||
if enabled then
|
||||
SetVehicleExtra(vehicle, tonumber(id), 0)
|
||||
else
|
||||
SetVehicleExtra(vehicle, tonumber(id), 1)
|
||||
end
|
||||
if props.doorStatus then
|
||||
for doorIndex, breakDoor in pairs(props.doorStatus) do
|
||||
if breakDoor then SetVehicleDoorBroken(vehicle, doorIndex, true) end
|
||||
end
|
||||
end
|
||||
if props.neonEnabled then
|
||||
for neonIndex, enableNeons in pairs(props.neonEnabled) do
|
||||
SetVehicleNeonLightEnabled(vehicle, i, enableNeons)
|
||||
end
|
||||
end
|
||||
if props.neonColor then
|
||||
SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3])
|
||||
end
|
||||
if props.modSmokeEnabled then
|
||||
ToggleVehicleMod(vehicle, 20, true)
|
||||
if props.headlightColor then
|
||||
SetVehicleHeadlightsColour(vehicle, props.headlightColor)
|
||||
end
|
||||
if props.interiorColor then
|
||||
SetVehicleInteriorColour(vehicle, props.interiorColor)
|
||||
end
|
||||
if props.wheelSize then
|
||||
SetVehicleWheelSize(vehicle, props.wheelSize)
|
||||
end
|
||||
if props.wheelWidth then
|
||||
SetVehicleWheelWidth(vehicle, props.wheelWidth)
|
||||
end
|
||||
if props.tyreSmokeColor then
|
||||
SetVehicleTyreSmokeColor(vehicle, props.tyreSmokeColor[1], props.tyreSmokeColor[2], props.tyreSmokeColor[3])
|
||||
@@ -662,9 +749,21 @@ function QBCore.Functions.SetVehicleProperties(vehicle, props)
|
||||
if props.modArmor then
|
||||
SetVehicleMod(vehicle, 16, props.modArmor, false)
|
||||
end
|
||||
if props.modKit17 then
|
||||
SetVehicleMod(vehicle, 17, props.modKit17, false)
|
||||
end
|
||||
if props.modTurbo then
|
||||
ToggleVehicleMod(vehicle, 18, props.modTurbo)
|
||||
end
|
||||
if props.modKit19 then
|
||||
SetVehicleMod(vehicle, 19, props.modKit19, false)
|
||||
end
|
||||
if props.modSmokeEnabled then
|
||||
ToggleVehicleMod(vehicle, 20, props.modSmokeEnabled)
|
||||
end
|
||||
if props.modKit21 then
|
||||
SetVehicleMod(vehicle, 21, props.modKit21, false)
|
||||
end
|
||||
if props.modXenon then
|
||||
ToggleVehicleMod(vehicle, 22, props.modXenon)
|
||||
end
|
||||
@@ -749,10 +848,19 @@ function QBCore.Functions.SetVehicleProperties(vehicle, props)
|
||||
if props.modWindows then
|
||||
SetVehicleMod(vehicle, 46, props.modWindows, false)
|
||||
end
|
||||
if props.modKit47 then
|
||||
SetVehicleMod(vehicle, 47, props.modKit47, false)
|
||||
end
|
||||
if props.modLivery then
|
||||
SetVehicleMod(vehicle, 48, props.modLivery, false)
|
||||
SetVehicleLivery(vehicle, props.modLivery)
|
||||
end
|
||||
if props.modKit49 then
|
||||
SetVehicleMod(vehicle, 49, props.modKit49, false)
|
||||
end
|
||||
if props.liveryRoof then
|
||||
SetVehicleRoofLivery(vehicle, props.liveryRoof)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user