Documentation › Hunting System › Features › Hunting & Skinning
Spawning, skinning and blood minigames, carcasses, markets and the reward card.
Animals spawn gradually around hunters inside zones (config_zones.lua) and flee when a moving hunter gets close.
| Setting | Default | Meaning |
|---|---|---|
Config.MaxAnimalsNearPlayer |
6 | Cap on live animals around one hunter |
Config.MinSpawnDistance |
60 m | Animals never appear closer |
Config.PNearAnimalToEscape |
15 m | Base flee distance (camouflage, night and weather change it) |
Config.huntAllMap |
false | Hunt anywhere instead of only in zones |
Hunting weapons (Config.HuntingWeapons, the musket by default) only hurt animals. Shots at players or NPCs are cancelled by the server.
Skinning needs a knife from Config.KnifesForHarvest. A headshot can guarantee a perfect hide and skip the minigame.
With Config.Skinning.mode = 'cut' (default) the camera moves above the carcass, the hunter holds a knife and cuts along lines laid over the animal's own skeleton:
Config.Skinning = {
mode = 'cut', -- 'cut' | 'classic' (timing bar) | 'none'
timeLimit = 45, -- seconds
tolerance = 1.0, -- 1.5 easier, 0.7 harder
cameraHeight = 1.0, -- raise if big animals don't fit
}With Config.ServerRollQuality = true the server decides the final quality, so the result can't be faked.
With a hunting_syringe, players draw blood from a carcass once. In minigame mode there are no panels or numbers on screen:
minCleanChance and maxCleanChance (capped by the server). Older carcasses clot faster.Config.BloodDraw = {
mode = 'minigame', -- or 'classic' (progress bar)
minCleanChance = 10,
maxCleanChance = 85,
freshMinutes = 3,
clotMinutes = 15,
}Unskinned deer, boar and rabbit carcasses can be carried (G to drop), loaded onto an allowed vehicle and handed to the butcher, who turns them into extra meat and sometimes a hide. Handed-over carcasses are removed and can't be used again.
Config.Carcass = {
processTime = 10, -- seconds at the butcher
processMeatMult = 2.0, -- meat multiplier
hideChance = 70, -- % chance of a hide
allowedVehicles = { ['verus'] = true },
express = { enable = true, pricePerMinute = 25, minPrice = 50 }, -- pay to finish now
}| NPC | Buys | Pays to |
|---|---|---|
| Hunter | Hides, parts, raw meat (license required), crafted goods | cash |
| Black market | Everything, protected species too | black money |
| Syringe buyer | Blood syringes; barters items for syringes | black money |
| Cooked meat buyer | Cooked meat | cash |
| Butcher | Processes carcasses | — |
| Tanner | Crafts goods from hides (Tannery) | — |
NPC positions can be moved live in Admin → General → NPC positions.
After skinning, a card slides in on the right with the animal, quality stars, its weight on the species range, loot, XP, record banners and contract progress. Legends get a gold version.
Config.RewardScreen = {
enable = true, -- false = classic text notification
duration = 7, -- seconds on screen
}Every animal a player spawns is reported to the server and checked: inside its zone, a species that lives there, not at the player's feet, not spawned dead, and within spawn and live limits. Bait, calls and trap catches get a one-time server ticket. Animals the server doesn't know can't be skinned, bled or loaded – the player sees "You can't use this animal" and the anticheat webhook gets an entry.
A headshot only counts when the skinner (or their party) killed the animal with a hunting weapon, and a headshot rate above maxHeadshotRate % over the last kills is ignored. Every reward is decided on the server: items are paid only after they really left the inventory, and every event and callback has a rate limit.
-- config_main.lua
Config.AnimalGuard = {
enable = true,
maxLivePerPlayer = 40, -- animals one player may have spawned at the same time
spawnsPerMinute = 40, -- zone / bird spawns one player may report per minute
minSpawnDistance = 25.0, -- zone animals can't appear closer than this (m)
maxHeadshotRate = 75, -- % of headshots in the last kills above which headshots are ignored
headshotSample = 20, -- how many recent kills the rate is measured on
}The registry turns off automatically with Config.NativeAnimal. If legit animals are ever refused, set enable = false and send us the console lines that start with suspicious.