Features
Integrations
QBCore

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
    )
end

Server 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
end
⚠️

QBCore'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.