Integration
crm-uipack does not replace ox_lib. Callbacks, zones, locale and cache stay on ox_lib. The bridge only redirects UI helpers (lib.notify, lib.showTextUI, lib.progressBar, lib.skillCheck, lib.alertDialog, lib.inputDialog, lib.registerContext, lib.registerMenu, …) to crm-uipack.
Include the bridge after @ox_lib/init.lua in the resource that calls lib.*. FiveM exports cannot send functions, so context / menu callbacks (onSelect, cb, onClose) stay in that resource.
Add the bridge
In each resource that already loads ox_lib:
shared_scripts {
'@ox_lib/init.lua',
'@crm-uipack/crm-bridge.lua',
}Do not remove @ox_lib/init.lua. Do not provide 'ox_lib'.
Client lib.notify({ ... }) then shows a crm-uipack notification. Server lib.notify(source, data) uses the crm-uipack server export.
You can use the following AI Prompt to add the bridge to all your resources at once:
Add the crm-uipack ox_lib UI bridge to every resource in this workspace that already uses ox_lib. Do not rewrite scripts to call crm-uipack exports.
Rules:
- In every fxmanifest.lua (or __resource.lua) that contains '@ox_lib/init.lua', add '@crm-uipack/crm-bridge.lua' in the SAME scripts table, immediately AFTER '@ox_lib/init.lua'.
- If the file already has '@crm-uipack/crm-bridge.lua', skip it.
- Do not remove ox_lib. Do not add provide 'ox_lib'. Do not add the bridge to resources that do not load ox_lib.
- Match existing quote style in that fxmanifest.
When finished, list every fxmanifest you changed.qbx_core notify event
qbx_core’s server Notify does not go through lib.notify. It fires:
TriggerClientEvent('ox_lib:notify', source, { ... })That event is handled by ox_lib, so you would still see ox_lib toasts for payday, duty, commands, and so on.
Change the event name to crm-uipack in qbx_core/server/functions.lua:
TriggerClientEvent('crm-uipack:notify', source, {
id = title,
title = title,
description = description,
duration = duration,
type = notifyType,
position = position,
style = notifyStyle,
icon = notifyIcon,
iconColor = notifyIconColor
})Leave the table as qbx builds it — crm-uipack already maps those ox keys. Search the rest of qbx_core for ox_lib:notify and ox_lib:defaultNotify and point them at crm-uipack:notify as well.