mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-18 15:36:02 +01:00
feat(client/vehicleproperties): add fixVehicle parameter (#392)
This commit is contained in:
@@ -8,6 +8,8 @@ interface VehicleProperties {
|
|||||||
fuelLevel: number;
|
fuelLevel: number;
|
||||||
oilLevel: number;
|
oilLevel: number;
|
||||||
dirtLevel: number;
|
dirtLevel: number;
|
||||||
|
paintType1: number;
|
||||||
|
paintType2: number;
|
||||||
color1: number | [number, number, number];
|
color1: number | [number, number, number];
|
||||||
color2: number | [number, number, number];
|
color2: number | [number, number, number];
|
||||||
pearlescentColor: number;
|
pearlescentColor: number;
|
||||||
@@ -90,5 +92,5 @@ interface VehicleProperties {
|
|||||||
export const getVehicleProperties = (vehicle: number): VehicleProperties =>
|
export const getVehicleProperties = (vehicle: number): VehicleProperties =>
|
||||||
exports.ox_lib.getVehicleProperties(vehicle);
|
exports.ox_lib.getVehicleProperties(vehicle);
|
||||||
|
|
||||||
export const setVehicleProperties = (vehicle: number, props: Partial<VehicleProperties>): boolean =>
|
export const setVehicleProperties = (vehicle: number, props: Partial<VehicleProperties>, fixVehicle?: boolean): boolean =>
|
||||||
exports.ox_lib.setVehicleProperties(vehicle, props);
|
exports.ox_lib.setVehicleProperties(vehicle, props);
|
||||||
|
|||||||
@@ -281,13 +281,16 @@ end
|
|||||||
|
|
||||||
---@param vehicle number
|
---@param vehicle number
|
||||||
---@param props VehicleProperties
|
---@param props VehicleProperties
|
||||||
|
---@param fixVehicle? boolean Fix the vehicle after props have been set. Usually required when adding extras.
|
||||||
---@return boolean?
|
---@return boolean?
|
||||||
function lib.setVehicleProperties(vehicle, props)
|
function lib.setVehicleProperties(vehicle, props, fixVehicle)
|
||||||
if not DoesEntityExist(vehicle) then error(("Unable to set vehicle properties for '%s' (entity does not exist)"):
|
if not DoesEntityExist(vehicle) then
|
||||||
format(vehicle))
|
error(("Unable to set vehicle properties for '%s' (entity does not exist)"):
|
||||||
|
format(vehicle))
|
||||||
end
|
end
|
||||||
|
|
||||||
if NetworkGetEntityIsNetworked(vehicle) and NetworkGetEntityOwner(vehicle) ~= cache.playerId then error((
|
if NetworkGetEntityIsNetworked(vehicle) and NetworkGetEntityOwner(vehicle) ~= cache.playerId then
|
||||||
|
error((
|
||||||
"Unable to set vehicle properties for '%s' (client is not entity owner)"):format(vehicle))
|
"Unable to set vehicle properties for '%s' (client is not entity owner)"):format(vehicle))
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -297,6 +300,12 @@ function lib.setVehicleProperties(vehicle, props)
|
|||||||
SetVehicleModKit(vehicle, 0)
|
SetVehicleModKit(vehicle, 0)
|
||||||
SetVehicleAutoRepairDisabled(vehicle, true)
|
SetVehicleAutoRepairDisabled(vehicle, true)
|
||||||
|
|
||||||
|
if props.extras then
|
||||||
|
for id, disable in pairs(props.extras) do
|
||||||
|
SetVehicleExtra(vehicle, tonumber(id) --[[@as number]], disable == 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if props.plate then
|
if props.plate then
|
||||||
SetVehicleNumberPlateText(vehicle, props.plate)
|
SetVehicleNumberPlateText(vehicle, props.plate)
|
||||||
end
|
end
|
||||||
@@ -385,12 +394,6 @@ function lib.setVehicleProperties(vehicle, props)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if props.extras then
|
|
||||||
for id, disable in pairs(props.extras) do
|
|
||||||
SetVehicleExtra(vehicle, tonumber(id) --[[@as number]], disable == 1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if props.windows then
|
if props.windows then
|
||||||
for i = 1, #props.windows do
|
for i = 1, #props.windows do
|
||||||
RemoveVehicleWindow(vehicle, props.windows[i])
|
RemoveVehicleWindow(vehicle, props.windows[i])
|
||||||
@@ -634,5 +637,9 @@ function lib.setVehicleProperties(vehicle, props)
|
|||||||
SetDriftTyresEnabled(vehicle, true)
|
SetDriftTyresEnabled(vehicle, true)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if fixVehicle then
|
||||||
|
SetVehicleFixed(vehicle)
|
||||||
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user