Description
A working ESX/QBCore dealer skill tree: selling and cooking earns server-tracked XP, leveling up awards skill points, and players spend points on branching nodes that grant discounts, higher yields, and better street prices. This is the lightweight retention layer crime servers sell to turn one-off dealing into a progression grind.
Prompt Template
You are writing a FiveM resource for a generic framework via exports['gencore']:getObject().
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/drugs/29-dealer-reputation-skill-tree.lua. It implements a server per-identifier tree, an XP handler that levels up and awards points, and anβ¦
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-held progression β Claude tracks XP and unlocks on the client; a modder maxes instantly. Keep XP, points and unlocks in a server per-identifier table.
- Unvalidated unlock β accepting a client unlock without checking req/cost grants free perks; validate level and points server-side.
- One-sided net event β defining
rep:sync/rep:unlockNodeon one side breaks the round-trip; both sides useRegisterNetEvent+AddEventHandler. - Trusting client XP β letting the client send arbitrary XP amounts inflates levels; award XP only from server-validated drug actions.
Corrective re-prompt: "Store each player's level, xp, points and unlocked nodes in a server table keyed by identifier. In rep:unlockNode, reject the request unless the node exists, is not already unlocked, the level meets req and points cover cost β then spend points server-side and sync. The client may only render and request."
Framework Integration
- ESX: resolve with
exports['es_extended']:getSharedObject(); key the tree byxPlayer.identifierand award XP from your drug-sale handlers. - QBCore: use
exports['qb-core']:GetCoreObject(); key byPlayer.PlayerData.citizenidand persist the tree viaPlayer.Functions.SetMetaData('dealerrep', tree). - QBox: use
exports.qbx_core:GetPlayer(src)andPlayer.PlayerData.citizenid; the XP/unlock 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 progression add-on carries steady unit volume.
Trend Signal
β stable β inferred: XP/skill-tree progression is a familiar pattern; my reasoning β a stable add-on layer.
Sales Angle
The retention layer that turns dealing into a grind worth repeating β server-validated XP unlocking real discounts, yields and prices that bolt onto any drug pack. Recommended Tebex price $149.
Difficulty & Ship Time
beginner Β· ships in 3-5h.