Discord: https://discord.gg/jvDRQxCJ2h
Preview: https://youtu.be/HKZgGWcrs8g
Script Name: Duty Hours & Strikes System
Framework: QBCore, QBox, ESX
Dependencies: ox_lib, oxmysql
Description:
This script introduces a complete duty hours tracking and disciplinary strike system for roleplay servers. Every employee across any job — police, EMS, lawyers, or any custom department — automatically has their on-duty time tracked in real time, with weekly hour resets, manual hour adjustments, and a full strike system for accountability. With features like automatic Discord logging, per-job webhook routing, configurable duty intervals, and multi-framework support, this script brings a professional employee management layer to any roleplay department.
Features:
-
Automatic Duty Hour Tracking – every employee on duty automatically accumulates hours at a configurable interval, with no manual input required.
-
Configurable Hour Calculation – set exactly how many minutes count as an interval and how many hours are added per interval, giving full control over how fast duty hours build up.
-
Weekly Hours Reset – weekly hours automatically reset on a fully configurable day and time using a built-in cron scheduler, giving supervisors an accurate weekly activity snapshot.
-
Total & Weekly Hour Separation – total hours track lifetime duty time, while weekly hours reset regularly, letting management enforce weekly duty requirements.
-
Personal Job Info Command – employees can check their own name, job, rank, total hours, weekly hours, and strike status at any time with a simple command.
-
Target Employee Management Menu – supervisors can search any employee by Citizen ID or online Server ID and instantly view their full duty record.
-
Add / Deduct Hours – manually add or remove duty hours from any employee with a required reason, fully logged for accountability.
-
Reset Hours – instantly wipe an employee's total and weekly hours back to zero.
-
Full Record Deletion – permanently delete an employee's entire duty record, ideal for when staff are terminated.
-
Strike System – issue disciplinary strikes with a custom reason, an hours penalty (or zero), and an optional expiration date.
-
Strike Expiry & Auto-Cleanup – strikes automatically expire and clean themselves up once their expiration date passes, keeping records current.
-
Personal Strike Overview – employees can see whether they have an active strike and view full details of every strike issued against them, including who issued it, the reason, and the dates.
-
Remove Strike – supervisors can browse and deactivate any active strike directly from the management menu.
-
Active Strikes List – view every currently active strike within a specific job in one organized list.
-
Discord Webhook Logging – every add, deduct, reset, delete, strike, and strike removal is automatically sent to a fully configurable Discord webhook, separated per job and per action type.
-
Per-Job Webhook Routing – configure a unique Discord webhook for each job and each action, keeping police, EMS, and other departments logged separately.
-
Multi-Framework Support – fully compatible with QBCore, QBox, and ESX through a built-in bridge system, switchable with a single config line.
-
Fully Localized – complete English localization support, with an easy-to-edit locale file for adding or changing any text in the script.
-
Fully Configurable – adjust duty intervals, hour calculations, weekly reset timing, allowed jobs, and every text label directly from the config file.