From 819f5b4372daf8a099082e3074c67d470287509f Mon Sep 17 00:00:00 2001 From: Linden Date: Fri, 21 May 2021 21:33:11 +1000 Subject: [PATCH] fix(legacy/server): Store job data in a temporary table until grades have been applied --- server/common.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/server/common.lua b/server/common.lua index bd69ae09..26373d40 100644 --- a/server/common.lua +++ b/server/common.lua @@ -30,16 +30,17 @@ MySQL.ready(function() end end) + local Jobs = {} MySQL.Async.fetchAll('SELECT * FROM jobs', {}, function(jobs) for k,v in ipairs(jobs) do - ESX.Jobs[v.name] = v - ESX.Jobs[v.name].grades = {} + Jobs[v.name] = v + Jobs[v.name].grades = {} end MySQL.Async.fetchAll('SELECT * FROM job_grades', {}, function(jobGrades) for k,v in ipairs(jobGrades) do - if ESX.Jobs[v.job_name] then - ESX.Jobs[v.job_name].grades[tostring(v.grade)] = v + if Jobs[v.job_name] then + Jobs[v.job_name].grades[tostring(v.grade)] = v else print(('[^3WARNING^7] Ignoring job grades for ^5"%s"^0 due to missing job'):format(v.job_name)) end @@ -47,10 +48,11 @@ MySQL.ready(function() for k2,v2 in pairs(ESX.Jobs) do if ESX.Table.SizeOf(v2.grades) == 0 then - ESX.Jobs[v2.name] = nil + Jobs[v2.name] = nil print(('[^3WARNING^7] Ignoring job ^5"%s"^0due to no job grades found'):format(v2.name)) end end + ESX.Jobs = Jobs end) end)