Description
A lightweight duty roster: officers clock in and out, the server tracks patrol minutes and pays per minute on clock-out, assigns sector/beat labels, and exposes a supervisor-only roster panel with a live on-duty count. Every department needs the clock-in/beats/patrol-pay loop, which makes it an easy utility sale.
Prompt Template
You are writing a FiveM resource (client.lua + server.lua) for a police duty roster on…
The full prompt template and its reference Lua are part of a one-time pack. Pick your depth — both are lifetime access, no subscription, ever.
- 60 prompts + syntax-validated reference Lua
- Lifetime access — pay once
- All 510 prompts — the full library
- Per-prompt profit/trend intelligence (CSV + playbook)
- Lifetime free updates — new niches as the market moves
$49 for 60 · $199 for all 510 + intelligence — one-time, no subscription.
Expected Output
The reference Lua at content/expected-outputs/police/22-duty-roster-patrol-zones.lua implements a single server-side roster table, a clock-in/out toggle that computes patrol minutes and pay on the…
The full prompt template and its reference Lua are part of a one-time pack. Pick your depth — both are lifetime access, no subscription, ever.
- 60 prompts + syntax-validated reference Lua
- Lifetime access — pay once
- All 510 prompts — the full library
- Per-prompt profit/trend intelligence (CSV + playbook)
- Lifetime free updates — new niches as the market moves
$49 for 60 · $199 for all 510 + intelligence — one-time, no subscription.
Known Failure Modes & Corrective Prompt
- Client-side timekeeping/pay — tracking duty time and computing pay locally lets players inflate hours; the server owns the clock and the payout.
- Drifting on-duty count — a locally derived count diverges between clients; the server holds the roster table and broadcasts the count.
- Ungated panel — exposing the supervisor panel without a rank check leaks the roster; gate
roster:requestPanelserver-side.
Corrective re-prompt: "Keep the roster table, the os.time clock, the on-duty count, and the payout entirely on the server. On clock-out the server computes minutes and pays via the framework, then broadcasts the new count; roster:requestPanel returns data only after isSupervisor(src) passes. The client just sends commands and renders what it receives."
Framework Integration
- ESX: resolve
exports['es_extended']:getSharedObject(), pay viaxPlayer.addMoney, and gate the panel onxPlayer.job.grade >= bossGrade. - QBCore: use
exports['qb-core']:GetCoreObject(), pay withPlayer.Functions.AddMoney('bank', pay), and checkjob.isbossfor the panel. - QBox: call
exports.qbx_core:GetPlayer(src)and integrate the on/off-duty toggle withqbx_corejobondutystate so dispatch sees the same status.
Profit Potential
$150–$1800/mo on Tebex (expected ~$450). [INFERRED] priced inside the $50-389 FiveM script band for a stable admin-utility niche; corpus median seller $11.85K/mo (signal-scraper tebex_snapshot n=100).
Trend Signal
→ stable — inferred: Clock-in/beat-assignment rosters are a simple, established admin staple; low complexity, steady utility demand.
Sales Angle
Sell as the lightweight duty-management layer every department needs — clock-in, beats, and patrol pay in one drop-in resource. Recommended Tebex price $79.
Difficulty & Ship Time
beginner · ships in 2-4h.