mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-29 01:08:54 +00:00
Merge pull request #885 from esx-framework/fix-csoki
refactor(es_extended/onesync): 'VehicleProperties' statebag
This commit is contained in:
@@ -182,23 +182,18 @@ AddEventHandler('esx:restoreLoadout', function()
|
||||
end
|
||||
end)
|
||||
|
||||
AddStateBagChangeHandler('VehicleProperties', nil, function(bagName, key, value)
|
||||
if value then
|
||||
Wait(0)
|
||||
local NetId = value.NetId
|
||||
local Vehicle = NetworkGetEntityFromNetworkId(NetId)
|
||||
local Tries = 0
|
||||
while Vehicle == 0 do
|
||||
Vehicle = NetworkGetEntityFromNetworkId(NetId)
|
||||
Wait(100)
|
||||
Tries = Tries + 1
|
||||
if Tries > 300 then
|
||||
break
|
||||
end
|
||||
end
|
||||
if NetworkGetEntityOwner(Vehicle) == PlayerId() then
|
||||
ESX.Game.SetVehicleProperties(Vehicle, value)
|
||||
end
|
||||
AddStateBagChangeHandler('VehicleProperties', nil, function(bagName, _, value)
|
||||
if not value then
|
||||
return
|
||||
end
|
||||
|
||||
local vehicle = GetEntityFromStateBagName(bagName)
|
||||
if not DoesEntityExist(vehicle) then
|
||||
return
|
||||
end
|
||||
|
||||
if NetworkGetEntityOwner(vehicle) == PlayerId() then
|
||||
ESX.Game.SetVehicleProperties(vehicle, value)
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
@@ -69,14 +69,12 @@ function ESX.OneSync.SpawnVehicle(model, coords, heading, properties, cb)
|
||||
ESX.GetVehicleType(vehicleModel, xPlayer.id, function(vehicleType)
|
||||
if vehicleType then
|
||||
local createdVehicle = CreateVehicleServerSetter(vehicleModel, vehicleType, coords, heading)
|
||||
if DoesEntityExist(createdVehicle) then
|
||||
local networkId = NetworkGetNetworkIdFromEntity(createdVehicle)
|
||||
vehicleProperties.NetId = networkId
|
||||
Entity(createdVehicle).state:set('VehicleProperties', vehicleProperties, true)
|
||||
cb(networkId)
|
||||
else
|
||||
print('[^1ERROR^7] Unfortunately, this vehicle has not spawned')
|
||||
if not DoesEntityExist(createdVehicle) then
|
||||
return print('[^1ERROR^7] Unfortunately, this vehicle has not spawned')
|
||||
end
|
||||
|
||||
Entity(createdVehicle).state:set('VehicleProperties', vehicleProperties, true)
|
||||
cb(NetworkGetNetworkIdFromEntity(createdVehicle))
|
||||
else
|
||||
print(('[^1ERROR^7] Tried to spawn invalid vehicle - ^5%s^7!'):format(model))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user