local debug_getinfo = debug.getinfo function noop() end lib = setmetatable({ name = 'ox_lib', context = IsDuplicityVersion() and 'server' or 'client', }, { __newindex = function(self, key, fn) rawset(self, key, fn) if debug_getinfo(2, 'S').short_src:find('@ox_lib/resource') then exports(key, fn) end end, __index = function(self, key) local dir = ('imports/%s'):format(key) local chunk = LoadResourceFile(self.name, ('%s/%s.lua'):format(dir, self.context)) local shared = LoadResourceFile(self.name, ('%s/shared.lua'):format(dir)) if shared then chunk = (chunk and ('%s\n%s'):format(shared, chunk)) or shared end if chunk then local fn, err = load(chunk, ('@@ox_lib/%s/%s.lua'):format(key, self.context)) if not fn or err then return error(('\n^1Error importing module (%s): %s^0'):format(dir, err), 3) end rawset(self, key, fn() or noop) return self[key] end end }) cache = { resource = lib.name, game = GetGameName(), } if not LoadResourceFile(lib.name, 'web/build/index.html') then local err = '^1Unable to load UI. Build ox_lib or download the latest release.\n ^3https://github.com/overextended/ox_lib/releases/latest/download/ox_lib.zip^0' function lib.hasLoaded() return err end error(err) end function lib.hasLoaded() return true end lib.locale()