Hunting
A full hunting loop: animals spawn in zones across the map, you track and shoot them, skin the carcass for meat and pelts, cook the meat on a placeable stove, and sell the haul to a hunter NPC — with a weekly tournament, a leaderboard and per-level perks on top.
Any dead animal of a huntable species can be skinned — the ones this resource seeds and the map's own ambient wildlife alike. Loot quantities, trophy rolls and payouts are all decided server-side.
Requirements
| Resource | Required | Notes |
|---|---|---|
ox_lib | Yes | Callbacks, menus, progress bars, locales |
ox_target | Yes | Hardcoded — there is no qb-target path |
oxmysql | Yes | Progression, tournaments and leaderboard |
| A framework | Yes | es_extended, qbx_core or qb-core |
| An inventory | Yes | ox_inventory or qb-inventory only |
jj-perks | Strongly recommended | Drives the hunting level — see below |
ps-dispatch | Optional | Police alerts on illegal kills |
ox_core is not supported and will refuse to start. Inventories other than ox_inventory and qb-inventory are not supported either.
Install
- Drop
jj-huntinginto your resources folder. - Add the items from
install/items/ox_inventory.txtorinstall/items/qb-inventory.txt. - Copy the 20 PNGs from
install/images/into your inventory's image folder (ox_inventory/web/images/orqb-inventory/html/images/). - Add to
server.cfg, after your framework, inventory, ox_lib, ox_target and oxmysql:
ensure jj-hunting
- Restart. The five database tables create themselves on first boot — the SQL import is optional.
The folder must stay named jj-hunting. The schema loader and every NUI call reference that name literally — renaming it stops the database from being created and breaks the entire interface.
Items
26 items ship in total:
| Group | Items |
|---|---|
| Raw meat | 6 — deer, boar, rabbit, mountain lion, coyote, chicken hawk |
| Cooked meat | 6 — one per animal, restores hunger when eaten |
| Pelts | 6 — one per animal, sold to the hunter |
| Trophy | jjhunt_antlers — rare drop, also the perk trophy item |
| Stove | jjhunt_stove — placeable cooking prop |
Weapons come from stock game items (weapon_sniperrifle, ammo-sniper, weapon_knife) and need no definitions.
If you enable the licence requirement, you also need a huntinglicense item. No image ships for it — supply your own huntinglicense.png or the icon will 404.
qb-inventory
On ox_inventory everything is wired through the item definitions. On qb-inventory the stove, raw meats and cooked meats are registered as usable items automatically — nothing to do by hand.
Item images follow the detected inventory too. Config.ui.itemImg ships as nil, which resolves to the right path for whichever inventory is running; set it only if you keep icons somewhere else.
jj-perks setup
jj-hunting uses jj-perks as the source of truth for a player's hunting level. That level gates the illegal animals and drives every bonus.
The hunting perk category is not enabled in jj-perks by default. Until you add it, every player sits at level 0 — mountain lion, coyote and chicken hawk stay permanently unhuntable and no bonus ever applies. Nothing warns you that this is the cause.
Add a hunting category to jj-perks' config with a 10-level curve matching config/perks.lua:
curve = { [1]=200, [2]=800, [3]=1800, [4]=3200, [5]=5200,
[6]=7800, [7]=11000, [8]=14500, [9]=18000, [10]=20000 }
Running without jj-perks at all is possible but not recommended — the level never rises, so only deer, boar and rabbit are ever huntable.
Database
Five tables, all created automatically: jj_hunting_players, jj_hunting_tournaments, jj_hunting_tournament_history, jj_hunting_pending_prizes and jj_hunting_state. Importing install/jj_hunting.sql by hand is optional.
When jj-perks is running, the all-time leaderboard also reads jj-perks' own XP table. If that table is missing or renamed the leaderboard falls back to local data rather than erroring.
First run
- Head to the hunter NPC at the default location north of the map (blip: Hunting).
- Buy a sniper rifle, ammo and a stove from the Shop tab.
- Drive to any hunting zone — the Zones tab shows them all on a map.
- Shoot an animal, then target the carcass and skin it. No knife item is required.
- Place your stove, cook the raw meat, and sell the pelts back at the hunter.
Seeded animals take a short while to appear after a restart — the spawn pass runs on an interval. You can still hunt the map's own wildlife in the meantime.
Next: Configuration.