(fix): setup vehicles to load on resource start, with proper startup moment for no lengthy query

This commit is contained in:
Ark
2021-02-01 16:34:40 -06:00
parent 7a7950cad6
commit 0ce2055a4d
+21 -37
View File
@@ -22,52 +22,36 @@ function RemoveOwnedVehicle(plate)
})
end
MySQL.ready(function()
MySQL.Async.fetchAll('SELECT * FROM vehicle_categories', {}, function(_categories)
categories = _categories
MySQL.Async.fetchAll('SELECT * FROM vehicles', {}, function(_vehicles)
vehicles = _vehicles
for k,v in ipairs(vehicles) do
for k2,v2 in ipairs(categories) do
if v2.name == v.category then
vehicles[k].categoryLabel = v2.label
break
end
end
end
-- send information after db has loaded, making sure everyone gets vehicle information
TriggerClientEvent('esx_vehicleshop:sendCategories', -1, categories)
TriggerClientEvent('esx_vehicleshop:sendVehicles', -1, vehicles)
end)
end)
end)
AddEventHandler('onResourceStart', function(resourceName)
MySQL.Async.fetchAll('SELECT * FROM vehicle_categories', {}, function(_categories)
Wait(500)
MySQL.Async.fetchAll('SELECT * FROM `vehicle_categories`', {}, function(_categories)
categories = _categories
MySQL.Async.fetchAll('SELECT * FROM vehicles', {}, function(_vehicles)
MySQL.Async.fetchAll('SELECT * FROM `vehicles`', {}, function(_vehicles)
vehicles = _vehicles
for k,v in ipairs(vehicles) do
for k2,v2 in ipairs(categories) do
if v2.name == v.category then
vehicles[k].categoryLabel = v2.label
break
end
end
end
-- send information after db has loaded, making sure everyone gets vehicle information
TriggerClientEvent('esx_vehicleshop:sendCategories', -1, categories)
TriggerClientEvent('esx_vehicleshop:sendVehicles', -1, vehicles)
GetVehiclesAndCategories(categories, vehicles)
end)
end)
end)
function GetVehiclesAndCategories(categories, vehicles)
for k,v in ipairs(vehicles) do
for k2,v2 in ipairs(categories) do
if v2.name == v.category then
vehicles[k].categoryLabel = v2.label
break
end
end
end
-- send information after db has loaded, making sure everyone gets vehicle information
TriggerClientEvent('esx_vehicleshop:sendCategories', -1, categories)
TriggerClientEvent('esx_vehicleshop:sendVehicles', -1, vehicles)
end
function getVehicleLabelFromModel(model)
for k,v in ipairs(vehicles) do
if v.model == model then