Description
A raffle booth where players buy tickets toward a vehicle or item prize, the server records each buyer's ticket count, and an admin closes the draw to run a weighted random pick (more tickets = better odds). Servers buy it because it's an economy sink and a recurring event hook with a tamper-proof server-side draw.
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 at content/expected-outputs/casino/29-raffle-prize-draw.lua implements a proximity booth with a buy animation, a server-side ticket ledger with a per-player cap, and a weighted…
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-run draw, Claude runs the draw and picks the winner on the client; keep the ledger and weighted draw server-side.
- Anim before load, the buy
TaskPlayAnimno-ops unless the dict is loaded first viaRequestAnimDict+while not HasAnimDictLoaded(dict) do Wait(0) end. - One-sided net event, defining
raffle:bought/raffle:drawnon only one side breaks the round-trip; both sides needRegisterNetEvent+AddEventHandler.
Corrective re-prompt: Hold the ticket ledger in server.lua keyed by source and run the weighted draw server-side; the client only renders what the server sends. Validate the ticket count and per-player cap server-side and charge via removeMoney. Restrict the draw to a server-only RegisterCommand, guard the buy animation with RequestAnimDict + a HasAnimDictLoaded wait loop, and define every round-trip event with RegisterNetEvent + AddEventHandler on both sides.
Framework Integration
- ESX:
exports['es_extended']:getSharedObject(), thenxPlayer.getMoney()/removeMoneyfor ticket sales andaddInventoryItemfor the prize. - QBCore: swap to
exports['qb-core']:GetCoreObject()and usePlayer.Functions.RemoveMoney('cash', cost)/Player.Functions.AddItem('raffle_prize', 1)offQBCore.Functions.GetPlayer(src). - QBox: use
exports.qbx_core:GetPlayer(src)withplayer.Functions.RemoveMoneyand the ox_inventoryAddItemexport; identical server-authoritative flow.
Profit Potential
$150-$1800/mo on Tebex (expected ~$450), priced inside the $50-389 FiveM script band against a stable prize-sink niche; top sellers clear around $11.85K/mo (comparable Tebex).
Trend Signal
→ stable, inferred: Domain: event prize-sink (vehicle/item raffles), stable demand.
Sales Angle
Sell it as an economy prize-sink and event driver, admins close the draw to award a vehicle or item. Recommended Tebex price $79.
Difficulty & Ship Time
beginner · ships in 3-5h.
