From b3b3b19e8b3572789882744435486eaf5dd98f80 Mon Sep 17 00:00:00 2001 From: Mycroft Date: Fri, 23 Dec 2022 20:45:23 +0000 Subject: [PATCH] fix(esx_lscustoms): Sync VehicleProperties State to owned vehicles --- [esx_addons]/esx_lscustom/client/main.lua | 7 +++---- [esx_addons]/esx_lscustom/server/main.lua | 7 ++++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[esx_addons]/esx_lscustom/client/main.lua b/[esx_addons]/esx_lscustom/client/main.lua index b5273d1b..6a3374cc 100644 --- a/[esx_addons]/esx_lscustom/client/main.lua +++ b/[esx_addons]/esx_lscustom/client/main.lua @@ -2,9 +2,7 @@ local Vehicles, myCar = {}, {} local lsMenuIsShowed, HintDisplayed, isInLSMarker = false, false, false RegisterNetEvent('esx:playerLoaded') -AddEventHandler('esx:playerLoaded', function(xPlayer) - ESX.PlayerLoaded = true - ESX.PlayerData = xPlayer +AddEventHandler('esx:playerLoaded', function() ESX.TriggerServerCallback('esx_lscustom:getVehiclesPrices', function(vehicles) Vehicles = vehicles end) @@ -13,8 +11,9 @@ end) RegisterNetEvent('esx_lscustom:installMod') AddEventHandler('esx_lscustom:installMod', function() local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) + local NetId = NetworkGetNetworkIdFromEntity(vehicle) myCar = ESX.Game.GetVehicleProperties(vehicle) - TriggerServerEvent('esx_lscustom:refreshOwnedVehicle', myCar) + TriggerServerEvent('esx_lscustom:refreshOwnedVehicle', myCar, NetId) end) RegisterNetEvent('esx_lscustom:restoreMods', function(netId, props) diff --git a/[esx_addons]/esx_lscustom/server/main.lua b/[esx_addons]/esx_lscustom/server/main.lua index 5879b7dc..94aafe25 100644 --- a/[esx_addons]/esx_lscustom/server/main.lua +++ b/[esx_addons]/esx_lscustom/server/main.lua @@ -70,7 +70,7 @@ AddEventHandler('esx_lscustom:buyMod', function(price) end) RegisterServerEvent('esx_lscustom:refreshOwnedVehicle') -AddEventHandler('esx_lscustom:refreshOwnedVehicle', function(vehicleProps) +AddEventHandler('esx_lscustom:refreshOwnedVehicle', function(vehicleProps, netId) local xPlayer = ESX.GetPlayerFromId(source) MySQL.single('SELECT vehicle FROM owned_vehicles WHERE plate = ?', {vehicleProps.plate}, @@ -80,6 +80,11 @@ AddEventHandler('esx_lscustom:refreshOwnedVehicle', function(vehicleProps) if vehicleProps.model == vehicle.model then MySQL.update('UPDATE owned_vehicles SET vehicle = ? WHERE plate = ?', {json.encode(vehicleProps), vehicleProps.plate}) Customs[tostring(source)][tostring(vehicleProps.plate)].props = vehicleProps + local veh = NetworkGetEntityFromNetworkId(netId) + local Veh_State = Entity(veh).state.VehicleProperties + if Veh_State then + Entity(veh).state:set("VehicleProperties", vehicleProps, true) + end else print(('[^3WARNING^7] Player ^5%s^7 Attempted To upgrade with mismatching vehicle model'):format(xPlayer.source)) end