QBCore
Drop-in overrides that route QBCore.Functions.Notify and QBCore.Functions.Progressbar to the Bablo HUD.
Client Notify
Replace QBCore.Functions.Notify in qb-core/client/functions.lua:
function QBCore.Functions.Notify(text, texttype, length, icon)
local title, description
if type(text) == 'table' then
title = text.text or 'Notification'
description = text.caption or ''
else
title = 'Notification'
description = text or ''
end
-- QBCore default type is "primary" — bablo-hud accepts it natively.
exports['bablo-hud']:Notify(
title,
description,
texttype or 'primary',
length or 5000
)
endServer Notify
QBCore.Functions.Notify on the server simply triggers the QBCore:Notify net event, which the client side dispatches through the function above. Wire it to the HUD by adding this handler in any client script (or replacing the existing one in qb-core/client/events.lua):
RegisterNetEvent('QBCore:Notify', function(text, texttype, length)
QBCore.Functions.Notify(text, texttype, length)
end)If you've already replaced QBCore.Functions.Notify above, this single line forwards every server-side notify into the HUD.
Progress Bar
Replace QBCore.Functions.Progressbar in qb-core/client/functions.lua:
function QBCore.Functions.Progressbar(name, label, duration, useWhileDead, canCancel, disableControls, animation, prop, propTwo, onFinish, onCancel)
local cancelled = false
local props = {}
if prop and prop.model then props[#props + 1] = prop end
if propTwo and propTwo.model then props[#props + 1] = propTwo end
exports['bablo-hud']:ProgressBar({
duration = duration,
label = label,
canCancel = canCancel,
disable = disableControls,
anim = animation,
prop = #props > 0 and props or nil,
})
-- QBCore exposes a cancel command — keep it working with the HUD.
local cancelHandler
if canCancel then
cancelHandler = RegisterCommand('cancelprogress', function()
cancelled = true
exports['bablo-hud']:StopProgressBar()
end, false)
RegisterKeyMapping('cancelprogress', 'Cancel progress', 'keyboard', 'X')
end
Wait(duration)
if cancelled then
if onCancel then onCancel() end
else
if onFinish then onFinish() end
end
endQBCore's old NUI progressbar (qb-core/html/progressbar.html) becomes unused
after this override. You can leave it alone — nothing else references it —
or remove it if you want a smaller resource footprint.
Restart
After editing qb-core, restart the resource and any script that caches a reference to QBCore.Functions.Notify / QBCore.Functions.Progressbar at startup. A full server restart is the safest option.