> For the complete documentation index, see [llms.txt](https://guardiandevlabs.gitbook.io/guardiandevlabs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guardiandevlabs.gitbook.io/guardiandevlabs/paid-scripts/guardian-staff-duty.md).

# Guardian Staff Duty

## Guardian Staff Duty

### What is Guardian Staff Duty?

**Guardian Staff Duty** is a simple staff clock-in system for FiveM.

Staff use **/clockin** to go on duty and **/clockout** to go off duty. That’s it. No bloated systems, no framework requirements.

While on duty, staff time is tracked and logged. A companion **Discord bot** allows management to view staff hours directly from Discord.

It’s built for servers that want clear staff activity tracking without overcomplication.

***

### How It Works

1. Staff run **/clockin** in-game
2. Their duty time starts tracking automatically
3. Staff run **/clockout** when finished
4. Hours are saved and synced
5. Management checks hours through Discord

***

## Features

### ⏱️ Clock In / Clock Out

* **/clockin** to start duty and end duty
* Prevents double clock-ins

***

### 📊 Staff Hour Tracking

* Tracks total time spent on duty
* Accurate session-based tracking
* Designed for long-term staff activity records

***

### 🤖 Discord Bot Integration

* Check staff hours directly from Discord
* View total hours per staff member
* Useful for reviews, promotions, and accountability

***

### 🛡️ Permission Controlled

* Restrict commands using ACE permissions or Discord roles
* Only authorized staff can clock in

***

### ⚙️ Standalone & Lightweight

* No ESX, QBCore, or framework required
* Low resource usage
* Drop-in ready

***

### 🧾 Optional Logging

* Log clock-in and clock-out actions
* Discord logging supported

***

### ✅ Summary

Guardian Staff Duty is a straightforward solution for tracking staff activity:

* Simple commands
* Accurate hour tracking
* Discord-based hour checks

Built for servers that just want staff hours tracked — nothing more, nothing less.\
\ <br>

<div><figure><img src="https://3588022547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3wXVmRxAwCAEFosr5PbF%2Fuploads%2FSSM5bUXQxyyycpvz1zAx%2FScreenshot_56.png?alt=media&amp;token=2a68f9c4-53be-4181-bd8b-61e0887a3b9d" alt=""><figcaption></figcaption></figure> <figure><img src="https://3588022547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3wXVmRxAwCAEFosr5PbF%2Fuploads%2FxQSqyFjHGyLOUkqQctQc%2FScreenshot_55.png?alt=media&amp;token=fb1ff00f-2cab-43d1-8ad3-7d7aa11f51d9" alt=""><figcaption></figcaption></figure> <figure><img src="https://3588022547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3wXVmRxAwCAEFosr5PbF%2Fuploads%2FRZwWU7CJFMpGeo8XquAP%2FScreenshot_53.png?alt=media&amp;token=e1db52d7-f1eb-46a8-bdb8-0bea69dea690" alt=""><figcaption></figcaption></figure> <figure><img src="https://3588022547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3wXVmRxAwCAEFosr5PbF%2Fuploads%2FsEXXXVuJkYaWtnohn2cz%2FScreenshot_52.png?alt=media&amp;token=a3d998c7-68fa-4517-9039-bee387c856e3" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://3588022547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3wXVmRxAwCAEFosr5PbF%2Fuploads%2FdFzn6pI78w2MKy4M1Kry%2Fimage_2025-12-26_181722184.png?alt=media&amp;token=2bea9ed6-5937-43b9-bf58-9c3a2fc17de1" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3588022547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3wXVmRxAwCAEFosr5PbF%2Fuploads%2FBfTcB9jEdr1djWCEdqJm%2Fimage_2025-12-26_181738643.png?alt=media&amp;token=efc98d2d-a9d7-43d5-833c-afec91a75c97" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3588022547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3wXVmRxAwCAEFosr5PbF%2Fuploads%2FevbFCHvXGbFvFf5uzvVl%2Fimage_2025-12-26_181759265.png?alt=media&amp;token=16a66d15-b42e-40ac-bdf0-d048e7af41de" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3588022547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3wXVmRxAwCAEFosr5PbF%2Fuploads%2F1dDUk09uqNrRbGqn8OVO%2Fimage_2025-12-26_181823236.png?alt=media&amp;token=f3d308c7-1543-4c1c-b5bc-f57b2960eea7" alt=""><figcaption></figcaption></figure>

```lua
Config = {}

Config.RequireClockInCommands = {}

Config.AcePermissions = {
    ClockIn = "group.admin",
    ClockOut = "",
    UseCommands = "group.clockedin"
}

Config.EnableExports = true

Config.Notifications = {
    UseOxLib = true,
    UseChat = false,
    ClockedIn = "Clocked in",
    ClockedOut = "Clocked out",
    CommandBlocked = "You must be clocked in!",
    NoPermission = "You do not have permission to use this command"
}

Config.ChatMessages = {
    Prefix = "Staff Clock-In",
    Colors = {
        success = {0, 255, 0},
        error = {255, 0, 0},
        warning = {255, 165, 0},
        info = {0, 150, 255}
    }
}

Config.Keybind = {
    Enabled = false,
    Key = "F7"
}

Config.AFK = {
    Enabled = true,
    CheckInterval = 300000,
    WarningTime = 60000,
    MaxDistance = 2.0,
    AutoClockOut = true
}

Config.Discord = {
    WebhookEnabled = true,
    WebhookURL = "",
    ClockInColor = 3066993,
    ClockOutColor = 15158332,
    AFKColor = 15105570,
    HoursResetColor = 3447003
}

Config.WeeklyReset = {
    Day = 1,
    Hour = 0,
    Minute = 0
}

Config.Database = {
    Library = "oxmysql",
    
    Host = "localhost",
    Port = 3306,
    Database = "fivem",
    Username = "root",
    Password = "",
    
    ClockedInTable = "staff_clockin_status",
    HoursTable = "staff_clockin_hours"
}


```

{% hint style="success" %}
Downloads\
\[Paid] -&#x20;
{% endhint %}
