Description
A working QBCore crafting skill progression system: every craft awards XP toward a proficiency level, and that level raises the success chance, the quality of the output and the speed of the craft. The server owns the XP table, the level curve and the success roll, so the proficiency can't be spoofed. This is the per-player progression spine that deepens paid-RP retention around a crafting economy.
Prompt Template
You are writing a FiveM resource for qb-core (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 lives at content/expected-outputs/crafting/11-crafting-skill-progression.lua. It implements a server-driven craft timer, a per-citizenid XP store with a capped level curve, a…
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 XP/roll — Claude levels the skill and rolls success locally; a modder forces level 20 and guaranteed crafts. Keep XP, the curve, the roll and rewards on 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
skill:beginCraft/skill:craftResulton only one side breaks the round-trip; both client and server useRegisterNetEvent+AddEventHandler.
Corrective re-prompt: "Move the entire progression to the server: store xp per citizenid, derive level and success chance there, roll math.random() against it after the server-timed craft, and scale duration, quality and xp by level. The client only plays the anim for the duration the server sends and renders the result."
Framework Integration
- ESX: swap to
exports['es_extended']:getSharedObject(), key skill byxPlayer.identifier, and usexPlayer.getInventoryItem/addInventoryItemwith metadata for quality. - QBCore: as written —
Player.Functions.GetItemByName/RemoveItem/AddItemwith a{ quality = n }info table, skill keyed bycitizenid. - QBox: use
exports.qbx_core:GetPlayer(src)with ox_inventory metadata for the quality field; the XP and roll logic are identical.
Profit Potential
$300–$3500/mo on Tebex (expected ~$1100). [INFERRED] priced inside the $50-389 script band against the signal-scraper tebex_snapshot corpus (n=100, median seller $11.85K/mo); a rising per-player progression niche that compounds retention.
Trend Signal
↗ rising — strategy: niche-selection.md compound axis — per-player progression deepens paid-RP retention (rising 4.20-adjacent).
Sales Angle
The retention spine of a crafting economy — every craft levels a skill that makes the next one faster, safer and higher quality. Recommended Tebex price $269.
Difficulty & Ship Time
advanced · ships in 1 day.