How Hunter Job plays and how to tune it: the job panel, missions, crews, animals, harvesting and drop rolls, levels, the shop, leaderboards, the aim block and every config setting.
Everything starts at the employer — Hank Bowman by default, standing under a floating marker south-west of Paleto Bay. Walk up and press E, or pick Start working with the third eye. The camera cuts to the NPC mid-conversation, framed on the left half of the screen, and the panel opens on the right with the employer's name and greeting on a card beside them.
View
What it is for
Missions
Every contract with its picture, the animals it asks for, the level required, the recommended players, the pay and the experience. The footer starts one — or, mid-hunt, abandons the current one.
Hunters Group
The crew: a tile per member with their face, an Invite Player field for a server ID, and a kick button for the leader.
Shop
Buy weapons, tools and ammo; sell meat and hides.
Statistics
The all-time, season and daily leaderboards, their countdowns, prizes and last winners. Hidden when the leaderboard is off.
Guide
A short walkthrough of the hunting loop and a few tips, written entirely in the translation file.
The panel also shows the player's level, the experience bar towards the next one and the item drop rate bonus that level gives — exactly the figure the server will apply to their next harvest.
Anyone may open the panel to shop or read the statistics. The job is checked when somebody tries to take a mission, accept an invitation or harvest an animal. The panel hides itself while the pause menu is open.
Only the crew leader — or a player on their own — can press Start Mission. Before anything spawns, the server checks every member: they hold the job, they meet the mission's level, and they are not already on another hunt. One failure stops the start and tells the leader which rule was broken.
Then, for each member, the hunter outfit goes on, a tracker opens on screen with the mission's name, pay, experience and a counter per animal, the hunting grounds are circled on the map, and the animals appear with their own blips. Progress is shared: whoever skins an animal moves the crew's counter, and the whole crew is paid the moment the last one is in.
Each member's game spawns its own copy of the animals the mission asks for, and each member can skin at most that many of each kind. A crew therefore has more animals to find than a single hunter — but needs no more of them to finish.
Missions are entries in Config.Tasks. amount and animalsRequireds are read in pairs — the first amount belongs to the first animal — and every animal named must exist in Config.Animals:
lua
{
taskOrder = 7, -- unique: the next free number
name = "Mountain Hunt",
img = "hunter_img2.png", -- hunter_img1.png · hunter_img2.png · hunter_img3.png
description = "Bring down a mountain lion and two deer up in the hills.",
recommendedPlayers = { 2, 4 }, -- shown on the card, not enforced
levelRequired = 10,
experience = 800,
amount = { 1, 2 },
animalsRequireds = { "mtlion", "deer" },
money = 1200,
},
Rats, rabbits and cows have drop tables but no shipped mission — they are there for the missions you write.
A crew is up to Config.MaxPartyMembers players — four by default, the leader included. The roster is kept by the server, so the leader and every member always see the same crew.
The leader types a server ID into Invite Player. The invitation reaches the other player as a dialog with Accept and Decline, and is refused when:
the two are more than Config.InviteDistance apart — 20 m, measured by the server; 0 switches the check off;
the crew is full, or the player is already in another crew;
the leader sent an invitation less than 1.5 seconds ago, or that player was invited by anybody in the last 10 seconds;
the ID is not online.
An unanswered invitation expires after a minute, and accepting needs the job. Crew tiles show each member's real face when that player is close enough to be photographed by your game; anyone out of range falls back to their initials — another reason the invite distance is short.
An equal share of each, rounded down, never below 1.
$122 and 100 XP each.
What a mission asks for does not grow with the crew, so 'members' is the generous setting: four hunters bring in the same haul one would, for four times the pay. Only members still in the crew when it completes are paid or counted in a split.
Each animal in Config.Animals has a home: a centre point, a ped model, a harvest time and a drop table. When a mission starts, its animals spawn within Config.SpawnRadius (20 m) of their home, the zone is circled on the map and each animal carries a blip. The circle disappears once every animal in it is down and skinned.
Animal
Harvest
Meat — chance · max · price · XP
Hide — chance · max · price · XP
Rat rat
3 s
100% · 2 · $40 · 25
60% · 1 · $60 · 35
Rabbit rabbit
4 s
100% · 2 · $50 · 30
55% · 1 · $70 · 40
Boar boar
5 s
100% · 2 · $60 · 35
50% · 1 · $80 · 45
Coyote coyote
6 s
100% · 2 · $70 · 40
45% · 1 · $90 · 50
Deer deer
7 s
100% · 2 · $80 · 45
40% · 1 · $100 · 55
Cow cow
8 s
100% · 2 · $90 · 50
35% · 1 · $110 · 60
Mountain lion mtlion
9 s
100% · 2 · $100 · 55
30% · 1 · $120 · 65
With Config.AnimalsReactions on, animals wander their zone and treat hunters as hostile — a boar or a mountain lion can turn on you. Off, they stand where they spawned and ignore everything. Config.AnimalBlips hides the per-animal blips for a harder hunt; the zone circle stays.
Each entry in items is read by position: item name, label, drop chance in %, maximum per animal, sell price per unit, experience per unit.
lua
pig = {
coords = vec3(2450.0, 4760.0, 34.3), -- the centre of its hunting ground
model = "a_c_pig",
harvestTime = 6, -- seconds the skinning takes
items = {
{ "pig_meat", "Pig Meat", 100, 2, 65, 40 },
{ "pig_hide", "Pig Hide", 45, 1, 85, 50 },
}
},
Then add pig_meat and pig_hide to your inventory, a ["PIG"] = "Pig" line to each language in config/translations.lua (it names the blip and the tracker counter), and use "pig" in a mission. Selling picks the new items up on its own.
Bring the animal down with Config.HunterWeapon — the sniper rifle. Killed with anything else, a vehicle included, the carcass is removed on the spot with The meat is no longer usable (switch Config.HunterWeaponNeeded off to allow any weapon). Walk up to the body and press E, or pick Harvest animal with the third eye.
The player holsters, turns to the carcass and crouches into a skinning animation under its own camera, with the hatchet or the knife in hand, while a progress bar runs for the animal's harvest time. Movement is locked until it finishes. Before it even starts, the server checks that:
the player is on a mission and holds the job;
the mission asks for this animal, and they have not yet skinned their share of it;
they are within Config.SpawnRadius + Config.HarvestZoneMargin (520 m) of that animal's hunting ground — generous on purpose, since wounded animals bolt;
no other harvest of theirs is open, and the last one was at least one harvest time ago;
with Config.RequireToolToHarvestAnimal on, they carry a knife, or a hatchet at Config.AxeRequiredLevel or above.
The roll happens on the server when the bar completes. For every item the animal can drop:
The chance is the item's own probability plus the level bonus plus the bonus of the tool used — capped at 100%.
If it drops, the first unit is certain and each further one is less likely: with a maximum of 2, the second piece comes half the time.
Experience is the item's experience times the units dropped.
A level 10 hunter skinning a deer with the hatchet has a 40 + 5 + 2 = 47% chance at the hide. The hatchet is used whenever it is carried and the level allows it; otherwise the knife. Without either — when tools are not required — the harvest still works, just without a tool bonus.
A full inventory gives nothing and the animal does not count towards the mission — clear space before skinning. An item your inventory does not know is different: the experience and the mission progress are kept, only that item is lost, and the console names it.
Experience comes from two places: every unit a harvest drops, and every mission completed. Levels never stop — each one needs BaseExperience × GrowthFactor raised to the level, so with the shipped 3,500 and 1.1 every level takes 10% more than the last.
Level
Experience to the next level
Total earned to get here
Drop bonus
1
3,500
0
+0.5%
5
5,124
16,243
+2.5%
10
8,252
47,525
+5%
20
21,405
179,048
+10%
30
55,520
520,194
+15%
60
968,805
9,653,023
+30% (the cap)
The drop bonus is the level times LevelBonusMultiplier (0.5%), and it stops growing at Config.MaxBonusLevel — level 60 — so a veteran never reaches a certain drop on every item. Levelling itself carries on. A level-up is announced on screen, and a level can lock missions (levelRequired), shop items (requiredLevel) and the hatchet (Config.AxeRequiredLevel).
The Buy side lists Config.BuyItems with filters for All, Weapons, Tools and Ammo, how many of each the player already carries, and a lock on anything above their level. Items go into a basket and are paid together in cash.
Item
Category
Price
Notes
Sniper Rifle weapon_sniperrifle
Weapon
$100
The hunting weapon. Loaded with 10 rounds on ox_inventory.
Knife weapon_knife
Tool
$50
+1% to every drop while skinning with it.
Hatchet weapon_battleaxe
Tool
$75
+2%. Used in preference to the knife.
Ammo snp_ammo
Ammo
$20
A pack of 10 rounds per purchase.
price is the cost of one purchase and amount is how many units it gives, so two packs of ammo are 20 rounds for $40. A player can buy up to Config.MaxShopPurchase (100) of a line at once. The basket is priced in full before anything is charged, the items are handed over first, and only what actually arrived is paid for — a full inventory costs nothing.
The Sell side lists every meat and hide the player carries, at the price in its animal's drop table, with the total they would receive. Pick quantities and sell, or press Sell all items. The money is paid in cash and counts towards the player's earnings on the leaderboard.
Statistics in the panel holds three rankings — All-Time, Season and Daily — ranked by the experience earned in that period, with each hunter's earnings beside it. The player's own row is highlighted. Earnings are mission pay plus sales.
Ranking
Resets
Prizes for 1st · 2nd · 3rd
Daily
Every day at 00:00 server time.
$550 · $350 · $200
Season
At 00:00 on the first day of every month.
$5,000 · $3,500 · $2,000
All-Time
Never.
—
At each reset the top three are paid in cash — immediately if they are online, or at their next login if not — and shown as the Last winner with a countdown to the next reset. A reset the server was switched off for is caught up when it starts, and can never pay the same day twice. The boards refresh every Config.UpdateLeaderboard minutes and show up to Config.MaxLeaderboardPlayers hunters; Config.EnableLeaderboard = false removes the button and stops the resets and prizes.
An optional rule that keeps the hunting rifle for hunting. While a listed weapon is in hand, firing is blocked unless the player is aiming at something that is not a player, a vehicle, or a ped sitting in one — so hip-fire is blocked too.
lua
Config.AimBlock = {
enable = false, -- ships off
global = true, -- true: everywhere · false: only around the hunting ground
weaponsToBlock = {
`weapon_sniperrifle`,
-- `WEAPON_HEAVYSNIPER`,
},
huntingZoneCoords = vector3(-773.26, 5597.76, 33.61),
huntingAreaArea = 1000, -- metres around it, used when global = false
disableAiming = nil-- true: outside the area, the weapon cannot even be aimed
}
With Config.Clothing on, the hunter outfit goes on when a mission starts and the player's own clothes come back when it ends or is abandoned. The outfit is a male and a female set of clothing components at the top of client/clothing.lua:
Where the employer stands (coords, a vector4 with heading) and which ped model they use. The NPC is frozen, invincible and ignores everything around them.
Config.PedName · Config.PedGreeting
The name and the line on the card beside the NPC. Leave either empty to hide it.
Config.EnableBlip · Config.Blip
The map blip — text, sprite, size, colour and display. Shown only to players holding a hunter job, or to everyone when Config.RequireJob is off.
Config.PedMarker
The floating marker over the NPC: on or off, shape (0 is the upside-down cone), height above the head, view distance, bobbing, size and RGBA colour.
Config.Target · Config.DrawText3D · Config.Keys
Third eye, or a key press. With the key, prompts float in 3D over the NPC and the carcass, or show as a hint in the corner with DrawText3D off. The key is control 38 (E).
Config.PlayerNameSource
How players are named on crew tiles and invitations: 'character' (first and last name), 'cfx' (FiveM name) or 'both'. The FiveM name fills in when a character has none.