Documentation

Pepper Hunting

Hunting as a leisure activity for every player – living wildlife in hunting zones, stalking with wind and tracks, hunting license with closed seasons and poaching, levels 1–50, hunting tablet, hunting dog, traps, legendary animals, group hunts and competitions for ESX, QBCore and Qbox.

Overview

Pepper Hunting turns hunting into a leisure activity for every player – no job and no business required. A real wildlife population lives in the hunting zones: the server knows which animals are where, they only spawn near hunters, and harvested game repopulates over time. Outside the zones, the city stays quiet.

Players hunt with dedicated hunting weapons that can only be drawn inside a hunting zone. Animals hear, see and smell: wind, noise and camouflage decide whether you get close enough. Tracks, binoculars, calls, bait and hunting stands help along the way. Shot placement determines the quality of the loot; wounded game flees and leaves a blood trail.

To hunt legally, players get a hunting license (theory quiz + shooting range) and respect closed seasons and daily quotas – otherwise it's poaching: the loot becomes illegal and the police can be called. A hunter level 1–50 (about 60 hours) unlocks endorsements, weapons and zones; the hunting tablet shows the collection, trophies, leaderboards and the map. On top of that there are a hunting dog, traps, legendary animals, hunting parties with drive hunts and competitions. Venison can be butchered for Pepper Eats.

Features

  • Hunting zones: 6 presets (Paleto Forest, Mount Chiliad, Raton Canyon, Grapeseed fields, Tongva Hills, Great Chaparral) and as many more as you like – mark them out in-game with /huntadmin (walk the outline), species, population, minimum level, blip
  • Living wildlife population per zone on the server, spawns only near hunters, repopulates over time – deer, boar, mountain lion, coyote, rabbit, hawk
  • Dedicated hunting weapons (hunting rifle, shotgun, hunting knife) as items, can only be drawn inside a hunting zone, spent ammo is deducted
  • Hit zones and quality: head/heart-lung = clean, body, haunch, leg – plus the right weapon, multiple hits and freshness → quality 0–100 and 1–5 stars
  • Stalking: game hears you (crouching is quieter), sees you (field of view, line of sight) and smells you (wind per zone, changes every 10 minutes); predators attack
  • Tracks (footprints, droppings, feeding spots, bedding areas) lead to game up to 450 m away; inspecting them shows species, age and direction
  • Tracking wounded game: wounded animals flee, bleed and die – follow the blood trail, the shooter gets the animal
  • Binoculars (species, sex, weight, achievable stars, wind), wind and noise indicator, camouflage clothing
  • Calls for deer, boar and predators (calling too often scares them off), bait and salt licks
  • Hunting stands: placeable (item) and fixed (admin) – from above, game sees and smells you less easily
  • Field dressing with a hunting knife: meat, hides, pelts, antlers, boar tusks, claws and feathers as ox_inventory items with quality, hunter and "legal/illegal"
  • Game dealer buys by quality with daily price fluctuation, the fence buys poached loot for a pittance
  • Hunting license: theory exam (22 questions DE/EN, answers only on the server) and shooting range test, ID item, endorsements for big game, predators and night hunting
  • Rules: closed seasons per species and weekday, daily quotas, night hunting – violations = poaching with a police alert (ps-, cd-, qs-, rcore-, core_dispatch or built-in)
  • Hunting shop with 17 products; weapons and ammo only with the matching license and level
  • Hunter level 1–50 (≈ 60 hours) with unlocks: endorsements, shop products, zones, more hunting stands, bait and traps
  • Collection per species with milestones (XP + money); the taxidermist turns loot into trophies with points
  • Hunting tablet (item or /hunttablet): overview, level, collection, trophies, leaderboards, map, dog, party, competition, legends
  • Hunting dog (retriever, shepherd, husky) with name, feeding, affection and dog level: heel, sit, search (finds wounded game first), fetch
  • Traps for small game (snare, box trap) – set them up, check them later
  • Legendary animals (White Stag, Old Tusker, Shadow Stalker, Ghost Coyote) with rumors, hall of fame and special trophies
  • Hunting parties of up to 6 hunters: field dress loot immediately, XP share, drive hunt
  • Competitions (biggest deer, boar hunt, rabbit sprint, cleanest shot) on a schedule or started by admins, with prizes
  • Pepper Eats integration: butcher venison at the game dealer for the restaurant kitchen
  • Admin menu with zones, places (dealer, fence, license office, shooting range, hunting shop, taxidermist, kennel, hunting stands), overview, set license/level, competitions
  • 3 Discord webhooks, server and client exports, German & English; config, locale files, bridges and install files are open

Requirements

Dependency Required/optional Used for Link
FiveM server build 7290 or newer required Per fxmanifest.lua (/server:7290) https://runtime.fivem.net/artifacts/fivem/
OneSync required Game population and animals on the server https://docs.fivem.net/docs/scripting-reference/onesync/
ESX, QBCore or Qbox required Money, jobs, character (auto-detected) https://github.com/esx-framework/esx_core · https://github.com/qbcore-framework/qb-core · https://github.com/Qbox-project/qbx_core
MySQL 8 or MariaDB 10.6+ required 12 tables for zones, hunters, licenses, trophies –
oxmysql required Database access https://github.com/overextended/oxmysql
ox_lib required Helpers, menus https://github.com/overextended/ox_lib
ox_inventory required Loot with quality, hunting weapons, tools https://github.com/overextended/ox_inventory
ox_target or qb-target optional Target dealers and loot, otherwise a hint text "[E] …" https://github.com/overextended/ox_target
Dispatch script optional Poaching alerts (ps-dispatch, cd_dispatch, qs-dispatch, rcore_dispatch, core_dispatch), otherwise the built-in alert –
Pepper Eats optional Venison as a restaurant ingredient Pepper Eats

Installation

  1. Copy the folder to resources/[pepper]/pepper_hunting – do not rename.
  2. Items: add the contents of install/ox_items_en.lua (English) or install/ox_items.lua (German) to ox_inventory/data/items.lua – before the last } of the file.
  3. Copy all images from install/images/ to ox_inventory/web/images/ (32 images).
  4. Important: ox_inventory takes away weapons that were not drawn from the inventory. Add the three game weapons used by the hunting weapons to your server.cfg (Pepper Hunting checks this on start and warns you):
# hunting rifle, shotgun, knife – exactly like this, no spaces, before ensure ox_inventory
setr inventory:ignoreweapons [100416529,487013001,-1716189206]
  1. server.cfg:
ensure oxmysql
ensure ox_lib
ensure ox_inventory
# ensure ox_target        # optional – or qb-target
# your framework (es_extended / qb-core / qbx_core) before it as usual
ensure pepper_hunting

add_ace group.admin pepper_hunting.admin allow
  1. The script creates its 12 database tables on start. Only if your database user isn't allowed to do that, import install/pepper_hunting.sql.
  2. Start the server. The console shows Pepper Hunting 1.0.1 started (…, 6 hunting zones) (with Config.Locale = 'en').
  3. In-game, open /huntadmin and check the preset places: the coordinates of the zones, dealers, license office, shooting range, hunting shop, taxidermist and kennel are good approximations – on custom maps or with MLOs, please take a look once and set them again if needed.

First test

  1. Open /huntadmin and check that the 6 preset zones are listed.
  2. Give yourself a hunting license with /huntadmin or take the exam at the license office.
  3. Buy a hunting knife and a hunting rifle with ammo at the hunting shop and go to a hunting zone (e.g. Paleto Forest).
  4. Use the hunting rifle as an item, take down an animal and field dress it with the hunting knife.
  5. Sell the loot at the game dealer and look at the collection in the hunting tablet (/hunttablet).

Configuration

All settings are open in config/:

File Contents
config.lua Language, framework, command, keys, zones, spawning, shooting, loot, stalking (perception, wind, tracks, tracking wounded game, binoculars, calls, bait, hunting stands), trade
animals.lua Species: models, size, suitable weapons, weight, loot, XP, senses, attack; hit zones
zones.lua Preset hunting zones (only used for an empty database)
weapons.lua Hunting weapon items → game weapon + ammo, knife, "zone only"
items.lua All items with price/weight (install/ox_items.lua is generated from it)
places.lua Preset places and place types, NPC models, blips
license.lua Hunting license, fees, endorsements, license per species, closed seasons, quotas, poaching/police, shooting range, quiz, hunting shop
progression.lua Level curve, XP sources, unlocks, collection milestones, taxidermist, tablet, leaderboards
extras.lua Hunting dog, traps, legendary animals, hunting parties + drive hunt, competitions, Pepper Eats
server.lua Webhooks, admin ACE, quiz answers (never sent to clients)

Common adjustments:

  • Stalking difficulty: Config.Perception.Difficulty (0.6 = easy, 1.0 = challenging)
  • Playtime to level 50: Config.Level.XpCurve (1.25 ≈ 60 hours), event weekend: Config.Level.XpMultiplier = 2.0
  • Without hunting license rules (everything legal): Config.License.Enabled = false
  • Prices: Config.Items (selling), Config.Shop.Items (hunting shop), Config.Trade.StarFactor

Stalking

Config.Perception = {
    Difficulty = 0.85,
    Sight = 42.0,
    Scent = 85.0,
    Camo = 0.55,
    Stand = 0.45,
}
Option Default Description
Difficulty 0.85 All ranges × factor (0.6 = easy, 1.0 = challenging)
Sight 42.0 How far game sees a hunter in front of it (metres)
Scent 85.0 Scent range with wind blowing from hunter to animal
Camo 0.55 Camo clothing: sight range × factor
Stand 0.45 On a hunting stand: sight and scent × factor

Hunting license and poaching

Config.License = {
    Enabled = true,
    Item = 'hunt_license',
    RequireItem = false,
    Account = 'bank',
    Fees = { theory = 250, practice = 400, card = 100 },
}
Option Default Description
Config.License.Enabled true false = no rules, nothing counts as poaching
Config.License.RequireItem false true = license only counts with the card item in the inventory
Config.License.Fees 250 / 400 / 100 Theory, shooting range, replacement card
Config.License.Extensions big game 2500, predators 3500, night 1500 Extension prices (minimum level 5 / 12 / 8 from progression.lua)
Config.ClosedSeasons deer on Sundays, mountain lion on Sundays + Wednesdays Weekdays with closed season (server time)
Config.Quotas deer 4, boar 5, mountain lion 1, coyote 6, rabbit 20, hawk 8 Legal kills per day and species
Config.Poaching.ReportChance 0.6 Chance that a witness calls the police
Config.Poaching.PoliceJobs police, sheriff, ranger (grade 0) Who receives poaching alerts
Config.Poaching.FenceFactor 0.6 Share of the price the fence pays

Levels

Config.Level = {
    Max = 50,
    XpCurve = 1.25,
    XpMultiplier = 1.0,
}
Option Default Description
Max 50 Highest hunter level
XpCurve 1.25 > 1 slower, < 1 faster (1.25 ≈ 60 hours to level 50)
XpMultiplier 1.0 All XP × factor, e.g. 2.0 for an event weekend

Creating hunting zones

  1. /huntadmin → Zones → "New hunting zone", enter a name.
  2. Mark the outline: walk, drive or fly along the border and press E at every corner – X removes the last point, Enter closes the outline, ESC cancels. Glowing walls show the outline.
  3. Weight the species with sliders, choose the population (animals at the same time) and optionally From hunter level.
  4. Create. The population is there immediately; "Redistribute population" resets it.

Locations (game dealer, fence, license office, shooting range, hunting shop, taxidermist, kennel, fixed hunting stand): /huntadmin → Locations → "New location" → choose type and name → "Set" → stand at the spot, turn to face the right direction, E. For the shooting range, the position is the shooting position; the targets are placed in the direction you're facing.

How hunting works

  • Gear up: hunting shop (knife, binoculars, calls, bait; shotgun and rifle with a license). Use a hunting weapon item = draw it, use it again = holster it. If you leave the zone, it is holstered automatically.
  • Stalking: at the bottom right, wind (arrow relative to your viewing direction) and noise show how well you're doing. Upwind and crouched, you get closest.
  • Tracks become visible from 30 m – inspect them with E: species, age, direction to the next track.
  • Shooting: heart-lung or head = full quality. A hit in the haunch or leg: the animal flees – follow the blood trail.
  • Field dress the animal (hunting knife), then go to the game dealer (legal loot) or the taxidermist (trophy).
  • Party members may field dress your kills immediately; others only after 90 seconds.

Hunting license and rules

  1. License office: theory exam – 10 random questions, 8 must be correct (fee per attempt).
  2. Shooting range: you are placed at the shooting position and get a loaner rifle – hit 4 of 6 targets within 120 seconds. Afterwards the hunting license (ID with a number) is in your inventory.
  3. Endorsements at the office: big game (deer, boar, from level 5), night hunting (from level 8), predators (coyote, mountain lion, from level 12).
  4. Poaching: without the matching license, during the closed season, above the daily quota or at night without the endorsement. The loot is illegal (only the fence buys it), gives no XP, and with a 60 % chance a witness calls the police – with an approximate location on the map.

Levels, collection and trophies

  • Level 1–50: XP from legal kills (more for clean shots), field dressing, exams, trophies, the first sighting of a species, traps and milestones. Level 10 ≈ 4 h, 20 ≈ 11 h, 30 ≈ 22 h, 50 ≈ 60 h.
  • Unlocks are shown in the tablet: endorsements, shop products, zones (Mount Chiliad from 10, Raton Canyon from 15, Great Chaparral from 20), more hunting stands, bait and traps.
  • Collection: every species with count, best quality and heaviest animal; milestones at 1/10/50/100 kills.
  • Taxidermist: antlers, boar tusks, coyote and mountain lion pelts (legal, from 40 % quality) become a trophy with points based on weight and quality – visible on the trophy wall and in the leaderboard.

Hunting dog

At the kennel (from level 8): retriever (fetches better), shepherd (tracks farther) or husky. The dog whistle calls it / sends it home. Commands in the tablet or with /huntdog call|follow|sit|search|fetch|home. Search shows the direction and distance to the nearest animal – your own wounded game first, then the dog follows the blood trail. Fetch brings small game without a knife. Feeding (dog food item) and petting keep it happy; if it dies in-game, it is injured for 20 minutes or the vet can help.

Traps, legends, parties, competitions

  • Traps: set a snare (rabbits) or box trap (rabbits, birds) inside a zone and check it after 20–30 minutes. The same rules apply as for hunting.
  • Legendary animals appear rarely (rumors for hunters from level 15), are tougher and heavier and move on after 40 minutes. Whoever takes one down first enters the hall of fame.
  • Hunting parties: invite players by server ID in the tablet. Together: field dress loot immediately, 25 % XP share when nearby, drive hunt (leader in the zone, from 3 hunters): for 8 minutes, game is driven towards the line of shooters.
  • Competitions start on a schedule (Config.Events.Schedule) or via /huntadmin → "Competitions …". Sign-up and live leaderboard in the tablet, prizes for places 1–3.

Pepper Eats

If Pepper Eats is running (with the game recipes), the game dealer shows "Butcher for the kitchen (Pepper Eats)": deer, boar and rabbit meat become restaurant ingredients. Without Pepper Eats, this section is hidden – Hunting works unchanged.

Webhooks

In config/server.lua (ServerConfig.Webhooks):

Key Contents
admin Zones/places created, changed, deleted; hunting license/level set by admins
hunting Poaching, legendary animals (sighted, killed), competitions
security Suspected cases from the plausibility check

Framework integration

The bridges in bridge/ (open) detect ESX, QBCore and Qbox automatically (Config.Framework = 'auto'). Money is handled by the framework, items by ox_inventory, police alerts by bridge/server/dispatch.lua.

Commands and permissions

Command Who What
/huntadmin Admins Zones, places, overview, set license/level, competitions
/hunttablet everyone Hunting tablet (also as an item), name in Config.Tablet.Command
/huntdog <command> Dog owners call, follow, sit, search, fetch, home
/huntparty accept / decline Invited players Accept or decline a hunting party invite

Permissions:

Permission How
Admin menu /huntadmin ACE pepper_hunting.admin (ServerConfig.AdminAce) or a group from Config.AdminGroups
Hunting all players – legal with a hunting license, otherwise poaching
Police alerts jobs from Config.Poaching.PoliceJobs (minimum grade)

Keys (Config.Keys, GTA control IDs):

Key Purpose
E Place a point (outline), inspect a track
X Remove the last point
Enter Finish the outline
ESC Cancel placement
F Leave a hunting stand, lower the binoculars
Q Rotate a hunting stand while placing it

Exports

Server

exports.pepper_hunting:getZones()                 -- all hunting zones
exports.pepper_hunting:getZoneAt(x, y)            -- zone at a position or nil
exports.pepper_hunting:getPlayerZone(src)         -- zone the player stands in, or nil
exports.pepper_hunting:getHunter(src)             -- level, XP, statistics, collection
exports.pepper_hunting:getLevel(src)              -- hunter level
exports.pepper_hunting:addXp(src, amount)         -- add XP
exports.pepper_hunting:getLicense(src)            -- hunting license with extensions
exports.pepper_hunting:hasLicense(src)            -- true/false
exports.pepper_hunting:giveLoot(src, species, quality, weight) -- give loot items
exports.pepper_hunting:startEvent(template)       -- start a competition
exports.pepper_hunting:getDog(src)                -- hunting dog or nil

Client

exports.pepper_hunting:isInHuntingZone()
exports.pepper_hunting:getCurrentZone()
exports.pepper_hunting:openTablet()

FAQ

The hunting weapon disappears right away.

ox_inventory removes weapons that were not drawn from the inventory. Add setr inventory:ignoreweapons [100416529,487013001,-1716189206] without spaces and before ensure ox_inventory to your server.cfg. The server console prints the correct line on start.

No animals show up in the hunting zone.

Check that the zone is active and that you have the zone's minimum level. Animals only spawn near hunters. Config.Debug = true shows zone outlines and animal markers.

The items have no images or are missing.

Add the contents of install/ox_items_en.lua (or ox_items.lua) to ox_inventory/data/items.lua and copy all images from install/images/ to ox_inventory/web/images/. The console lists missing items by name on start.

Do I need to import the SQL file?

No. The script creates its 12 tables on start and adds missing columns. You only need install/pepper_hunting.sql if your database user is not allowed to create tables.

Dealers or places are in the wrong spot.

/huntadmin → Locations → set the place again. The presets are approximations; on custom maps or with MLOs, take a look.

The police get no poaching alert.

Is a supported dispatch script running? Otherwise the built-in alert for the jobs in Config.Poaching.PoliceJobs is used. A witness only reports with a 60 % chance (Config.Poaching.ReportChance).

"Butcher for the kitchen" is missing at the game dealer.

Pepper Eats must be running and its game recipes must not be switched off (Config.WildRecipes).

Can I play without hunting license rules?

Yes: Config.License.Enabled = false. Then everyone may hunt everything and nothing counts as poaching.

How do I create my own hunting zone?

In game with /huntadmin → Zones → "New hunting zone", then mark the outline with E. The presets from config/zones.lua are only created on an empty database (Config.Zones.SeedPresets).

How do I change texts or the language?

Language via Config.Locale ('de' or 'en'), texts in locales/de/*.json or locales/en/*.json. Item names live in ox_inventory/data/items.lua.

How do I make levelling faster or slower?

Config.Level.XpCurve in config/progression.lua (1.25 ≈ 60 hours to level 50). For an event weekend, Config.Level.XpMultiplier = 2.0.

Stalking is too hard.

Lower Config.Perception.Difficulty (default 0.85, 0.6 = easy). The factor affects hearing, sight and scent.

Which inventories are supported?

Only ox_inventory. Loot carries quality, hunter and "legal/illegal" as metadata.

Support

Discord → ticket (category "Script Support") at https://discord.gg/6NaFJWKDYu, link your purchase with /verify first.

Permanently tested on the Pepper Scripts dev server.

Changelog

Current: 1.0.1 (2026-10-25) – "Butcher for the kitchen" no longer appears when Pepper Eats has switched off the game recipes. All changes are listed in CHANGELOG.md in the resource.


Found a mistake? Report it on Discord.