The Job Panel#
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.
Missions#
A mission is a contract for a set of animals. Six ship ready to play, all open from level 1 and recommended for one to four players:
Mission | Asks for | Pays | Experience |
|---|---|---|---|
Catch of the Day | 2 boars | $500 | 100 |
Tracking Game | 1 boar | $130 | 100 |
Meat Run | 1 boar, 2 coyotes | $200 | 2,500 |
Fur Collection | 2 coyotes, 1 deer | $340 | 300 |
Predator Watch | 2 boars, 3 coyotes, 4 deer | $490 | 400 |
Hunting Duty | 5 deer, 1 mountain lion | $700 | 500 |
Taking a mission#
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.
Ending a mission early#
Abandon quest in the panel footer, after a confirmation. The player leaves the hunt and the crew; the panel stays open so they can pick another one.
Disconnecting counts as abandoning. The rest of the crew carries on and their tracker updates.
Losing the job ends the mission on that player's screen, and the server refuses to pay them even if the crew finishes.
Being kicked by the leader ends the mission for that player only.
Adding a mission#
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:
{
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.
Crews#
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.
Inviting#
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.InviteDistanceapart — 20 m, measured by the server;0switches 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.
How a crew is paid#
Config.MissionPayout | Each member gets | Predator Watch with a crew of four |
|---|---|---|
| The mission's full money and experience. | $490 and 400 XP each — $1,960 paid in total. |
| 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.
Animals and Hunting Grounds#
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 | 3 s | 100% · 2 · $40 · 25 | 60% · 1 · $60 · 35 |
Rabbit | 4 s | 100% · 2 · $50 · 30 | 55% · 1 · $70 · 40 |
Boar | 5 s | 100% · 2 · $60 · 35 | 50% · 1 · $80 · 45 |
Coyote | 6 s | 100% · 2 · $70 · 40 | 45% · 1 · $90 · 50 |
Deer | 7 s | 100% · 2 · $80 · 45 | 40% · 1 · $100 · 55 |
Cow | 8 s | 100% · 2 · $90 · 50 | 35% · 1 · $110 · 60 |
Mountain lion | 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.
Adding an animal#
Each entry in items is read by position: item name, label, drop chance in %, maximum per animal, sell price per unit, experience per unit.
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.
Harvesting#
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.RequireToolToHarvestAnimalon, they carry a knife, or a hatchet atConfig.AxeRequiredLevelor above.
How the drop is rolled#
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.
Levels and Experience#
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 Shop#
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 | $100 | The hunting weapon. Loaded with 10 rounds on ox_inventory. |
Knife | Tool | $50 | +1% to every drop while skinning with it. |
Hatchet | Tool | $75 | +2%. Used in preference to the knife. |
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.
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.
The Aim Block#
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.
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
}Outfit and Weapons#
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:
male = {
["arms"] = 17,
["tshirt_1"] = 10, ["tshirt_2"] = 0,
["torso_1"] = 230, ["torso_2"] = 3,
["pants_1"] = 87, ["pants_2"] = 3,
["shoes_1"] = 12, ["shoes_2"] = 0,
["helmet_1"] = 120, ["helmet_2"] = 1,
["chain_1"] = 1, ["chain_2"] = 0,
},Running qs-inventory? Set Config.QuasarInventory = true so the inventory is locked during the change.
Config.RemoveWeapon can take the gear back when a hunt ends. Both lists ship off; the server removes the whole stack of each item listed:
Config.RemoveWeapon = {
abandon = { enabled = false, weapons = { "weapon_sniperrifle", "weapon_knife", "weapon_battleaxe" } },
questFinished = { enabled = false, weapons = { "weapon_sniperrifle" } },
}The Employer, Blip and Marker#
Setting | What it changes |
|---|---|
| Where the employer stands ( |
| The name and the line on the card beside the NPC. Leave either empty to hide it. |
| The map blip — text, sprite, size, colour and display. Shown only to players holding a hunter job, or to everyone when |
| 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. |
| 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 |
| How players are named on crew tiles and invitations: |
Configuration Reference#
Every setting in config/config.lua, section by section, with its shipped value. Restart the resource after a change.
General — access, interaction and money
Setting | Default | Does |
|---|---|---|
| auto |
|
| auto | The running inventory's resource name, or |
| true | Whether hunting needs a job. |
|
| The jobs allowed to hunt. |
| false | Third-eye targeting instead of a key. |
| "ox" |
|
| true | Floating prompts; false shows a corner hint. |
| 38 | Control ID to talk and to harvest ( |
| 'character' |
|
| 'Hank Bowman' · a greeting | The card beside the NPC. |
| true | Built-in notifications; false routes them to |
| "prefix" |
|
| false | Locks qs-inventory during the outfit change. |
| true | Puts the hunter outfit on during a mission. |
| false | Registers and advances the hunter quests in qs-inventory. |
World — the employer and the blip
Setting | Default | Does |
|---|---|---|
| true | Shows the job blip. |
| Hunter · sprite 141 · size 1.0 · colour 21 · display 2 | How the blip looks. |
|
| Where the employer stands and faces. |
| "mp_m_exarmy_01" | The employer's ped model. |
Animals — spawning and drops
Setting | Default | Does |
|---|---|---|
| true | Animals roam and react; false freezes them. |
| true | A blip on each spawned animal. |
| 20.0 | Metres around a zone's centre that animals spawn in; also the map circle. |
| sprite 141 · size 0.8 · colour 2 · display 2 | How animal blips and zone circles look. |
| 7 animals | Zone, model, harvest time and drop table per animal. |
Levels, missions and crews
Setting | Default | Does |
|---|---|---|
| 3500 | Experience to clear level 1. |
| 1.1 | How much more each level needs. |
| 0.5 | % added to every drop chance per level. |
| 60 | Level at which the drop bonus stops growing. |
| 4 | Crew size, leader included. |
| 20.0 | Metres an invitee may be from the leader; 0 turns it off. |
| 6 missions | The contracts in the panel. |
| 'members' |
|
Gear, shop and hunting rules
Setting | Default | Does |
|---|---|---|
| rifle, knife, hatchet, ammo | The buy catalogue: |
| 100 | Most of one line bought in one go. |
| "weapon_sniperrifle" | The weapon animals must be killed with. |
| true | false accepts a kill by any weapon. |
| false | Requires a knife or hatchet to skin. |
| 500.0 | Metres beyond the spawn radius a harvest is still accepted. |
| weapon_knife · weapon_battleaxe | The items that count as skinning tools. |
| 1 | Level needed to skin with the hatchet. |
| off | See The Aim Block above. |
| both off | Gear taken back on abandon or completion. |
Leaderboard
Setting | Default | Does |
|---|---|---|
| true | The Statistics view, the resets and the prizes. |
| 1 | Minutes between refreshes. |
| 100 | Hunters per ranking. Higher costs query time on every refresh. |
| Daily 550/350/200 · Season 5000/3500/2000 | Cash for the top three at each reset. |
Marker, debug and logs
Setting | Default | Does |
|---|---|---|
| on · type 0 · 1.2 m up · 25 m · blue | The marker over the NPC. |
| false | Traces what the script does in the server console and F8. Leave off on a live server. |
| off | Discord logs — see Integrations. |
The language and every text on screen live in
config/translations.lua, covered under Languages in Integrations.



