[PAID] Shin Priority System

:shield: Shin Priority System β€” Premium Tactical Priority HUD

:gem_stone: Multi-Department Β· ESX & QBCore Ready

:open_book: Description

Shin Priority is a premium, high-performance priority management system designed for professional FiveM roleplay servers. Built from the ground up with a cinematic Tactical CRT Monitor aesthetic, it provides your officers with a clean, modern, and immersive interface to manage priority calls across unlimited departments β€” all powered by a fully reactive Vue.js 3 frontend and FiveM’s GlobalState system for zero-lag, event-driven performance.


:sparkles: In Game Previews

:sparkles: Feature Highlights

:artist_palette: Tactical CRT Monitor UI

A stunning, high-end interface that stands out from every other priority script on the market.

  • Glassmorphism & Scanline Effects β€” authentic tactical terminal aesthetic with subtle CRT overlays.
  • Plus Jakarta Sans & JetBrains Mono typography β€” modern, readable, and premium.
  • Dynamic Pulse Animations β€” the UI reacts in real-time when a priority call is active.
  • Multi-Department Visual Stack β€” see all active priorities at once when multiple departments are engaged.

:pill: Compact Mode

  • Toggle to a sleek pill-shaped indicator during high-action scenarios like heists and pursuits. Keeps your screen clean while keeping everyone informed.

:hollow_red_circle: Micro-Circular Cooldowns (Zero-Tick UI)

  • Beautiful SVG progress rings that animate smoothly around department icons. Lightweight, elegant, and uses absolutely no ticks in the background.

:stopwatch: Live β€œIn Progress” Duration Counter

  • A real-time stopwatch showing exactly how long the current priority call has been active. Perfect for staff oversight and RP immersion.

:gear: Full In-Game UI Customization

  • Drag & Drop Repositioning β€” place the monitor anywhere on your screen.
  • Scale & Opacity Sliders β€” fine-tune the UI size and transparency to match your HUD.
  • Compact Mode Toggle β€” switch between full monitor and pill mode instantly.
  • Instant Reset Button β€” one click to snap the UI back to center-top.
  • All preferences are saved per-player using FiveM KVP storage β€” persistent across sessions, no database needed.

:office_building: Unlimited Multi-Department Support

  • Define as many departments as you need: Police, Sheriff, CID, State Troopers, etc.
  • Each department gets its own:
    • :white_check_mark: Custom chat commands (/safe, /hold, /inprogress, /cooldown, etc.)
    • :white_check_mark: Job-based permission checks
    • :white_check_mark: Custom styled chat templates with per-department branding
    • :white_check_mark: Independent priority state tracking

:high_voltage: Event-Driven Architecture (Zero Loops)

  • Powered entirely by FiveM GlobalState and State Bag Change Handlers.
  • No polling loops, no ticks, no intervals on the client β€” the UI only updates when state actually changes.
  • Minimal resource usage when idle. Your server will thank you.

:speaker_high_volume: Configurable Audio Cues

  • Built-in sound effects for each priority transition:
    • :red_circle: In Progress β€” alert tone
    • :orange_circle: Cooldown β€” confirmation tone
    • :green_circle: Safe β€” all-clear tone
  • Uses native GTA V sound libraries β€” no external audio files required.
  • Fully configurable in config.lua β€” change sound names, libraries, or disable entirely.

:globe_with_meridians: Full Multilingual / Locale Support

  • Every user-facing string β€” status labels, notifications, chat messages, system logs β€” is stored in a single Config.Locale table.
  • Translate the entire script to any language with zero code changes.

:scroll: Discord Webhook Logging

  • Built-in embed-style Discord logging for full staff oversight.
  • Logs include: action type, player name, identifier, department, and server timestamp.
  • Toggle on/off with a single config flag.

:hammer_and_wrench: Framework Agnostic

  • Native bridge support for both ESX and QBCore.
  • Also works standalone β€” no framework lock-in.

:video_game: Commands

:police_car: Officer Commands (per-department, fully customizable in config)

Command Action
/safe Reset the priority status to Safe.
/hold Place the priority on Hold.
/inprogress Start a priority call β€” sends a server-wide alert.
/cooldown Begin the configurable cooldown timer.
/resetpcd Manually reset the cooldown and return to Safe.

:light_bulb: Each department gets its own unique set of commands (e.g., /ssafe, /shold, /sinprogress for Sheriff). All command names are fully customizable in config.lua.

:hammer_and_wrench: Utility & Admin Commands

Command Description
/prioritysettings Open the in-game NUI settings panel (position, scale, mode).
/checkcooldowns View all active cooldown timers via ox_lib context menu.
/adminresetpriority Admin command to force-reset any department (ACE protected).
/priorityresetui Emergency reset β€” restores all UI settings to factory default.

:satellite_antenna: Developer API β€” Easy Integration

Integrate Shin Priority directly into your heist, robbery, or event scripts:

Client & Server Export

-- Get the current status of any department
local status = exports.shin_priority:getPriorityStatus('police')
-- Returns: { status = 'inprogress', status_label = 'πŸ”΄ In Progress', name = '(Officer Name)', timer = 0, max = 15 }

Server-Side External Trigger

-- Force a priority state from another resource (e.g., a bank robbery script)
exports.shin_priority:setPriorityStateExternal('police', 'inprogress', 'Triggered by Pacific Bank Heist')

-- Automatically start a cooldown after an event
exports.shin_priority:setPriorityStateExternal('police', 'cooldown', 'Pacific Bank Heist concluded')

:electric_plug: Perfect for: auto-triggering priorities from heist scripts, robbery resources, gang war systems, or any event that should lock down priority calls.


:gear: Configuration At A Glance

All settings live in a single, well-documented config.lua:

Setting Description Default
TimerMaxMinutes Duration of the cooldown timer (in minutes) 15
AutoSafeMinutes Auto-reset from Hold to Safe after X minutes on start 15
EnableDurationCounter Show live β€œIn Progress” duration stopwatch true
EnableWebhookLogging Toggle Discord webhook logging false
DebugMode Enable verbose console logging for development false
AudioSettings Configure sound effects for each status transition Enabled
Locale All user-facing strings for easy translation English
Departments Define unlimited departments with commands & styling Police + Sheriff

:package: Installation

  1. Ensure ox_lib is installed on your server.
  2. Place the shin_priority folder into your server’s resources directory.
  3. Add the following to your server.cfg:
ensure ox_lib
ensure shin_priority
  1. Open config.lua and customize departments, timers, locale, and webhook settings to your liking.
  2. Restart your server β€” you’re live! :white_check_mark:

:pushpin: Dependencies

Dependency Required Link
ox_lib :white_check_mark: Required GitHub
ESX or QBCore :high_voltage: Optional Works standalone or with either framework via built-in bridge

:link: Links & Support:

Code is accessible No
Subscription-based No
Lines (approximately) 850
Requirements ox_lib
Support Yes