Description
A working ESX gang radio utility: each member is automatically placed on a private voice channel derived from their gang, so a crew gets secure comms without anyone typing a frequency. The channel mapping is computed server-side from the job name and re-checked on every job change, so leaving the gang drops you off the channel. It is a steady, low-effort add-on built on pma-voice.
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/30-gang-radio-frequency.lua. It implements a server-side deterministic channel mapping, an assign step that joins or leaves based on the liveβ¦
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 picks the channel β letting the client choose a frequency lets it tune into any gang; derive the channel from the job on the server.
- Never leaves on gang change β not handling
setJob/grade-0 leaks voice across crews; explicitly leave the channel when the player is no longer a member. - No server round-trip β setting the channel without a server check skips membership validation; gate every join through a server event reading the live job.
Corrective re-prompt: Compute the channel only on the server via channelFor(job.name) and send it with TriggerClientEvent('gangradio:join', src, channel). Re-run assign on esx:setJob and leave the channel (setRadioChannel(0)) whenever the job is unemployed or grade < 1, so membership is always re-checked server-side.
Framework Integration
- ESX:
exports['es_extended']:getSharedObject(); gang viaxPlayer.getJob().name, react toesx:setJob. - QBCore:
exports['qb-core']:GetCoreObject(); readPlayer.PlayerData.gang.nameand react toQBCore:Server:OnJobUpdate/gang update. - QBox:
exports.qbx_core:GetPlayer(src)andplayer.PlayerData.gang; same channelFor derivation and pma-voice call.
Profit Potential
$150β$1800/mo on Tebex (expected ~$450). [INFERRED] priced inside the $50-389 FiveM script band against a corpus median seller of $11.85K/mo (signal-scraper tebex_snapshot n=100), scaled down for a stable comms-utility niche.
Trend Signal
β stable β inferred: Gang-scoped radio frequency (pma-voice/saltychat) is a steady comms utility auto-gated by membership; inferred.
Sales Angle
Position as plug-and-play private comms every crew wants β auto-joined, no manual frequency to share or leak. Recommended Tebex price $49-69.
Difficulty & Ship Time
beginner Β· ships in 1-2h.