Configuration

Page dedicated to how to configure our Notify

Languages

You can set the language of the script in the configuration file.

  • en: English

  • fr: French

  • pl: Polish

  • de: German

  • es: Spanish

Production Mode

Defines the mode in which the script operates, intended for general or production use:

  • Production: If true, enables recommended settings optimized for live/production servers. This is the suggested option for most users, especially non-technical ones.

Defines the command and keybind used to open the notification settings menu:

  • MenuCommand.Enabled: If true, enables the settings menu for players.

  • MenuCommand.Name: Name of the command used to open the menu (e.g., /notifysettings).

  • MenuCommand.Key: Keybind to open the menu (e.g., 'F9'). Set to false to disable the keybind.

Reset Command

Defines the command used to reset notification settings to default values:

  • ResetCommand.Enabled: If true, enables the reset command for players.

  • ResetCommand.Name: Name of the command used to reset settings (e.g., /qf_resetnotify).

Debug Commands

Enables a set of debug/test commands used during development. Do not use in production!

  • DebugCommands.Enabled: If true, allows access to testing commands for notifications and UI elements: • /notify_error/notify_success/notify_info/notify_warning/progress/textui

🔒 Recommended to disable (false) or set Config.Production = true on live servers.

Advanced

Defines advanced internal settings for stability and protection:

  • Advanced.SafeguardsEnabled: If true, enables internal safety checks to prevent potential issues or misuse during script execution. Recommended to keep enabled.

Other settings

Handles conditional logic based on configuration settings:

  • When Config.Production is set to true: • DebugCommands.Enabled is automatically disabled. • Advanced.SafeguardsEnabled is enforced for stability.

  • If either MenuCommand.Enabled or MenuCommand.Key is set: • Registers a keybind for opening the notification settings menu using RegisterKeyMapping. • This allows players to access the menu via a keyboard shortcut (e.g., F9).

Compatibility - ox_lib

Replace function lib.notify with this from the screenshot.

Exports - Client-side

These native exports allow client-side scripts to trigger notifications, progress bars, and text UI prompts safely and efficiently. All exports include type and length validation when Config.Advanced.SafeguardsEnabled = true.


📢 exports('notify', function(data) {...})

Displays a styled notification.

exports.qf_notify:notify({
    type = 'success',          -- string: 'success', 'info', 'error', 'warning'
    title = 'Notification',    -- string: max 100 characters
    description = 'You did it!', -- string: max 300 characters
    timeout = 5000             -- number: duration in milliseconds
})

Validation:

  • Ensures proper types (string / number)

  • Title max: 100 characters

  • Description max: 300 characters


exports('progress', function(data) {...})

Displays a timed progress bar with optional callback.

exports.qf_notify:progress({
    time = 5000,               -- number: duration in milliseconds (max 60000)
    text = 'Processing...',    -- string
    callback = function()
        print("Progress finished")
    end,
    force = false              -- (optional) bypass running progress
})

Validation:

  • Ensures callback is a valid function

  • Time must be ≤ 60000 ms

  • Only one progress bar can run at a time unless force = true


💬 exports('textui', function(data) {...})

Displays a temporary key-based text prompt on screen.

exports.qf_notify:textui({
    key = 'E',                        -- string: key shown in UI
    title = 'Interact',              -- string: max 100 characters
    description = 'Press E to use',  -- string: max 300 characters
    state = true                     -- boolean: true = show, false = hide
})

Validation:

  • Type safety on all fields

  • Character limits for title and description


🛡️ When Config.Advanced.SafeguardsEnabled = true, each export performs strict validation to prevent script errors or abuse. ✅ Use these exports to create unified and modern UI feedback in any of your client-side systems.

Triggers - Client-side & Server-side

🧩 Server → Client Events

🔔 qf_notify/showNotification

Displays a standard notification using the provided data.

TriggerClientEvent('qf_notify/showNotification', source, {
    type = 'success',
    title = 'Success',
    description = 'Action completed successfully!',
    timeout = 5000
})
  • Delegates to: exports.qf_notify:notify(data)

  • See: exports.qf_notify:notify(...)


qf_notify/showProgressBar

Displays a progress bar with optional callback (client-side only).

TriggerClientEvent('qf_notify/showProgressBar', source, {
    time = 7000,
    text = 'Processing...'
})
  • Delegates to: exports.qf_notify:progress(data)


💬 qf_notify/showTextUI

Displays a temporary text UI element above the minimap or at the screen edge.

TriggerClientEvent('qf_notify/showTextUI', source, {
    state = true,
    key = 'E',
    title = 'Talk to the NPC',
    description = 'Press E to interact.'
})
  • Delegates to: exports.qf_notify:textui(data)

📌 These events can be triggered from both client and server, making integration with other scripts easy and flexible.

🧩 Client → Client Events (local usage)

These events allow you to trigger notifications, progress bars, and text UI directly from another client-side script.


🔔 qf_notify/showNotification

Displays a notification with the given data:

TriggerEvent('qf_notify/showNotification', {
    type = 'info',
    title = 'Info',
    description = 'This is a local test notification.',
    timeout = 4000
})
  • Internally calls: exports.qf_notify:notify(data)

  • Supported types: success, info, error, warning


qf_notify/showProgressBar

Displays a progress bar:

TriggerEvent('qf_notify/showProgressBar', {
    time = 5000,
    text = 'Cleaning up area...'
})
  • Internally calls: exports.qf_notify:progress(data)

  • Does not support callback when triggered via event (only via export)


💬 qf_notify/showTextUI

Displays a key-based UI prompt:

TriggerEvent('qf_notify/showTextUI', {
    state = true,
    key = 'E',
    title = 'Open Locker',
    description = 'Press E to open your locker.'
})
  • Internally calls: exports.qf_notify:textui(data)


✅ Use these events when triggering qf_notify features locally from another client-side script, without the need to go through the server.

Last updated