Description
An employee roster for ESX or QB: the boss hires and fires players into a society, assigns them a ranked permission tier, and an on-shift clock-in determines what each rank may do. The rank, the roster and every permission check are server-owned so no one can self-promote — it is the management spine every business and job script quietly depends on.
Prompt Template
You are writing a FiveM resource for esextended (stable, exports getSharedObject).
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 lives at content/expected-outputs/business/02-employee-roster-and-roles.lua. It implements a server-owned society roster keyed by identifier, a self-only clock-in, and…
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-trusted rank — Claude lets the client decide who may hire or promote; resolve the actor's rank server-side keyed by source and gate every mutation there.
- Anim before load — the clock-in
TaskPlayAnimno-ops if the dict is not loaded; alwaysRequestAnimDict+ aHasAnimDictLoadedwait loop. - One-sided net event —
roster:syncon only one side leaves the boss menu stale after a hire/fire; both sides useRegisterNetEvent+AddEventHandler.
Corrective re-prompt: "In server.lua resolve the actor's own rank from the societies table before each hire/fire/promote, reject when it is below manager or not above the target's rank, mutate only after the check, then TriggerClientEvent roster:sync — never read the rank the client sends."
Framework Integration
- ESX:
local ESX = exports['es_extended']:getSharedObject(); map ranks ontoesx_societyjob grades andxPlayer.setJob(society, grade)on hire. - QBCore:
local QBCore = exports['qb-core']:GetCoreObject(); usePlayer.Functions.SetJob(society, grade)and gate onPlayer.PlayerData.job.grade.level. - QBox: use
exports.qbx_core:GetPlayer(src)withSetJob, and read the grade level from the same job object.
Profit Potential
$150–$2000/mo on Tebex (expected ~$500). [INFERRED] within the $50-389 script band against the signal-scraper tebex_snapshot corpus (n=100, median seller $11.85K/mo), sized for a stable management-feature niche.
Trend Signal
→ stable — corpus: esx_society/qb-management hiring is a standard top-seller management feature in scraped bundles.
Sales Angle
Position as the management spine of a business or job bundle — hiring, ranks and on-shift gating that every server eventually needs. Recommended Tebex price $99.
Difficulty & Ship Time
intermediate · ships in 1 day.