Description
A licensed weapon-retail script where purchases are gated behind a server-verified weapon license and tracked stock for weapons, ammo and attachments, with every sale written to a purchase log. Servers buy it because firearm sales are a sensitive surface that needs real authority and an audit trail, not a client-side shop menu anyone can spoof.
Prompt Template
You are writing a FiveM resource for QBCore (exports['qb-core']:GetCoreObject()).
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/business/09-licensed-gun-shop.lua implements a counter proximity interaction with a loaded browse animation, a server-side stock table, a metadataβ¦
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 license check β gating the buy in NUI lets a modified client skip it. Verify
metadata.licences.weaponon the server. - Client stock/grant β decrementing stock or AddItem client-side never persists and enables infinite buys. Keep both server-side.
- Unloaded browse anim β TaskPlayAnim before the dict loads no-ops; require RequestAnimDict + wait-for-load.
Corrective re-prompt: Move the license verification, the stock decrement and the AddItem into the gun:purchase server handler, reject the purchase server-side when metadata.licences.weapon is missing, and clamp qty against the live stock before charging.
Framework Integration
ESX: use xPlayer.getInventoryItem/addWeapon, and read the license via exports.esx_license or xPlayer.getLicenses() instead of QB metadata.
QBCore: native β Player.PlayerData.metadata.licences.weapon, Player.Functions.RemoveMoney('bank', n), AddItem.
QBox: identical to QBCore but resolve with exports.qbx_core:GetPlayer(src); pairs cleanly with ox_inventory weapon handling.
Profit Potential
$160β$2000/mo on Tebex (expected ~$520). [INFERRED] priced inside the $50-389 standalone-script band against the signal-scraper corpus (tebex_snapshot n=100, median seller $11.85K/mo) for a stable license-gated weapon-shop niche.
Trend Signal
β stable β corpus: License-gated weapon-shop is a steady Tebex category; ox_inventory weapon-handling signal.
Sales Angle
Position as the compliant firearm retailer: real license gate, tracked stock and a purchase log admins can audit. Recommended Tebex price: $99.
Difficulty & Ship Time
intermediate Β· ships in 4-8h.