Description
An advanced QBCore freelance bounty hunter job: /pullbounty requests a contract on a wanted player, drops a last-known clue blip, and /capture claims the reward once you are within range and finish a capture animation. All reward state is server-authoritative — the server picks the target, sets the reward, and pays only what it tracked — so the hunter role plugs into the law/wanted surface without granting police arrest authority.
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 lives at content/expected-outputs/jobs/30-bounty-hunter-track-capture.lua. It implements a request/assign/capture handshake where the server picks the wanted target and reward, 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-sent reward — accepting the amount from the client lets a hunter mint money via
completeCapture. Store it incontracts[src]server-side and pay only that. - Anim never plays —
TaskPlayAnimbeforeHasAnimDictLoadedis true no-ops, killing the capture window. Loop on the dict first. - Server-id / ped mismatch —
GetPlayerFromServerIdis a client native; on the server resolve the ped directly withGetPlayerPed(serverId). Mixing them resolves the wrong ped. - No range gate — without
#(me - target) < 3.5a hunter completes from across the map. Require proximity before the capture fires.
Corrective re-prompt: "The reward is client-sent and the capture has no range gate. Move reward selection into the server: in bounty:requestContract store contracts[src] = and pay only contracts[src].reward in bounty:completeCapture after clearing it; on the client require #(GetEntityCoords(me) - GetEntityCoords(targetPed)) < 3.5 before TriggerServerEvent. On the server resolve the target ped with GetPlayerPed(serverId), not GetPlayerFromServerId."
Framework Integration
- QBCore: uses
exports["qb-core"]:GetCoreObject(), gates onplayer.PlayerData.job.name == "bountyhunter", and pays viaplayer.Functions.AddMoney("bank", reward, "bounty-capture"); seed the job and pull targets from the wanted surface (e.g. ox_mdt records). - QBox: identical through
qbx_core— keep theGetCoreObjectbridge, the same job gate, and theAddMoneycall via the compatibility exports. - ESX: not in scope here; to port, swap to
getSharedObject(), gate onxPlayer.job.name, and pay withxPlayer.addMoney(reward).
Profit Potential
$400–$6000/mo on Tebex (expected ~$1500). [INFERRED] priced inside the $50-389 FiveM script band against a hot law-RP niche; corpus median seller $11.85K/mo (signal-scraper tebex_snapshot n=100), scaled for a single-role resource.
Trend Signal
🔥 hot — corpus: Extends the ox_mdt wanted/records surface; freelance bounty role is a hot ask in law-heavy servers, distinct from police arrest authority.
Sales Angle
Position it as the freelance counterweight to police RP — a paid hunter career that consumes the wanted list law servers already maintain, without handing out arrest powers. Recommended Tebex price $329.
Difficulty & Ship Time
advanced · ships in 1 day.