Description
A working ESX gang roster: /ganginvite, /gangkick and /gangroster let a member manage the crew and open a NUI panel that lists members with their grade and a live online flag. Invites and kicks are commodity, so this earns its keep as the quality-of-life UI inside a larger gang bundle.
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/gangs/02-member-roster-panel.lua. It implements invite/kick/roster commands, server-side setJob membership writes with a grade gate on kick, and aβ¦
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 membership β the client sets a job to join/leave; anyone can self-add. Route every
setJobthrough the server. - Stale roster β building from a client cache shows wrong online status; enumerate
GetPlayers()server-side per request. - One-sided net event β the show/notify events on a single side leave the panel empty; both sides need
RegisterNetEvent+AddEventHandler.
Corrective re-prompt: "Remove any client-side job assignment. Resolve both players on the server with ESX.GetPlayerFromId, gate gangkick behind grade >= 3, and rebuild the roster by looping GetPlayers() inside the request handler so the online flag reflects who is actually connected."
Framework Integration
- ESX: native β
xPlayer.setJob(name, grade)is the membership write;getName()andjob.grade_labelfeed the panel rows. - QBCore: swap to
Player.Functions.SetGang(name, grade)and readPlayerData.gang; useQBCore.Functions.GetPlayers()for the roster. - QBox: identical to QBCore via
exports.qbx_core;GetPlayers()enumeration is unchanged.
Profit Potential
$80β$1200/mo on Tebex (expected ~$300). [INFERRED] $50-389 script band Γ est units/mo for a saturated niche, against the signal-scraper tebex_snapshot corpus (n=100, median seller $11.85K/mo).
Trend Signal
β saturated β inferred: Roster/invite UI ships in every free gang base; matrix lists 'member roster' but it is saturated as a standalone.
Sales Angle
Position it as the polished management UI of a gang pack. The NUI panel and live online status justify a $59-89 bundle price; on its own it competes with free bases, so always sell it attached.
Difficulty & Ship Time
beginner Β· ships in 2-4h.