MT Hunting config files
Here you can see the default config and data files for the MT Hunting, not that some changes might occur during updates.
client config
---@class clientConfig
---@field aimblock boolean blocks hunting weapon's aiming at players
---@field shops table shops locations
---@field stove table stove config
return {
aimblock = true, -- blocks hunting weapon's aiming at players
shops = { -- Shops locations
{
coords = vec4(-679.07, 5834.46, 16.33, 132.2),
model = 'cs_hunter',
anim = {
scenario = 'WORLD_HUMAN_CLIPBOARD'
},
},
},
stove = {
model = 'prop_hobo_stove_01'
}
}
server config
---@class serverConfig
---@field stove table stove settings
---@field tournaments table tournaments settings
return {
stove = {
slots = 10,
weight = 100 * 1000,
cookTime = 10, -- cook time in seconds
},
tournaments = {
prize = { -- tournaments money prizes
min = 2500,
max = 5000
},
duration = 0.01 -- duration in days
}
}
shared config
---@class sharedConfig
---@field debug boolean enable debug mode for console messages and animals blips
---@field menuOptions table the options to show on the menu
---@field buyItems table items available for purchase
---@field sellItems table items available for sale
---@field animalsSpawn table animals spawn settings
return {
debug = true, -- Enable debug mode for console messages and animals blips
menuOptions = {
buy = true,
sell = true
},
buyItems = { -- Items for the shop tab
{ name = 'weapon_musket', price = 750, xp = 0 },
{ name = 'ammo-musket', price = 5, xp = 0 },
{ name = 'weapon_switchblade', price = 100, xp = 0 },
{ name = 'weapon_sniperrifle', price = 1000, xp = 1000 },
{ name = 'ammo-sniper', price = 10, xp = 1000 },
{ name = 'weapon_knife', price = 500, xp = 500 },
{ name = 'hunting_stove', price = 1500, xp = 250 },
},
sellItems = { -- Items for the shop sell tab
{ name = 'hunting_deer_skin', price = 500 },
{ name = 'hunting_mtlion_skin', price = 500 },
{ name = 'hunting_boar_skin', price = 500 },
{ name = 'hunting_coyote_skin', price = 500 },
{ name = 'hunting_chickenhawk_skin', price = 500 },
{ name = 'hunting_rabbit_skin', price = 500 },
{ name = 'hunting_crow_skin', price = 500 },
{ name = 'hunting_pigeon_skin', price = 500 },
{ name = 'hunting_seagull_skin', price = 500 },
{ name = 'hunting_deer_meat', price = 200 },
{ name = 'hunting_mtlion_meat', price = 200 },
{ name = 'hunting_boar_meat', price = 200 },
{ name = 'hunting_coyote_meat', price = 200 },
{ name = 'hunting_chickenhawk_meat', price = 200 },
{ name = 'hunting_rabbit_meat', price = 200 },
{ name = 'hunting_crow_meat', price = 200 },
{ name = 'hunting_pigeon_meat', price = 200 },
{ name = 'hunting_seagull_meat', price = 200 },
},
animalsSpawn = { -- Animals spawn settings
interval = 30, -- spawn interval in seconds
despawnTime = 300, -- despawn time in seconds after animal dies
legal = { -- zone type
maxPerZone = 20, -- max animals per zone
chance = 100, -- spawn chance percentage (0 - 100)
},
ilegal = {
maxPerZone = 30,
chance = 80,
}
}
}
animals data
---@class animals
---@field legal table legal animals table
---@field ilegal table ilegal animals table
-- The legal animals will spawn in the legal zones and the ilegal animals will spawn in the ilegal zones.
return {
legal = {
{
label = 'Deer',
model = 'a_c_deer',
skinTime = 7500,
skin = 'hunting_deer_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_deer_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 0,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
},
{
label = 'Boar',
model = 'a_c_boar',
skinTime = 7500,
skin = 'hunting_boar_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_boar_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 0,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
},
{
label = 'Rabbit',
model = 'a_c_rabbit_01',
skinTime = 3000,
skin = 'hunting_rabbit_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_rabbit_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 0,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
},
{
label = 'Pigeon',
model = 'a_c_pigeon',
skinTime = 3000,
skin = 'hunting_pigeon_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_pigeon_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 0,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
}
},
ilegal = {
{
label = 'Mountain Lion',
model = 'a_c_mtlion',
skinTime = 5000,
skin = 'hunting_mtlion_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_mtlion_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 500,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
},
{
label = 'Coyote',
model = 'a_c_coyote',
skinTime = 5000,
skin = 'hunting_coyote_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_coyote_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 250,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
},
{
label = 'Chicken Hawk',
model = 'a_c_chickenhawk',
skinTime = 2500,
skin = 'hunting_chickenhawk_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_chickenhawk_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 500,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
},
{
label = 'Crow',
model = 'a_c_crow',
skinTime = 2500,
skin = 'hunting_crow_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_crow_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 250,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
},
{
label = 'Seagull',
model = 'a_c_seagull',
skinTime = 2500,
skin = 'hunting_seagull_skin',
skinPrice = 100,
skinQuantity = {
min = 5,
max = 10
},
meat = 'hunting_seagull_meat',
meatPrice = 50,
meatQuantity = {
min = 10,
max = 15
},
needXp = 500,
xpGain = {
min = 1,
max = 5
},
minHunger = 10,
maxHunger = 30
}
}
}
zones data
---@class zones
---@field legal table<string, { coords: vector3, radius: number }>
---@field ilegal table<string, { coords: vector3, radius: number }>
-- This is the GTA MAP zones where the animals will spawn.
-- Zone names based on: https://docs.fivem.net/natives/?_0x98CD1D2934B76CC1
-- The coords and radius are not 100% accurate, they are just a rough estimate.
return {
legal = {
['CMSW'] = { coords = vec3(-2086.0, 2617.5, 2.0), radius = 350 },
['MTGORDO'] = { coords = vec3(3149.0, 4465.0, 42.0), radius = 400 },
['MTJOSE'] = { coords = vec3(2736.0, 5977.0, 72.0), radius = 350 },
['PALFOR'] = { coords = vec3(-685.0, 5830.0, 17.0), radius = 400 },
['SANCHIA'] = { coords = vec3(2675.0, 1492.0, 31.0), radius = 300 },
['CCREAK'] = { coords = vec3(-936.0, 4449.0, 15.0), radius = 350 },
['GREATC'] = { coords = vec3(-1000.0, 4400.0, 25.0), radius = 350 },
['SLAB'] = { coords = vec3(1100.0, 2650.0, 38.0), radius = 300 },
['TATAMO'] = { coords = vec3(-1084.0, 3585.0, 34.0), radius = 500 },
['WINDF'] = { coords = vec3(2246.0, 3859.0, 41.0), radius = 250 },
['TONGVAH'] = { coords = vec3(-1165.0, 4700.0, 220.0), radius = 300 },
['CHIL'] = { coords = vec3(-100.0, 4350.0, 85.0), radius = 350 },
['RGLEN'] = { coords = vec3(-1550.0, 4400.0, 20.0), radius = 300 },
['GALFISH'] = { coords = vec3(1325.0, 4300.0, 36.0), radius = 300 },
},
ilegal = {
['PALHIGH'] = { coords = vec3(-170.0, 6144.0, 42.0), radius = 400 },
['MTCHIL'] = { coords = vec3(450.0, 5615.0, 796.0), radius = 600 },
['GRAPES'] = { coords = vec3(2125.0, 4980.0, 41.0), radius = 350 },
['LACT'] = { coords = vec3(1690.0, 6400.0, 31.0), radius = 300 },
['NCHU'] = { coords = vec3(-2020.0, 1975.0, 140.0), radius = 300 },
['PROCOB'] = { coords = vec3(220.0, 3300.0, 41.0), radius = 300 },
['ZQ_UAR'] = { coords = vec3(3500.0, 3750.0, 38.0), radius = 350 }
}
}
weapons data
---@class weapons
---@field knifes table<string> List of knife weapons
---@field rifles table<string> List of rifle weapons
-- The weapons that will be used to kill and skin the animals
return {
knifes = {
'weapon_switchblade',
'weapon_knife'
},
rifles = {
'weapon_musket',
'weapon_sniperrifle'
}
}