From b13e44939cb5ee1f832462980b57c2120a998fdb Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Fri, 28 May 2021 11:42:22 +1000 Subject: [PATCH] improvement(server/main): Create a stored query for saving players --- server/functions.lua | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/server/functions.lua b/server/functions.lua index 4e8da7ea..be623867 100644 --- a/server/functions.lua +++ b/server/functions.lua @@ -163,19 +163,25 @@ ESX.TriggerServerCallback = function(name, requestId, source, cb, ...) end end +local savePlayers = -1 +Citizen.CreateThread(function() + savePlayers = MySQL.Sync.store("UPDATE users SET ? WHERE ?") +end) + ESX.SavePlayer = function(xPlayer, cb) local asyncTasks = {} table.insert(asyncTasks, function(cb2) - MySQL.Async.execute('UPDATE users SET accounts = @accounts, job = @job, job_grade = @job_grade, `group` = @group, loadout = @loadout, position = @position, inventory = @inventory WHERE identifier = @identifier', { - ['@accounts'] = json.encode(xPlayer.getAccounts(true)), - ['@job'] = xPlayer.job.name, - ['@job_grade'] = xPlayer.job.grade, - ['@group'] = xPlayer.getGroup(), - ['@loadout'] = json.encode(xPlayer.getLoadout(true)), - ['@position'] = json.encode(xPlayer.getCoords()), - ['@identifier'] = xPlayer.getIdentifier(), - ['@inventory'] = json.encode(xPlayer.getInventory(true)) + MySQL.Async.execute(savePlayers, { + { + ['accounts'] = json.encode(xPlayer.getAccounts(true)), + ['job'] = xPlayer.job.name, + ['job_grade'] = xPlayer.job.grade, + ['group'] = xPlayer.getGroup(), + ['loadout'] = json.encode(xPlayer.getLoadout(true)), + ['position'] = json.encode(xPlayer.getCoords()), + ['inventory'] = json.encode(xPlayer.getInventory(true)) + }, {['identifier'] = xPlayer.getIdentifier()} }, function(rowsChanged) cb2() end)