Skip to Content
UI PackIntegration

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:

fxmanifest.lua
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.