Notification System

:rotating_light: Notification System


:sparkles: Features:

  • :white_check_mark: Customizable Notifications (colors, icons, sounds, durations, etc)
  • :loud_sound: Text-to-Speech Support
  • :repeat: Multiple Styles: success, error, info, police, etc.
  • :wrench: Simple Integration: Use exports['prc-notify']:ShowNotification(...)
  • :dart: Client Configurable
  • :shield: Escrow Protected (Config is open/editable)

:open_file_folder: Config Example

Config = {}

Config.Debug = true -- Enables /notify test command
Config.Volume = 1.0
Config.DefaultDuration = 5000
Config.Position = 'right' -- 'left' or 'right'
Config.TextToSpeech = true -- Enable Text-to-Speech

Config.Notifications = {
    ['success'] = {
        icon = 'fa-solid fa-check',
        title = 'Success',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #00b09b 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(0, 176, 155, 0.3)',
        borderColor = '#00b09b',
        progressColor = '#00b09b'
    },
    ['error'] = {
        icon = 'fa-solid fa-xmark',
        title = 'Error',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #ff5f6d 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(255, 95, 109, 0.3)',
        borderColor = '#ff5f6d',
        progressColor = '#ff5f6d'
    },
    ['info'] = {
        icon = 'fas fa-info-circle',
        title = 'Info',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #2193b0 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(33, 147, 176, 0.3)',
        borderColor = '#2193b0',
        progressColor = '#2193b0'
    },
    ['warning'] = {
        icon = 'fas fa-exclamation-triangle',
        title = 'Warning',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #f7b733 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(247, 183, 51, 0.3)',
        borderColor = '#f7b733',
        progressColor = '#f7b733'
    },
    ['custom'] = {
        icon = 'fas fa-star',
        title = 'Custom',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #8E2DE2 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(142, 45, 226, 0.3)',
        borderColor = '#8E2DE2',
        progressColor = '#8E2DE2'
    },
    ['police'] = {
        icon = 'fas fa-shield-alt',
        title = 'Police',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #1e3c72 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(0, 123, 255, 0.3)',
        borderColor = '#1e3c72',
        progressColor = '#1e3c72'
    },
    ['ambulance'] = {
        icon = 'fas fa-ambulance',
        title = 'Ambulance',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #eb3349 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(255, 80, 80, 0.3)',
        borderColor = '#eb3349'
    },
    ['mechanic'] = {
        icon = 'fas fa-wrench',
        title = 'Mechanic',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #eb3349 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(255, 80, 80, 0.3)',
        borderColor = '#eb3349',
        progressColor = '#eb3349'
    },
    ['recycle'] = {
        icon = 'fa-solid fa-recycle',
        title = 'Recycle',
        sound = "android.mp3",
        duration = 5000,
        color = '#FFFFFF',
        background = 'linear-gradient(135deg, #08C098 0%, #00000000 100%)',
        boxShadow = '0 4px 15px rgba(8, 192, 152, 0.37)',
        borderColor = '#00FFFF',
        progressColor = '#08C098'
    }
}

:gear: Usage Example

exports['prc-notify']:ShowNotification('Success', 'Your action was successful!', 'success')

:camera_flash: Preview:

:clapper: Video Showcase: https://youtu.be/xZMoFHRcTio

:link: Links:

| Code is accessible |No|
| Subscription-based |No|
| Lines (approximately) |~120|
| Requirements |NO|
| Support |Yes|