From f8d68df5e99d49497b9f11f0a0332c3a578b392d Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Tue, 1 Mar 2022 12:28:04 +0000 Subject: [PATCH] feat(cache): add lib.cache and update event --- resource/cache/client.lua | 46 ++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/resource/cache/client.lua b/resource/cache/client.lua index 8f96407..fbbb7ae 100644 --- a/resource/cache/client.lua +++ b/resource/cache/client.lua @@ -1,17 +1,4 @@ local cache = {} -local player = LocalPlayer.state -local states = { - ['vehicle'] = true, - ['driver'] = true -} - -function cache:set(key, value) - if value ~= self[key] then - self[key] = value - - if states[key] then player:set(key, value, false) end - end -end function cache:getPed() local ped = PlayerPedId() @@ -23,9 +10,7 @@ end function cache:getVehicle() local vehicle = GetVehiclePedIsIn(self.ped, false) if vehicle > 0 then - if vehicle ~= self.vehicle then - self:set('vehicle', vehicle) - + if self:set('vehicle', vehicle) then if GetPedInVehicleSeat(vehicle, -1) == self.ped then self:set('driver', true) else @@ -36,10 +21,12 @@ function cache:getVehicle() end function cache:onFoot() + -- todo -- print('on foot') end function cache:inVehicle() + -- todo if self.driver then -- print('driving vehicle') else @@ -47,17 +34,36 @@ function cache:inVehicle() end end +local update = {} + +function cache:set(key, value) + if value ~= self[key] then + self[key] = value + update[key] = value + return true + end +end + CreateThread(function() while true do cache:getPed() cache:getVehicle() - if not cache.vehicle then - cache:onFoot() - else - cache:inVehicle() + -- if not cache.vehicle then + -- cache:onFoot() + -- else + -- cache:inVehicle() + -- end + + if cache.update then + TriggerEvent('lualib:updateCache', update) + table.wipe(update) end Wait(100) end end) + +function lib.cache(key) + return cache[key] +end \ No newline at end of file