From 531c831e4c2335ff22c250df50f23a708030d9fe Mon Sep 17 00:00:00 2001 From: MiddleSkillz Date: Thu, 6 May 2021 02:24:02 -0600 Subject: [PATCH] refactor: optimize ESX.TimeoutCallbacks --- client/functions.lua | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/client/functions.lua b/client/functions.lua index 970a07ab..ba0d1791 100644 --- a/client/functions.lua +++ b/client/functions.lua @@ -1022,15 +1022,22 @@ end) Citizen.CreateThread(function() while true do Citizen.Wait(0) + local letSleep = true local currTime = GetGameTimer() - for i=1, #ESX.TimeoutCallbacks, 1 do - if ESX.TimeoutCallbacks[i] then - if currTime >= ESX.TimeoutCallbacks[i].time then - ESX.TimeoutCallbacks[i].cb() - ESX.TimeoutCallbacks[i] = nil + if #ESX.TimeoutCallbacks > 0 then + letSleep = false + for i=1, #ESX.TimeoutCallbacks, 1 do + if ESX.TimeoutCallbacks[i] then + if currTime >= ESX.TimeoutCallbacks[i].time then + ESX.TimeoutCallbacks[i].cb() + ESX.TimeoutCallbacks[i] = nil + end end end end + if letSleep then + Citizen.Wait(500) + end end end)