Here's a Tebex description for sc_timeclock:
β± Timeclock β Advanced Employee Time Tracking for QBX/QBCore
Track, manage, and report employee hours automatically across all your server's jobs β no manual logging required.
Timeclock is a fully-featured employee time tracking system built natively for QBX/QBCore with ps-multijob support. It automatically clocks employees in and out based on duty state, handles disconnects gracefully, and gives bosses a powerful in-game management suite backed by Discord webhook reporting.
π§ Core Features
- Automatic clock in/out on duty toggle, job swap, login and logout β no manual interaction needed
- ox_target clock-in/out zones configurable per job, visible to all players with contextual options based on employment
- Full session tracking with per-session duration, weekly totals, all-time totals, and job playtime
- Disconnect protection β open sessions are automatically closed and logged if a player crashes or force-quits
- Multi-job support via ps-multijob, qbx_multijob, and qbx_core's built-in multijob system
-
Boss grade detection via
qbx_core:IsGradeBossβ no manual grade config required
π Boss Management Menu
Bosses access a full management suite directly in-game via /managetimesheet or the ox_target zone:
- π Send Hours Report β posts a full Discord embed with every employee's weekly hours, total hours, playtime, and current duty status
- π’ Force Clock In β manually clock in a specific employee
- π΄ Force Clock Out β manually clock out a specific employee
- β Add Time β manually add hours/minutes to an employee's timesheet
- β Deduct Time β remove hours/minutes from an employee's timesheet
- π Reset All Clocks β wipe all recorded hours for the job (with confirmation)
π‘οΈ Admin Tools
-
/timesheet [job]β admin command to open the management menu for any configured job (requires ace permission) -
/timecheck [id]β boss command to check any online player's clock status across all shared jobs -
generatereportsβ server console command to fire the full hours report for every configured job at once - Full ace permission support (
admin) for granular access control
π‘ Discord Integration
Every clock event fires a rich Discord embed to a configurable per-job webhook:
- π’ Shift Started / Resumed
- π΄ Shift Ended / Auto-Ended
- π Job Swap clock in/out
- π£ Force clock in/out
- ββ Time adjustments
- π Full hours reports with weekly, total, and playtime breakdowns
π¬ Mail Integration
Automatic in-game mail notifications on:
- Clock out (with total hours)
- Auto clock-out on disconnect
- Force clock-out by management
- Time adjustments (add/deduct)
π Developer Exports
Full server-side export API for integration with other resources:
lua
exports['stimeclock']:ClockIn(citizenid, job, forcedBy)
exports['timeclock']:ClockOut(citizenid, job, forcedBy)
exports['timeclock']:IsClockedIn(citizenid, job)
exports['timeclock']:GetTotalSeconds(citizenid, job)
exports['timeclock']:GetWeeklySeconds(citizenid, job)
exports['timeclock']:GetPlayerStatus(citizenid)
exports['timeclock']:AddTime(citizenid, job, seconds, addedBy)
exports['timeclock']:DeductTime(citizenid, job, seconds, deductedBy)
exports['timeclock']:ResetClocks(job, resetBy)
exports['timeclock']:GetEmployees(job)
exports['timeclock']:CloseOpenSessions(citizenid)
π¦ Dependencies
- qbx_core
- ox_lib
- ox_target
- oxmysql
- ps-multijob (optional)
βοΈ Configuration
Simple config file covering:
- Per-job clock-in/out coords, webhook URL, and label
- Multijob table/column names
- Mail resource and sender names
- Discord embed colours
- Debug mode toggle