Description
An ESX piercing studio: players pick ear, nose, brow and lip piercings applied as ped props per slot for a fee, with the full set saved to the character. Piercing overlays are a recurring social-RP request that base appearance packs leave out — a cheap, steady-demand add.
Prompt Template
You are writing a FiveM resource for esextended (exports['esextended']: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/appearance/18-piercing-studio-overlays.lua. It implements per-slot piercing props (ear/nose/brow/lip) applied or cleared on preview with a piercing…
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 fee — Claude charges on the client; a packet applies piercings for free. Check funds and
removeMoneyon the server. - Anim before load —
TaskPlayAnimno-ops if the dict is not loaded; alwaysRequestAnimDict+while not HasAnimDictLoaded(dict) do Wait(0) end. - One-sided net event — defining
pierce:apply/pierce:appliedon only one side breaks the apply round-trip; both sides useRegisterNetEvent+AddEventHandler.
Corrective re-prompt: "Charge the fee on the server: on pierce:apply check xPlayer.getMoney(), removeMoney(cost), clamp each slot and xPlayer.set('piercings', clean) before firing pierce:applied. The client may preview props freely but must only persist what the server confirms."
Framework Integration
- ESX: as written —
xPlayer.getMoney()/xPlayer.removeMoney(cost)andxPlayer.set/get('piercings'). - QBCore: swap to
exports['qb-core']:GetCoreObject()andPlayer.Functions.RemoveMoney('cash', cost); persist the set in metadata. - QBox: use
exports.qbx_core:GetPlayer(src)thenplayer.Functions.RemoveMoney; the per-slot prop logic is identical.
Profit Potential
$150–$2000/mo on Tebex (expected ~$500). [INFERRED] priced inside the $50-389 script band against the signal-scraper tebex_snapshot corpus (n=100, median seller $11.85K/mo); a stable social-RP cosmetic niche carries steady demand.
Trend Signal
→ stable — inferred: Piercing overlays are a recurring social-RP request usually missing from base appearance packs.
Sales Angle
The piercing studio base appearance packs forget — a cheap per-slot cosmetic every social-RP server can drop in. Recommended Tebex price $89.
Difficulty & Ship Time
beginner · ships in 2-4h.