External deferrals
Example for QB-Core
Old code
-- Path: qb-core/server/events.lua
local function OnPlayerConnecting(name, setKickReason, deferrals)
local player = source
local license
local identifiers = GetPlayerIdentifiers(player)
deferrals.defer()
-- mandatory wait!
Wait(0)
deferrals.update(string.format('Hello %s. Validating Your Rockstar License', name))
for _, v in pairs(identifiers) do
if string.find(v, 'license') then
license = v
break
end
end
-- mandatory wait!
Wait(2500)
deferrals.update(string.format('Hello %s. We are checking if you are banned.', name))
local isBanned, Reason = QBCore.Functions.IsPlayerBanned(player)
local isLicenseAlreadyInUse = QBCore.Functions.IsLicenseInUse(license)
Wait(2500)
deferrals.update(string.format('Welcome %s to {Server Name}.', name))
if not license then
deferrals.done('No Valid Rockstar License Found')
elseif isBanned then
deferrals.done(Reason)
elseif isLicenseAlreadyInUse then
deferrals.done('Duplicate Rockstar License Found')
else
deferrals.done()
Wait(1000)
TriggerEvent('connectqueue:playerConnect', name, setKickReason, deferrals)
end
end
New code
-- Path: qb-core/server/events.lua
local function OnPlayerConnecting(name, setKickReason, deferrals)
local player = source
local license
local identifiers = GetPlayerIdentifiers(player)
deferrals.defer()
-- mandatory wait!
Wait(0)
deferrals.update(string.format('Hello %s. Validating Your Rockstar License', name))
for _, v in pairs(identifiers) do
if string.find(v, 'license') then
license = v
break
end
end
-- mandatory wait!
Wait(2500)
deferrals.update(string.format('Hello %s. We are checking if you are banned.', name))
local isBanned, Reason = QBCore.Functions.IsPlayerBanned(player)
local isLicenseAlreadyInUse = QBCore.Functions.IsLicenseInUse(license)
Wait(2500)
deferrals.update(string.format('Welcome %s to {Server Name}.', name))
if not license then
deferrals.done('No Valid Rockstar License Found')
elseif isBanned then
deferrals.done(Reason)
elseif isLicenseAlreadyInUse then
deferrals.done('Duplicate Rockstar License Found')
else
--[[
Wait(1000)
TriggerEvent('connectqueue:playerConnect', name, setKickReason, deferrals)
]]
deferrals.done()
end
end
Disable default QB-Core queue
To disable the default QB-Core queue, you can delete the connectqueue
script folder and remove the dependency in qb-core script
Example Path: qb-core/fxmanifest.lua
-- OLD CODE
dependencies {
'oxmysql',
'progressbar',
'connectqueue'
}
-- NEW CODE
dependencies {
'oxmysql',
'progressbar'
}
Last updated