Skip to content
This repository was archived by the owner on Apr 19, 2025. It is now read-only.

Commit 02fc2e5

Browse files
committed
refactor(bridge): replace script loading with lib.load
1 parent 52e90d3 commit 02fc2e5

File tree

12 files changed

+32
-72
lines changed

12 files changed

+32
-72
lines changed

init.lua

-17
Original file line numberDiff line numberDiff line change
@@ -137,23 +137,6 @@ local function spamError(err)
137137
error(err, 0)
138138
end
139139

140-
CreateThread(function()
141-
if shared.framework == 'ox' then
142-
local file = ('imports/%s.lua'):format(lib.context)
143-
local import = LoadResourceFile('ox_core', file)
144-
local func, err = load(import, ('@@ox_core/%s'):format(file))
145-
146-
if not func or err then
147-
shared.ready = false
148-
return spamError(err)
149-
end
150-
151-
func()
152-
153-
Ox = Ox or {}
154-
end
155-
end)
156-
157140
---@param name string
158141
---@return table
159142
---@deprecated

modules/bridge/client.lua

+9-12
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,16 @@ function client.onLogout()
5858
Weapon.Disarm()
5959
end
6060

61-
local scriptPath = ('modules/bridge/%s/client.lua'):format(shared.framework)
62-
local resourceFile = LoadResourceFile(cache.resource, scriptPath)
63-
64-
if not resourceFile then
65-
lib = nil
66-
return error(("Unable to find framework bridge for '%s'"):format(shared.framework))
61+
if shared.framework == 'ox' then
62+
CreateThread(function()
63+
lib.load(('@ox_core.imports.%s'):format(lib.context))
64+
end)
6765
end
6866

69-
local func, err = load(resourceFile, ('@@%s/%s'):format(cache.resource, scriptPath))
67+
local success, result = pcall(lib.load, ('modules.bridge.%s.client'):format(shared.framework))
7068

71-
if not func or err then
72-
lib = nil
73-
return error(err)
69+
if not success then
70+
lib.print.error(result)
71+
lib = nil
72+
return
7473
end
75-
76-
func(client.onLogout)

modules/bridge/esx/client.lua

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
local onLogout = ...
2-
31
local ESX = setmetatable({}, {
42
__index = function(self, index)
53
local obj = exports.es_extended:getSharedObject()
@@ -22,7 +20,7 @@ function client.setPlayerStatus(values)
2220
end
2321
end
2422

25-
RegisterNetEvent('esx:onPlayerLogout', onLogout)
23+
RegisterNetEvent('esx:onPlayerLogout', client.onLogout)
2624

2725
AddEventHandler('esx:setPlayerData', function(key, value)
2826
if not PlayerData.loaded or GetInvokingResource() ~= 'es_extended' then return end

modules/bridge/esx/server.lua

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
local playerDropped = ...
21
local Inventory = require 'modules.inventory.server'
32
local Items = require 'modules.items.server'
43

5-
AddEventHandler('esx:playerDropped', playerDropped)
4+
AddEventHandler('esx:playerDropped', server.playerDropped)
65

76
AddEventHandler('esx:setJob', function(source, job, lastJob)
87
local inventory = Inventory(source)

modules/bridge/nd/client.lua

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
local onLogout = ...
2-
local file = LoadResourceFile("ND_Core", "init.lua")
3-
load(file, "@ND_Core/init.lua")()
1+
local NDCore = lib.load('@ND_Core.init')
42

5-
RegisterNetEvent("ND:characterUnloaded", onLogout)
3+
if lib.checkDependency('ND_Core', '2.0.0', true) then return end
4+
5+
RegisterNetEvent("ND:characterUnloaded", client.onLogout)
66

77
local function reorderGroups(groups)
88
groups = groups or {}

modules/bridge/nd/server.lua

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
local playerDropped = ...
2-
local Inventory = require 'modules.inventory.server'
3-
local file = LoadResourceFile("ND_Core", "init.lua")
4-
load(file, "@ND_Core/init.lua")()
5-
6-
AddEventHandler("ND:characterUnloaded", playerDropped)
1+
local NDCore = lib.load('@ND_Core.init')
72

83
if lib.checkDependency('ND_Core', '2.0.0', true) then return end
94

5+
AddEventHandler("ND:characterUnloaded", server.playerDropped)
6+
7+
local Inventory = require 'modules.inventory.server'
8+
109
local function reorderGroups(groups)
1110
groups = groups or {}
1211
for group, info in pairs(groups) do

modules/bridge/ox/client.lua

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
local onLogout = ...
2-
3-
RegisterNetEvent('ox:playerLogout', onLogout)
1+
RegisterNetEvent('ox:playerLogout', client.onLogout)
42

53
RegisterNetEvent('ox:setGroup', function(name, grade)
64
PlayerData.groups[name] = grade

modules/bridge/ox/server.lua

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
local playerDropped = ...
21
local Inventory = require 'modules.inventory.server'
32

4-
AddEventHandler('ox:playerLogout', playerDropped)
3+
AddEventHandler('ox:playerLogout', server.playerDropped)
54

65
AddEventHandler('ox:setGroup', function(source, name, grade)
76
local inventory = Inventory(source)

modules/bridge/qb/client.lua

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
local onLogout, Weapon = ...
21
local QBCore = exports['qb-core']:GetCoreObject()
32
local Inventory = require 'modules.inventory.client'
43
local Weapon = require 'modules.weapon.client'
54

6-
RegisterNetEvent('QBCore:Client:OnPlayerUnload', onLogout)
5+
RegisterNetEvent('QBCore:Client:OnPlayerUnload', client.onLogout)
76

87
RegisterNetEvent('QBCore:Player:SetPlayerData', function(data)
98
if source == '' or not PlayerData.loaded then return end

modules/bridge/qb/server.lua

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
local playerDropped = ...
21
local Inventory = require 'modules.inventory.server'
32
local Items = require 'modules.items.server'
43

54
local QBCore
65

7-
AddEventHandler('QBCore:Server:OnPlayerUnload', playerDropped)
6+
AddEventHandler('QBCore:Server:OnPlayerUnload', server.playerDropped)
87

98
AddEventHandler('QBCore:Server:OnJobUpdate', function(source, job)
109
local inventory = Inventory(source)

modules/bridge/server.lua

+6-19
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ end
3939

4040
local Inventory = require 'modules.inventory.server'
4141

42-
local function playerDropped(source)
42+
function server.playerDropped(source)
4343
local inv = Inventory(source) --[[@as OxInventory]]
4444

4545
if inv?.player then
@@ -48,25 +48,12 @@ local function playerDropped(source)
4848
end
4949
end
5050

51-
AddEventHandler('playerDropped', function()
52-
playerDropped(source)
53-
end)
51+
local success, result = pcall(lib.load, ('modules.bridge.%s.server'):format(shared.framework))
5452

55-
local scriptPath = ('modules/bridge/%s/server.lua'):format(shared.framework)
56-
local resourceFile = LoadResourceFile(cache.resource, scriptPath)
57-
58-
if not resourceFile then
59-
lib = nil
60-
return error(("Unable to find framework bridge for '%s'"):format(shared.framework))
53+
if not success then
54+
lib.print.error(result)
55+
lib = nil
56+
return
6157
end
6258

63-
local func, err = load(resourceFile, ('@@%s/%s'):format(cache.resource, scriptPath))
64-
65-
if not func or err then
66-
lib = nil
67-
return error(err)
68-
end
69-
70-
func(playerDropped)
71-
7259
if server.convertInventory then exports('ConvertItems', server.convertInventory) end

modules/inventory/server.lua

+2
Original file line numberDiff line numberDiff line change
@@ -2309,6 +2309,8 @@ function Inventory.SaveInventories(lock, clearInventories)
23092309
end
23102310

23112311
AddEventHandler('playerDropped', function()
2312+
server.playerDropped(source)
2313+
23122314
if GetNumPlayerIndices() == 0 then
23132315
Inventory.SaveInventories(false, true)
23142316
end

0 commit comments

Comments
 (0)