diff --git a/server/events.lua b/server/events.lua index 00b0fa5..bd45ec6 100644 --- a/server/events.lua +++ b/server/events.lua @@ -124,14 +124,15 @@ end) -- Client Callback RegisterNetEvent('QBCore:Server:TriggerClientCallback', function(name, ...) - if QBCore.ClientCallbacks[name] then - QBCore.ClientCallbacks[name].promise:resolve(...) + local ClientCallback = QBCore.ClientCallbacks[name..source] + if ClientCallback then + ClientCallback.promise:resolve(...) - if QBCore.ClientCallbacks[name].callback then - QBCore.ClientCallbacks[name].callback(...) + if ClientCallback.callback then + ClientCallback.callback(...) end - QBCore.ClientCallbacks[name] = nil + QBCore.ClientCallbacks[name..source] = nil end end) diff --git a/server/functions.lua b/server/functions.lua index c01aed2..dd0bb06 100644 --- a/server/functions.lua +++ b/server/functions.lua @@ -441,6 +441,7 @@ end ---@param cb function ---@param ... any function QBCore.Functions.TriggerClientCallback(name, source, ...) + if not source then return end local cb = nil local args = { ... } @@ -449,7 +450,7 @@ function QBCore.Functions.TriggerClientCallback(name, source, ...) table.remove(args, 1) end - QBCore.ClientCallbacks[name] = { + QBCore.ClientCallbacks[name..source] = { callback = cb, promise = promise.new() } @@ -457,8 +458,8 @@ function QBCore.Functions.TriggerClientCallback(name, source, ...) TriggerClientEvent('QBCore:Client:TriggerClientCallback', source, name, table.unpack(args)) if cb == nil then - Citizen.Await(QBCore.ClientCallbacks[name].promise) - return QBCore.ClientCallbacks[name].promise.value + Citizen.Await(QBCore.ClientCallbacks[name..source].promise) + return QBCore.ClientCallbacks[name..source].promise.value end end