mirror of
https://github.com/qbcore-fivem/qb-core.git
synced 2026-09-04 17:23:31 +00:00
Merge pull request #1207 from qbcore-framework/fix/client-callback-collisions
Fix/client callback collisions
This commit is contained in:
+6
-5
@@ -124,14 +124,15 @@ end)
|
|||||||
|
|
||||||
-- Client Callback
|
-- Client Callback
|
||||||
RegisterNetEvent('QBCore:Server:TriggerClientCallback', function(name, ...)
|
RegisterNetEvent('QBCore:Server:TriggerClientCallback', function(name, ...)
|
||||||
if QBCore.ClientCallbacks[name] then
|
local ClientCallback = QBCore.ClientCallbacks[name..source]
|
||||||
QBCore.ClientCallbacks[name].promise:resolve(...)
|
if ClientCallback then
|
||||||
|
ClientCallback.promise:resolve(...)
|
||||||
|
|
||||||
if QBCore.ClientCallbacks[name].callback then
|
if ClientCallback.callback then
|
||||||
QBCore.ClientCallbacks[name].callback(...)
|
ClientCallback.callback(...)
|
||||||
end
|
end
|
||||||
|
|
||||||
QBCore.ClientCallbacks[name] = nil
|
QBCore.ClientCallbacks[name..source] = nil
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|||||||
@@ -441,6 +441,7 @@ end
|
|||||||
---@param cb function
|
---@param cb function
|
||||||
---@param ... any
|
---@param ... any
|
||||||
function QBCore.Functions.TriggerClientCallback(name, source, ...)
|
function QBCore.Functions.TriggerClientCallback(name, source, ...)
|
||||||
|
if not source then return end
|
||||||
local cb = nil
|
local cb = nil
|
||||||
local args = { ... }
|
local args = { ... }
|
||||||
|
|
||||||
@@ -449,7 +450,7 @@ function QBCore.Functions.TriggerClientCallback(name, source, ...)
|
|||||||
table.remove(args, 1)
|
table.remove(args, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
QBCore.ClientCallbacks[name] = {
|
QBCore.ClientCallbacks[name..source] = {
|
||||||
callback = cb,
|
callback = cb,
|
||||||
promise = promise.new()
|
promise = promise.new()
|
||||||
}
|
}
|
||||||
@@ -457,8 +458,8 @@ function QBCore.Functions.TriggerClientCallback(name, source, ...)
|
|||||||
TriggerClientEvent('QBCore:Client:TriggerClientCallback', source, name, table.unpack(args))
|
TriggerClientEvent('QBCore:Client:TriggerClientCallback', source, name, table.unpack(args))
|
||||||
|
|
||||||
if cb == nil then
|
if cb == nil then
|
||||||
Citizen.Await(QBCore.ClientCallbacks[name].promise)
|
Citizen.Await(QBCore.ClientCallbacks[name..source].promise)
|
||||||
return QBCore.ClientCallbacks[name].promise.value
|
return QBCore.ClientCallbacks[name..source].promise.value
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user