Merge pull request #1207 from qbcore-framework/fix/client-callback-collisions

Fix/client callback collisions
This commit is contained in:
Joel
2025-10-06 15:11:59 -04:00
committed by GitHub
2 changed files with 10 additions and 8 deletions
+6 -5
View File
@@ -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)
+4 -3
View File
@@ -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