diff --git a/[esx]/es_extended/client/functions.lua b/[esx]/es_extended/client/functions.lua index 5801ac93..a78cd273 100644 --- a/[esx]/es_extended/client/functions.lua +++ b/[esx]/es_extended/client/functions.lua @@ -812,248 +812,245 @@ function ESX.Game.GetVehicleProperties(vehicle) end function ESX.Game.SetVehicleProperties(vehicle, props) - if DoesEntityExist(vehicle) then - local colorPrimary, colorSecondary = GetVehicleColours(vehicle) - local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) - SetVehicleModKit(vehicle, 0) + if not DoesEntityExist(vehicle) then + return + end + local colorPrimary, colorSecondary = GetVehicleColours(vehicle) + local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) + SetVehicleModKit(vehicle, 0) - if props.plate then - SetVehicleNumberPlateText(vehicle, props.plate) - end - if props.plateIndex then - SetVehicleNumberPlateTextIndex(vehicle, props.plateIndex) - end - if props.bodyHealth then - SetVehicleBodyHealth(vehicle, props.bodyHealth + 0.0) - end - if props.engineHealth then - SetVehicleEngineHealth(vehicle, props.engineHealth + 0.0) - end - if props.tankHealth then - SetVehiclePetrolTankHealth(vehicle, props.tankHealth + 0.0) - end - if props.fuelLevel then - SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0) - end - if props.dirtLevel then - SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0) - end - if props.customPrimaryColor then - SetVehicleCustomPrimaryColour(vehicle, props.customPrimaryColor[1], props.customPrimaryColor[2], - props.customPrimaryColor[3]) - end - if props.customSecondaryColor then - SetVehicleCustomSecondaryColour(vehicle, props.customSecondaryColor[1], props.customSecondaryColor[2], - props.customSecondaryColor[3]) - end - if props.color1 then - SetVehicleColours(vehicle, props.color1, colorSecondary) - end - if props.color2 then - SetVehicleColours(vehicle, props.color1 or colorPrimary, props.color2) - end - if props.pearlescentColor then - SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor) - end - if props.wheelColor then - SetVehicleExtraColours(vehicle, props.pearlescentColor or pearlescentColor, props.wheelColor) - end - if props.wheels then - SetVehicleWheelType(vehicle, props.wheels) - end - if props.windowTint then - SetVehicleWindowTint(vehicle, props.windowTint) - end + if props.plate then + SetVehicleNumberPlateText(vehicle, props.plate) + end + if props.plateIndex then + SetVehicleNumberPlateTextIndex(vehicle, props.plateIndex) + end + if props.bodyHealth then + SetVehicleBodyHealth(vehicle, props.bodyHealth + 0.0) + end + if props.engineHealth then + SetVehicleEngineHealth(vehicle, props.engineHealth + 0.0) + end + if props.tankHealth then + SetVehiclePetrolTankHealth(vehicle, props.tankHealth + 0.0) + end + if props.fuelLevel then + SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0) + end + if props.dirtLevel then + SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0) + end + if props.customPrimaryColor then + SetVehicleCustomPrimaryColour(vehicle, props.customPrimaryColor[1], props.customPrimaryColor[2], + props.customPrimaryColor[3]) + end + if props.customSecondaryColor then + SetVehicleCustomSecondaryColour(vehicle, props.customSecondaryColor[1], props.customSecondaryColor[2], + props.customSecondaryColor[3]) + end + if props.color1 then + SetVehicleColours(vehicle, props.color1, colorSecondary) + end + if props.color2 then + SetVehicleColours(vehicle, props.color1 or colorPrimary, props.color2) + end + if props.pearlescentColor then + SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor) + end + if props.wheelColor then + SetVehicleExtraColours(vehicle, props.pearlescentColor or pearlescentColor, props.wheelColor) + end + if props.wheels then + SetVehicleWheelType(vehicle, props.wheels) + end + 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]) - 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]) + end - if props.extras then - for extraId, enabled in pairs(props.extras) do - if enabled then - SetVehicleExtra(vehicle, tonumber(extraId), 0) - else - SetVehicleExtra(vehicle, tonumber(extraId), 1) - end + if props.extras then + for extraId, enabled in pairs(props.extras) do + SetVehicleExtra(vehicle, tonumber(extraId), enabled and 0 or 0) + end + end + + if props.neonColor then + SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3]) + end + if props.xenonColor then + SetVehicleXenonLightsColor(vehicle, props.xenonColor) + end + if props.customXenonColor then + SetVehicleXenonLightsCustomColor(vehicle, props.customXenonColor[1], props.customXenonColor[2], + props.customXenonColor[3]) + end + if props.modSmokeEnabled then + ToggleVehicleMod(vehicle, 20, true) + end + if props.tyreSmokeColor then + SetVehicleTyreSmokeColor(vehicle, props.tyreSmokeColor[1], props.tyreSmokeColor[2], props.tyreSmokeColor[3]) + end + if props.modSpoilers then + SetVehicleMod(vehicle, 0, props.modSpoilers, false) + end + if props.modFrontBumper then + SetVehicleMod(vehicle, 1, props.modFrontBumper, false) + end + if props.modRearBumper then + SetVehicleMod(vehicle, 2, props.modRearBumper, false) + end + if props.modSideSkirt then + SetVehicleMod(vehicle, 3, props.modSideSkirt, false) + end + if props.modExhaust then + SetVehicleMod(vehicle, 4, props.modExhaust, false) + end + if props.modFrame then + SetVehicleMod(vehicle, 5, props.modFrame, false) + end + if props.modGrille then + SetVehicleMod(vehicle, 6, props.modGrille, false) + end + if props.modHood then + SetVehicleMod(vehicle, 7, props.modHood, false) + end + if props.modFender then + SetVehicleMod(vehicle, 8, props.modFender, false) + end + if props.modRightFender then + SetVehicleMod(vehicle, 9, props.modRightFender, false) + end + if props.modRoof then + SetVehicleMod(vehicle, 10, props.modRoof, false) + end + if props.modEngine then + SetVehicleMod(vehicle, 11, props.modEngine, false) + end + if props.modBrakes then + SetVehicleMod(vehicle, 12, props.modBrakes, false) + end + if props.modTransmission then + SetVehicleMod(vehicle, 13, props.modTransmission, false) + end + if props.modHorns then + SetVehicleMod(vehicle, 14, props.modHorns, false) + end + if props.modSuspension then + SetVehicleMod(vehicle, 15, props.modSuspension, false) + end + if props.modArmor then + SetVehicleMod(vehicle, 16, props.modArmor, false) + end + if props.modTurbo then + ToggleVehicleMod(vehicle, 18, props.modTurbo) + end + if props.modXenon then + ToggleVehicleMod(vehicle, 22, props.modXenon) + end + if props.modFrontWheels then + SetVehicleMod(vehicle, 23, props.modFrontWheels, false) + end + if props.modBackWheels then + SetVehicleMod(vehicle, 24, props.modBackWheels, false) + end + if props.modPlateHolder then + SetVehicleMod(vehicle, 25, props.modPlateHolder, false) + end + if props.modVanityPlate then + SetVehicleMod(vehicle, 26, props.modVanityPlate, false) + end + if props.modTrimA then + SetVehicleMod(vehicle, 27, props.modTrimA, false) + end + if props.modOrnaments then + SetVehicleMod(vehicle, 28, props.modOrnaments, false) + end + if props.modDashboard then + SetVehicleMod(vehicle, 29, props.modDashboard, false) + end + if props.modDial then + SetVehicleMod(vehicle, 30, props.modDial, false) + end + if props.modDoorSpeaker then + SetVehicleMod(vehicle, 31, props.modDoorSpeaker, false) + end + if props.modSeats then + SetVehicleMod(vehicle, 32, props.modSeats, false) + end + if props.modSteeringWheel then + SetVehicleMod(vehicle, 33, props.modSteeringWheel, false) + end + if props.modShifterLeavers then + SetVehicleMod(vehicle, 34, props.modShifterLeavers, false) + end + if props.modAPlate then + SetVehicleMod(vehicle, 35, props.modAPlate, false) + end + if props.modSpeakers then + SetVehicleMod(vehicle, 36, props.modSpeakers, false) + end + if props.modTrunk then + SetVehicleMod(vehicle, 37, props.modTrunk, false) + end + if props.modHydrolic then + SetVehicleMod(vehicle, 38, props.modHydrolic, false) + end + if props.modEngineBlock then + SetVehicleMod(vehicle, 39, props.modEngineBlock, false) + end + if props.modAirFilter then + SetVehicleMod(vehicle, 40, props.modAirFilter, false) + end + if props.modStruts then + SetVehicleMod(vehicle, 41, props.modStruts, false) + end + if props.modArchCover then + SetVehicleMod(vehicle, 42, props.modArchCover, false) + end + if props.modAerials then + SetVehicleMod(vehicle, 43, props.modAerials, false) + end + if props.modTrimB then + SetVehicleMod(vehicle, 44, props.modTrimB, false) + end + if props.modTank then + SetVehicleMod(vehicle, 45, props.modTank, false) + end + if props.modWindows then + SetVehicleMod(vehicle, 46, props.modWindows, false) + end + + if props.modLivery then + SetVehicleMod(vehicle, 48, props.modLivery, false) + SetVehicleLivery(vehicle, props.modLivery) + end + + if props.windowsBroken then + for k, v in pairs(props.windowsBroken) do + if v then + SmashVehicleWindow(vehicle, tonumber(k)) end end + end - if props.neonColor then - SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3]) - end - if props.xenonColor then - SetVehicleXenonLightsColor(vehicle, props.xenonColor) - end - if props.customXenonColor then - SetVehicleXenonLightsCustomColor(vehicle, props.customXenonColor[1], props.customXenonColor[2], - props.customXenonColor[3]) - end - if props.modSmokeEnabled then - ToggleVehicleMod(vehicle, 20, true) - end - if props.tyreSmokeColor then - SetVehicleTyreSmokeColor(vehicle, props.tyreSmokeColor[1], props.tyreSmokeColor[2], props.tyreSmokeColor[3]) - end - if props.modSpoilers then - SetVehicleMod(vehicle, 0, props.modSpoilers, false) - end - if props.modFrontBumper then - SetVehicleMod(vehicle, 1, props.modFrontBumper, false) - end - if props.modRearBumper then - SetVehicleMod(vehicle, 2, props.modRearBumper, false) - end - if props.modSideSkirt then - SetVehicleMod(vehicle, 3, props.modSideSkirt, false) - end - if props.modExhaust then - SetVehicleMod(vehicle, 4, props.modExhaust, false) - end - if props.modFrame then - SetVehicleMod(vehicle, 5, props.modFrame, false) - end - if props.modGrille then - SetVehicleMod(vehicle, 6, props.modGrille, false) - end - if props.modHood then - SetVehicleMod(vehicle, 7, props.modHood, false) - end - if props.modFender then - SetVehicleMod(vehicle, 8, props.modFender, false) - end - if props.modRightFender then - SetVehicleMod(vehicle, 9, props.modRightFender, false) - end - if props.modRoof then - SetVehicleMod(vehicle, 10, props.modRoof, false) - end - if props.modEngine then - SetVehicleMod(vehicle, 11, props.modEngine, false) - end - if props.modBrakes then - SetVehicleMod(vehicle, 12, props.modBrakes, false) - end - if props.modTransmission then - SetVehicleMod(vehicle, 13, props.modTransmission, false) - end - if props.modHorns then - SetVehicleMod(vehicle, 14, props.modHorns, false) - end - if props.modSuspension then - SetVehicleMod(vehicle, 15, props.modSuspension, false) - end - if props.modArmor then - SetVehicleMod(vehicle, 16, props.modArmor, false) - end - if props.modTurbo then - ToggleVehicleMod(vehicle, 18, props.modTurbo) - end - if props.modXenon then - ToggleVehicleMod(vehicle, 22, props.modXenon) - end - if props.modFrontWheels then - SetVehicleMod(vehicle, 23, props.modFrontWheels, false) - end - if props.modBackWheels then - SetVehicleMod(vehicle, 24, props.modBackWheels, false) - end - if props.modPlateHolder then - SetVehicleMod(vehicle, 25, props.modPlateHolder, false) - end - if props.modVanityPlate then - SetVehicleMod(vehicle, 26, props.modVanityPlate, false) - end - if props.modTrimA then - SetVehicleMod(vehicle, 27, props.modTrimA, false) - end - if props.modOrnaments then - SetVehicleMod(vehicle, 28, props.modOrnaments, false) - end - if props.modDashboard then - SetVehicleMod(vehicle, 29, props.modDashboard, false) - end - if props.modDial then - SetVehicleMod(vehicle, 30, props.modDial, false) - end - if props.modDoorSpeaker then - SetVehicleMod(vehicle, 31, props.modDoorSpeaker, false) - end - if props.modSeats then - SetVehicleMod(vehicle, 32, props.modSeats, false) - end - if props.modSteeringWheel then - SetVehicleMod(vehicle, 33, props.modSteeringWheel, false) - end - if props.modShifterLeavers then - SetVehicleMod(vehicle, 34, props.modShifterLeavers, false) - end - if props.modAPlate then - SetVehicleMod(vehicle, 35, props.modAPlate, false) - end - if props.modSpeakers then - SetVehicleMod(vehicle, 36, props.modSpeakers, false) - end - if props.modTrunk then - SetVehicleMod(vehicle, 37, props.modTrunk, false) - end - if props.modHydrolic then - SetVehicleMod(vehicle, 38, props.modHydrolic, false) - end - if props.modEngineBlock then - SetVehicleMod(vehicle, 39, props.modEngineBlock, false) - end - if props.modAirFilter then - SetVehicleMod(vehicle, 40, props.modAirFilter, false) - end - if props.modStruts then - SetVehicleMod(vehicle, 41, props.modStruts, false) - end - if props.modArchCover then - SetVehicleMod(vehicle, 42, props.modArchCover, false) - end - if props.modAerials then - SetVehicleMod(vehicle, 43, props.modAerials, false) - end - if props.modTrimB then - SetVehicleMod(vehicle, 44, props.modTrimB, false) - end - if props.modTank then - SetVehicleMod(vehicle, 45, props.modTank, false) - end - if props.modWindows then - SetVehicleMod(vehicle, 46, props.modWindows, false) - end - - if props.modLivery then - SetVehicleMod(vehicle, 48, props.modLivery, false) - SetVehicleLivery(vehicle, props.modLivery) - end - - if props.windowsBroken then - for k, v in pairs(props.windowsBroken) do - if v then - SmashVehicleWindow(vehicle, tonumber(k)) - end + if props.doorsBroken then + for k, v in pairs(props.doorsBroken) do + if v then + SetVehicleDoorBroken(vehicle, tonumber(k), true) end end + end - if props.doorsBroken then - for k, v in pairs(props.doorsBroken) do - if v then - SetVehicleDoorBroken(vehicle, tonumber(k), true) - end - end - end - - if props.tyreBurst then - for k, v in pairs(props.tyreBurst) do - if v then - SetVehicleTyreBurst(vehicle, tonumber(k), true, 1000.0) - end + if props.tyreBurst then + for k, v in pairs(props.tyreBurst) do + if v then + SetVehicleTyreBurst(vehicle, tonumber(k), true, 1000.0) end end end