diff --git a/client/functions.lua b/client/functions.lua index c42f6621..c5e2021d 100644 --- a/client/functions.lua +++ b/client/functions.lua @@ -280,14 +280,20 @@ ESX.Game.GetPedMugshot = function(ped) end ESX.Game.Teleport = function(entity, coords, cb) - RequestCollisionAtCoord(coords.x, coords.y, coords.z) - - while not HasCollisionLoadedAroundEntity(entity) do + if DoesEntityExist(entity) then RequestCollisionAtCoord(coords.x, coords.y, coords.z) - Citizen.Wait(0) - end - SetEntityCoords(entity, coords.x, coords.y, coords.z) + while not HasCollisionLoadedAroundEntity(entity) do + RequestCollisionAtCoord(coords.x, coords.y, coords.z) + Citizen.Wait(0) + end + + SetEntityCoords(entity, coords.x, coords.y, coords.z, false, false, false, false) + + if coords.heading then + SetEntityHeading(entity, coords.heading) + end + end if cb then cb() @@ -625,7 +631,7 @@ ESX.Game.GetClosestPed = function(coords, ignoreList) end ESX.Game.GetVehicleProperties = function(vehicle) - local color1, color2 = GetVehicleColours(vehicle) + local colorPrimary, colorSecondary = GetVehicleColours(vehicle) local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) local extras = {} @@ -647,8 +653,8 @@ ESX.Game.GetVehicleProperties = function(vehicle) fuelLevel = ESX.Math.Round(GetVehicleFuelLevel(vehicle), 1), dirtLevel = ESX.Math.Round(GetVehicleDirtLevel(vehicle), 1), - color1 = color1, - color2 = color2, + color1 = colorPrimary, + color2 = colorSecondary, pearlescentColor = pearlescentColor, wheelColor = wheelColor, @@ -721,264 +727,92 @@ ESX.Game.GetVehicleProperties = function(vehicle) end ESX.Game.SetVehicleProperties = function(vehicle, props) - 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.fuelLevel then - SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0) - end - - if props.dirtLevel then - SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0) - end - - if props.color1 then - local color1, color2 = GetVehicleColours(vehicle) - SetVehicleColours(vehicle, props.color1, color2) - end - - if props.color2 then - local color1, color2 = GetVehicleColours(vehicle) - SetVehicleColours(vehicle, color1, props.color2) - end - - if props.pearlescentColor then + if DoesEntityExist(vehicle) then + local colorPrimary, colorSecondary = GetVehicleColours(vehicle) local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) - SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor) - end + SetVehicleModKit(vehicle, 0) - if props.wheelColor then - local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) - SetVehicleExtraColours(vehicle, pearlescentColor, props.wheelColor) - 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.fuelLevel then SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0) end + if props.dirtLevel then SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0) end + if props.color1 then SetVehicleColours(vehicle, props.color1, colorSecondary) end + if props.color2 then SetVehicleColours(vehicle, colorPrimary, props.color2) end + if props.pearlescentColor then SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor) end + if props.wheelColor then SetVehicleExtraColours(vehicle, pearlescentColor, props.wheelColor) end + if props.wheels then SetVehicleWheelType(vehicle, props.wheels) end + if props.windowTint then SetVehicleWindowTint(vehicle, props.windowTint) end - if props.wheels then - SetVehicleWheelType(vehicle, props.wheels) - 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.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.extras then - for id,enabled in pairs(props.extras) do - if enabled then - SetVehicleExtra(vehicle, tonumber(id), 0) - else - SetVehicleExtra(vehicle, tonumber(id), 1) + 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 - end - if props.neonColor then - SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3]) - 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) 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.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) + if props.modLivery then + SetVehicleMod(vehicle, 48, props.modLivery, false) + SetVehicleLivery(vehicle, props.modLivery) + end end end