mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-17 06:56:03 +01:00
fix(client/vehicleProperties): tonumber for extras and tyres
Sparse arrays sometimes json.decode with string keys, i.e.
`{[5] = 1, [10] = 1}` becomes `[null,null,null,null,1,null,null,null,null,1]`
`{[10] = 1, [11] = 1}` becomes `{"10":1,"11":1}`
This commit is contained in:
@@ -21,7 +21,7 @@ interface VehicleProperties {
|
|||||||
xenonColor: number;
|
xenonColor: number;
|
||||||
neonEnabled: boolean[];
|
neonEnabled: boolean[];
|
||||||
neonColor: [number, number, number];
|
neonColor: [number, number, number];
|
||||||
extras: boolean[];
|
extras: Record<number | string, 0 | 1>;
|
||||||
tyreSmokeColor: [number, number, number];
|
tyreSmokeColor: [number, number, number];
|
||||||
modKit: number;
|
modKit: number;
|
||||||
modSpoilers: number;
|
modSpoilers: number;
|
||||||
@@ -79,7 +79,7 @@ interface VehicleProperties {
|
|||||||
modLightbar: number;
|
modLightbar: number;
|
||||||
windows: number[];
|
windows: number[];
|
||||||
doors: number[];
|
doors: number[];
|
||||||
tyres: number[];
|
tyres: Record<number | string, 1 | 2>
|
||||||
leftHeadlight: boolean;
|
leftHeadlight: boolean;
|
||||||
rightHeadlight: boolean;
|
rightHeadlight: boolean;
|
||||||
frontBumper: boolean;
|
frontBumper: boolean;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ if cache.game == 'redm' then return end
|
|||||||
---@field xenonColor? number
|
---@field xenonColor? number
|
||||||
---@field neonEnabled? boolean[]
|
---@field neonEnabled? boolean[]
|
||||||
---@field neonColor? number | number[]
|
---@field neonColor? number | number[]
|
||||||
---@field extras? boolean[]
|
---@field extras? table<number | string, 0 | 1>
|
||||||
---@field tyreSmokeColor? number | number[]
|
---@field tyreSmokeColor? number | number[]
|
||||||
---@field modKit number
|
---@field modKit number
|
||||||
---@field modSpoilers? number
|
---@field modSpoilers? number
|
||||||
@@ -81,7 +81,7 @@ if cache.game == 'redm' then return end
|
|||||||
---@field modLightbar? number
|
---@field modLightbar? number
|
||||||
---@field windows? number[]
|
---@field windows? number[]
|
||||||
---@field doors? number[]
|
---@field doors? number[]
|
||||||
---@field tyres? number[]
|
---@field tyres? table<number | string, 1 | 2>
|
||||||
---@field bulletProofTyres? boolean
|
---@field bulletProofTyres? boolean
|
||||||
|
|
||||||
RegisterNetEvent('ox_lib:setVehicleProperties', function(netid, data)
|
RegisterNetEvent('ox_lib:setVehicleProperties', function(netid, data)
|
||||||
@@ -355,7 +355,7 @@ function lib.setVehicleProperties(vehicle, props)
|
|||||||
|
|
||||||
if props.extras then
|
if props.extras then
|
||||||
for id, disable in pairs(props.extras) do
|
for id, disable in pairs(props.extras) do
|
||||||
SetVehicleExtra(vehicle, id, disable == 1)
|
SetVehicleExtra(vehicle, tonumber(id) --[[@as number]], disable == 1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -373,7 +373,7 @@ function lib.setVehicleProperties(vehicle, props)
|
|||||||
|
|
||||||
if props.tyres then
|
if props.tyres then
|
||||||
for tyre, state in pairs(props.tyres) do
|
for tyre, state in pairs(props.tyres) do
|
||||||
SetVehicleTyreBurst(vehicle, tyre, state == 2, 1000.0)
|
SetVehicleTyreBurst(vehicle, tonumber(tyre) --[[@as number]], state == 2, 1000.0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user