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