πConfig
Config = {}
Config.Locale = 'en' -- "en" or "pt"
Config.AutoDatabaseSetup = true -- Automatically create required database tables on server start
Config.Debug = false -- Enable debug prints in console
-- Farm Sale/Transfer System
Config.FarmManagement = {
-- Maximum farms per player
maxFarmsPerPlayer = 1, -- Maximum number of farms a player can own
-- Allow selling farms back to the system
allowSell = true,
sellBackPercentage = 0.7, -- Receives 70% of the paid value
-- Allow transferring farms to other players
allowTransfer = true,
transferCost = 5000, -- Cost to transfer farm
transferRange = 10.0, -- Maximum distance to transfer (meters)
-- Statistics tracking
trackStatistics = true,
}
-- Debug/Admin Commands
Config.Commands = {
farmReset = {
enabled = true,
name = 'farmreset',
help = 'Reset your farm ownership and clear all data',
restricted = true, -- Only admins can use
},
farmClear = {
enabled = true,
name = 'farmclear',
help = 'Clear all plants and animals but keep farm ownership',
restricted = true, -- Only admins can use
},
}
-- Multiplayer / Co-op System
Config.Multiplayer = {
enabled = true,
maxCoOwners = 3, -- Maximum number of co-owners per farm
}
-- Shop Location
Config.ShopLocation = {
blip = { enable = true, sprite = 478, color = 2, scale = 0.8, label = "Farm Shop" },
npc = {
enabled = true,
coords = vec4(2030.4, 4980.38, 41.1, 313.93),
model = 'a_m_m_farmer_01',
scenario = 'WORLD_HUMAN_CLIPBOARD',
}
}
-- ===================================
-- FARM SEEDS
-- ===================================
Config.Seeds = {
{
id = 'tomato_seed', -- unique identifier
label = 'Tomato Seeds', -- display name
price = 50, -- price in in-game currency
model = 'prop_plant_01a', -- prop model for planted seed
growTime = 5, -- minutes to fully grow
harvestItem = 'tomato', -- item received on harvest
harvestAmount = {min = 3, max = 6}, -- range of items received on harvest
healthRegenRate = 1.5, -- gains 1.5% health per minute when watered/fertilized
minHealthForHarvest = 100 -- needs 100% health to harvest
},
{
id = 'corn_seed',
label = 'Corn Seeds',
price = 75,
model = 'prop_plant_01b',
growTime = 7.5, -- minutes to fully grow
harvestItem = 'corn',
harvestAmount = {min = 4, max = 8},
healthRegenRate = 1.2,
minHealthForHarvest = 100
},
{
id = 'potato_seed',
label = 'Potato Seeds',
price = 40,
model = 'prop_plant_01a',
growTime = 4, -- minutes to fully grow
harvestItem = 'potato',
harvestAmount = {min = 2, max = 5},
healthRegenRate = 2.0,
minHealthForHarvest = 100
},
{
id = 'wheat_seed',
label = 'Wheat Seeds',
price = 60,
model = 'prop_plant_01b',
growTime = 6, -- minutes to fully grow
harvestItem = 'wheat',
harvestAmount = {min = 5, max = 10},
healthRegenRate = 1.0,
minHealthForHarvest = 100
},
{
id = 'lettuce_seed',
label = 'Lettuce Seeds',
price = 35,
model = 'prop_plant_01a',
growTime = 3, -- minutes to fully grow
harvestItem = 'lettuce',
harvestAmount = {min = 2, max = 4},
healthRegenRate = 2.5,
minHealthForHarvest = 100
},
{
id = 'carrot_seed',
label = 'Carrot Seeds',
price = 45,
model = 'prop_plant_01a',
growTime = 4.5, -- minutes to fully grow
harvestItem = 'carrot',
harvestAmount = {min = 3, max = 5},
healthRegenRate = 1.8,
minHealthForHarvest = 100
},
{
id = 'pumpkin_seed',
label = 'Pumpkin Seeds',
price = 80,
model = 'prop_plant_01b',
growTime = 8, -- minutes to fully grow
harvestItem = 'pumpkin',
harvestAmount = {min = 1, max = 3},
healthRegenRate = 0.8,
minHealthForHarvest = 100
},
{
id = 'strawberry_seed',
label = 'Strawberry Seeds',
price = 65,
model = 'prop_plant_01a',
growTime = 5.5, -- minutes to fully grow
harvestItem = 'strawberry',
harvestAmount = {min = 4, max = 7},
healthRegenRate = 1.3,
minHealthForHarvest = 100
}
}
-- ===================================
-- FARM ANIMALS
-- ===================================
Config.Animals = {
{
id = 'cow',
label = 'Cow',
price = 5000,
model = 'a_c_cow',
-- Production system
productionTime = 60, -- 60 minutes (1 hour) to produce milk
productItem = 'milk',
productAmount = {min = 2, max = 5},
maxDurability = 20, -- 20 collections before animal dies
-- Needs decay (per minute)
hungerDecay = 1.5, -- loses 1.5% hunger per minute
thirstDecay = 2.0, -- loses 2% thirst per minute
healthDecay = 0.5, -- loses 0.5% health per minute if neglected
healthRegenRate = 2.0, -- gains 2% health per minute when well fed/hydrated
-- Care values
feedValue = 30, -- feeding increases hunger by 30%
waterValue = 35, -- watering increases thirst by 35%
minHealthForCollection = 100, -- needs 100% health to collect product
},
{
id = 'pig',
label = 'Pig',
price = 3000,
model = 'a_c_pig',
-- Production system
productionTime = 20, -- 20 minutes to produce
productItem = 'raw_meat',
productAmount = {min = 1, max = 3},
maxDurability = 15, -- 15 collections before animal dies
-- Needs decay (per minute)
hungerDecay = 2.0,
thirstDecay = 2.5,
healthDecay = 0.8,
healthRegenRate = 1.5, -- gains 1.5% health per minute when well fed/hydrated
-- Care values
feedValue = 35,
waterValue = 40,
minHealthForCollection = 100, -- needs 100% health to collect product
},
{
id = 'chicken',
label = 'Chicken',
price = 1500,
model = 'a_c_hen',
-- Production system
productionTime = 10, -- 10 minutes to produce eggs
productItem = 'egg',
productAmount = {min = 1, max = 3},
maxDurability = 30, -- 30 collections before chicken dies
-- Needs decay (per minute)
hungerDecay = 2.5,
thirstDecay = 3.0,
healthDecay = 1.0,
healthRegenRate = 2.5, -- gains 2.5% health per minute when well fed/hydrated
-- Care values
feedValue = 40,
waterValue = 45,
minHealthForCollection = 100, -- needs 100% health to collect product
},
{
id = 'boar',
label = 'Boar',
price = 4000,
model = 'a_c_boar',
-- Production system
productionTime = 25, -- 25 minutes to produce
productItem = 'wild_meat',
productAmount = {min = 2, max = 4},
maxDurability = 12, -- 12 collections before boar dies
-- Needs decay (per minute)
hungerDecay = 2.2,
thirstDecay = 2.8,
healthDecay = 1.0,
healthRegenRate = 1.3, -- gains 1.3% health per minute when well fed/hydrated
-- Care values
feedValue = 32,
waterValue = 38,
minHealthForCollection = 100, -- needs 100% health to collect product
},
{
id = 'deer',
label = 'Deer',
price = 6000,
model = 'a_c_deer',
-- Production system
productionTime = 35, -- 35 minutes to produce
productItem = 'venison',
productAmount = {min = 2, max = 5},
maxDurability = 18, -- 18 collections before deer dies
-- Needs decay (per minute)
hungerDecay = 1.8,
thirstDecay = 2.2,
healthDecay = 0.6,
healthRegenRate = 1.8, -- gains 1.8% health per minute when well fed/hydrated
-- Care values
feedValue = 28,
waterValue = 33,
minHealthForCollection = 100, -- needs 100% health to collect product
},
{
id = 'rabbit',
label = 'Rabbit',
price = 1200,
model = 'a_c_rabbit_01',
-- Production system
productionTime = 10, -- 10 minutes to produce
productItem = 'rabbit_pelt',
productAmount = {min = 1, max = 2},
maxDurability = 35, -- 35 collections before rabbit dies
-- Needs decay (per minute)
hungerDecay = 3.0,
thirstDecay = 3.5,
healthDecay = 1.2,
healthRegenRate = 2.8, -- gains 2.8% health per minute when well fed/hydrated
-- Care values
feedValue = 42,
waterValue = 48,
minHealthForCollection = 100, -- needs 100% health to collect product
},
}
-- ===================================
-- FARM SUPPLIES
-- ===================================
Config.Supplies = {
{
id = 'water',
label = 'Water Bucket',
price = 10, -- Price on shop per unit
value = 25 -- Value when watering plant (increases water by 25%)
},
{
id = 'fertilizer',
label = 'Fertilizer Bag',
price = 25, -- Price on shop per unit
value = 50 -- Value when applying fertilizer to plant (increases fertilizer by 50%)
},
{
id = 'animal_feed',
label = 'Animal Feed',
price = 15, -- Price on shop per unit
value = 50 -- Value when feeding animal (reduces hunger by 50%)
}
}
-- ===================================
-- FARM UPGRADES
-- ===================================
Config.Upgrades = {
{
id = 'extra_plants',
label = 'Extra Plant Slots',
description = 'Add 4 additional plant slots to your farm',
icon = 'seedling',
price = 25000,
bonus = { type = 'plants', value = 4 }
},
{
id = 'extra_animals',
label = 'Extra Animal Slots',
description = 'Add 2 additional animal slots to your farm',
icon = 'paw',
price = 30000,
bonus = { type = 'animals', value = 2 }
},
{
id = 'extra_storage',
label = 'Storage Expansion',
description = 'Increase storage capacity by 50 units',
icon = 'box',
price = 20000,
bonus = { type = 'storage', value = 50 }
},
{
id = 'water_system',
label = 'Automated Water System',
description = 'Plants water automatically, reducing maintenance',
icon = 'water',
price = 40000,
bonus = { type = 'auto_water', value = true }
-- Auto-watering happens during decay checks (every 60 seconds)
-- Automatically adds water when plant water level is below 50%
-- Adds 25% water per check
},
{
id = 'feed_system',
label = 'Automated Feed System',
description = 'Animals feed automatically, reducing maintenance',
icon = 'utensils',
price = 45000,
bonus = { type = 'auto_feed', value = true }
-- Auto-feeding happens during decay checks (every 60 seconds)
-- Automatically feeds animals when hunger is above 50%
-- Reduces hunger by 30%
-- Automatically gives water when thirst is above 50%
-- Reduces thirst by 35%
},
{
id = 'greenhouse',
label = 'Greenhouse',
description = 'Plants grow 25% faster',
icon = 'home',
price = 50000,
bonus = { type = 'growth_speed', value = 1.25 }
}
}
-- ===================================
-- FARM LOCATIONS
-- ===================================
Config.FarmLocations = {
{
id = 1,
label = "Grapeseed Farm",
buy_zone = vector3(2221.0, 4931.05, 40.84),
management_coords = vec4(2222.05, 4932.12, 39.85, 311.69),
zone = {
vector3(2218.6, 4934.97, 40.88),
vector3(2225.25, 4941.89, 41.02),
vector3(2231.66, 4935.53, 40.92),
vector3(2224.73, 4928.56, 40.8)
},
renderDistance = 100.0,
blip = { enable = true, sprite = 685, color = 25, scale = 0.8},
npc = {
enabled = true,
coords = vec4(2221.0, 4931.05, 40.84, 180.0),
model = 'a_m_m_farmer_01',
scenario = 'WORLD_HUMAN_CLIPBOARD'
},
price = 100000,
allowAnimals = 6,
allowPlants = 8,
benefits = {
"Grow various types of crops",
"Raise animals and produce resources",
"Upgrade and expand your farm",
"Sell products at the market"
}
},
{
id = 2,
label = "Grapeseed Farm",
buy_zone = vector3(2230.88, 4921.39, 39.77),
management_coords = vec4(2229.89, 4923.64, 39.78, 316.94),
zone = {
vector3(2226.36, 4926.78, 39.79),
vector3(2233.21, 4933.43, 39.86),
vector3(2240.45, 4925.88, 39.86),
vector3(2233.82, 4919.37, 39.77)
},
renderDistance = 100.0,
blip = { enable = true, sprite = 685, color = 25, scale = 0.8},
npc = {
enabled = true,
coords = vec4(2230.88, 4921.39, 40.77, 90.0),
model = 'a_m_m_farmer_01',
scenario = 'WORLD_HUMAN_CLIPBOARD'
},
price = 100000,
allowAnimals = 6,
allowPlants = 8,
benefits = {
"Grow various types of crops",
"Raise animals and produce resources",
"Upgrade and expand your farm",
"Sell products at the market"
}
}
}
-- ===================================
-- NOTIFICATIONS SYSTEM
-- ===================================
Config.Notifications = {
enabled = true,
checkInterval = 300000, -- Check every 5 minutes (in milliseconds)
-- Notification thresholds
plantWaterLow = 30, -- Notify when water is below 30%
plantHealthLow = 40, -- Notify when health is below 40%
animalHungerHigh = 70, -- Notify when hunger is above 70%
animalThirstHigh = 70, -- Notify when thirst is above 70%
animalHealthLow = 30, -- Notify when health is below 30%
}
-- ===================================
-- WEATHER SYSTEM
-- ===================================
Config.Weather = { -- This is available only for qb-weathersync or Renewed-Weathersync or custom
enabled = true,
-- Weather effects on plant growth
effects = {
CLEAR = { growthMultiplier = 1.0, autoWater = false },
EXTRASUNNY = { growthMultiplier = 1.1, autoWater = false },
CLOUDS = { growthMultiplier = 0.95, autoWater = false },
OVERCAST = { growthMultiplier = 0.9, autoWater = false },
RAIN = { growthMultiplier = 0.85, autoWater = true }, -- Rain waters plants automatically
THUNDER = { growthMultiplier = 0.8, autoWater = true },
CLEARING = { growthMultiplier = 0.95, autoWater = false },
NEUTRAL = { growthMultiplier = 1.0, autoWater = false },
SMOG = { growthMultiplier = 0.7, autoWater = false },
FOGGY = { growthMultiplier = 0.75, autoWater = false },
XMAS = { growthMultiplier = 0.9, autoWater = false },
SNOWLIGHT = { growthMultiplier = 0.6, autoWater = false },
BLIZZARD = { growthMultiplier = 0.5, autoWater = false },
},
-- Seasonal multipliers (bonus on top of weather)
seasons = {
spring = { months = {3, 4, 5}, multiplier = 1.2, label = "Spring" }, -- March to May - Best for growing
summer = { months = {6, 7, 8}, multiplier = 1.1, label = "Summer" }, -- June to August - Good for growing
autumn = { months = {9, 10, 11}, multiplier = 0.9, label = "Autumn" }, -- September to November - Slower growth
winter = { months = {12, 1, 2}, multiplier = 0.7, label = "Winter" }, -- December to February - Slowest growth
}
}
-- ===================================
-- MARKET SYSTEM (NPC Buyer)
-- ===================================
Config.Market = {
enabled = true,
-- NPC Location
blip = { enable = true, sprite = 479, color = 2, scale = 0.8, label = "Farm Market" },
npc = {
coords = vec4(2310.5, 4884.98, 40.81, 45.58),
model = 'a_m_m_farmer_01',
scenario = 'WORLD_HUMAN_CLIPBOARD',
},
-- Product prices (base price, can fluctuate)
prices = {
-- Crops
tomato = { base = 15, min = 10, max = 25 },
corn = { base = 20, min = 15, max = 30 },
potato = { base = 12, min = 8, max = 20 },
wheat = { base = 18, min = 12, max = 28 },
lettuce = { base = 10, min = 6, max = 18 },
carrot = { base = 14, min = 9, max = 22 },
pumpkin = { base = 35, min = 25, max = 50 },
strawberry = { base = 22, min = 16, max = 32 },
-- Animal Products
milk = { base = 30, min = 20, max = 45 },
raw_meat = { base = 40, min = 30, max = 55 },
egg = { base = 8, min = 5, max = 15 },
wild_meat = { base = 50, min = 35, max = 70 },
venison = { base = 60, min = 45, max = 85 },
rabbit_pelt = { base = 20, min = 15, max = 30 },
},
-- Price fluctuation
priceFluctuation = {
enabled = true,
updateInterval = 3600000, -- Update prices every hour (in milliseconds)
maxChange = 0.15, -- Max 15% change per update
},
-- Bulk sale bonus
bulkBonus = {
enabled = true,
thresholds = {
{ amount = 10, bonus = 1.05 }, -- 5% bonus for 10+ items
{ amount = 25, bonus = 1.10 }, -- 10% bonus for 25+ items
{ amount = 50, bonus = 1.15 }, -- 15% bonus for 50+ items
{ amount = 100, bonus = 1.20 }, -- 20% bonus for 100+ items
}
}
}
-- ===================================
-- DECAY SYSTEM
-- ===================================
Config.Decay = {
enabled = true,
-- Plant decay settings
plants = {
-- Water decay (decreases over time)
waterDecayRate = 2.0, -- % per minute when not watered
healthDecayRate = 1.0, -- % per minute when water is 0
deathThreshold = 0, -- Plant dies at 0% health
-- Death consequences
onDeath = {
removeFromWorld = true, -- Remove entity from world
deleteFromDatabase = true, -- Delete from database
notifyPlayer = true, -- Send notification
}
},
-- Animal decay settings
animals = {
-- Needs decay rates (defined per animal in Config.Animals)
hungerDecayRate = 1.5, -- Default % per minute when not fed
thirstDecayRate = 2.0, -- Default % per minute when not given water
-- Death
deathThreshold = 0, -- Animal dies at 0 health
-- Death consequences
onDeath = {
removeFromWorld = true, -- Remove entity from world
deleteFromDatabase = true, -- Delete from database
notifyPlayer = true, -- Notify player on death
dropLoot = true, -- Drop some items on death
lootTable = {
{ item = 'raw_meat', chance = 0.8, amount = {min = 1, max = 3} },
}
}
},
-- Check interval
checkInterval = 60000, -- Check every minute (milliseconds)
}
-- ===================================
-- DELIVERY/CONTRACTS SYSTEM
-- ===================================
Config.Contracts = {
enabled = true,
-- Contract NPC
blip = { enable = true, sprite = 480, color = 5, scale = 0.8, label = "Farm Contracts" },
npc = {
coords = vec4(2416.57, 4993.9, 45.22, 136.95),
model = 's_m_m_postal_01',
scenario = 'WORLD_HUMAN_CLIPBOARD',
},
-- Contract settings
maxActiveContracts = 3, -- Max contracts player can have at once
contractExpireTime = 86400000, -- Contracts expire after 24 hours (ms)
-- Reputation system
reputation = {
enabled = true,
ranks = {
{ name = "Novice Farmer", min = 0, max = 100, bonusReward = 1.0 },
{ name = "Skilled Farmer", min = 100, max = 300, bonusReward = 1.1 },
{ name = "Expert Farmer", min = 300, max = 600, bonusReward = 1.2 },
{ name = "Master Farmer", min = 600, max = 1000, bonusReward = 1.3 },
{ name = "Legendary Farmer", min = 1000, max = 999999, bonusReward = 1.5 },
},
reputationGainOnComplete = 10, -- Rep gained per contract
reputationLossOnFail = 5, -- Rep lost if contract expires
reputationLossOnCancel = 3, -- Rep lost if player cancels
},
-- Available contract types
contractTypes = {
{
id = 'deliver_vegetables',
label = 'Fresh Vegetables Delivery',
description = 'The local restaurant needs fresh vegetables',
type = 'delivery',
items = {
{ name = 'tomato', amount = {min = 10, max = 20} },
{ name = 'lettuce', amount = {min = 15, max = 25} },
{ name = 'carrot', amount = {min = 12, max = 18} },
},
reward = {
money = {min = 500, max = 800},
reputation = 10,
items = {
{ name = 'fertilizer', amount = {min = 5, max = 10}, chance = 0.5 },
}
},
deliveryLocation = vec4(151.76, -1478.19, 28.36, 231.49),
difficulty = 'easy',
minReputation = 0, -- No reputation required
weight = 1.0, -- Spawn weight (higher = more common)
},
{
id = 'deliver_grains',
label = 'Grain Delivery',
description = 'The mill needs fresh grain for production',
type = 'delivery',
items = {
{ name = 'wheat', amount = {min = 20, max = 35} },
{ name = 'corn', amount = {min = 15, max = 25} },
},
reward = {
money = {min = 700, max = 1200},
reputation = 15,
items = {
{ name = 'water', amount = {min = 2, max = 5}, chance = 0.3 },
}
},
deliveryLocation = vec4(-1283.67, -1131.04, 5.79, 142.16),
difficulty = 'medium',
minReputation = 50, -- Requires Apprentice rank
weight = 0.8,
},
{
id = 'deliver_meat',
label = 'Fresh Meat Delivery',
description = 'The butcher needs quality meat',
type = 'delivery',
items = {
{ name = 'raw_meat', amount = {min = 10, max = 20} },
{ name = 'wild_meat', amount = {min = 5, max = 10} },
},
reward = {
money = {min = 900, max = 1500},
reputation = 20,
items = {
{ name = 'animal_feed', amount = {min = 10, max = 20}, chance = 0.4 },
}
},
deliveryLocation = vec4(-428.69, 294.2, 82.23, 263.02),
difficulty = 'medium',
minReputation = 50, -- Requires Apprentice rank
weight = 0.7,
},
{
id = 'deliver_dairy',
label = 'Dairy Products Delivery',
description = 'The market needs dairy products',
type = 'delivery',
items = {
{ name = 'milk', amount = {min = 15, max = 30} },
{ name = 'egg', amount = {min = 30, max = 50} },
},
reward = {
money = {min = 800, max = 1400},
reputation = 12,
items = {
{ name = 'water', amount = {min = 3, max = 6}, chance = 0.3 },
}
},
deliveryLocation = vec4(94.95, -1810.02, 26.08, 228.85),
difficulty = 'easy',
minReputation = 0, -- No reputation required
weight = 0.9,
},
{
id = 'deliver_premium',
label = 'Premium Farm Package',
description = 'A wealthy client wants premium farm products',
type = 'delivery',
items = {
{ name = 'strawberry', amount = {min = 20, max = 30} },
{ name = 'venison', amount = {min = 8, max = 15} },
{ name = 'pumpkin', amount = {min = 5, max = 10} },
},
reward = {
money = {min = 2000, max = 3500},
reputation = 35,
items = {
{ name = 'fertilizer', amount = {min = 5, max = 10}, chance = 0.5 },
}
},
deliveryLocation = vec4(501.38, -1966.39, 23.99, 120.71),
difficulty = 'hard',
minReputation = 300, -- Requires Skilled Farmer rank
weight = 0.3,
},
{
id = 'deliver_luxury',
label = 'Luxury Restaurant Order',
description = 'A 5-star restaurant needs premium ingredients',
type = 'delivery',
items = {
{ name = 'venison', amount = {min = 15, max = 25} },
{ name = 'strawberry', amount = {min = 25, max = 40} },
{ name = 'milk', amount = {min = 20, max = 35} },
{ name = 'egg', amount = {min = 40, max = 60} },
},
reward = {
money = {min = 3000, max = 4500},
reputation = 50,
items = {
{ name = 'fertilizer', amount = {min = 10, max = 15}, chance = 0.6 },
}
},
deliveryLocation = vec4(90.66, 297.89, 109.21, 341.81),
difficulty = 'expert',
minReputation = 600, -- Requires Expert Farmer rank
weight = 0.2,
},
{
id = 'deliver_festival',
label = 'Harvest Festival Supply',
description = 'The annual harvest festival needs massive supplies',
type = 'delivery',
items = {
{ name = 'wheat', amount = {min = 50, max = 80} },
{ name = 'corn', amount = {min = 40, max = 70} },
{ name = 'pumpkin', amount = {min = 15, max = 30} },
{ name = 'raw_meat', amount = {min = 30, max = 50} },
{ name = 'milk', amount = {min = 40, max = 60} },
},
reward = {
money = {min = 5000, max = 7500},
reputation = 75,
items = {
{ name = 'fertilizer', amount = {min = 15, max = 25}, chance = 0.8 },
{ name = 'animal_feed', amount = {min = 10, max = 20}, chance = 0.6 },
}
},
deliveryLocation = vec4(975.06, 7.14, 80.04, 145.0),
difficulty = 'master',
minReputation = 1000, -- Requires Master/Legendary Farmer rank
weight = 0.1,
},
}
}
-- ===================================
-- FARM DECORATIONS
-- ===================================
Config.Decorations = {
enabled = true,
maxDecorationsPerFarm = 50, -- Maximum decorations per farm
categories = {
{
id = 'fences',
label = 'Fences & Barriers',
icon = 'fas fa-border-all',
items = {
{
id = 'wooden_fence',
label = 'Wooden Fence',
price = 50,
model = 'prop_fncwood_16c',
image = 'https://gtahash.ru/files/fences_2/prop_fncwood_16c.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'wooden_fence_2',
label = 'Wooden Fence 2',
price = 100,
model = 'prop_fncconstruc_ld',
image = 'https://gtahash.ru/files/fences_2/prop_fncconstruc_ld.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'farm_gate',
label = 'Farm Gate',
price = 150,
model = 'prop_facgate_03_r',
image = 'https://gtahash.ru/files/fences_2/prop_facgate_03_r.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
}
},
{
id = 'structures',
label = 'Structures',
icon = 'fas fa-warehouse',
items = {
{
id = 'hay_bale',
label = 'Hay Bale',
price = 75,
model = 'prop_haybale_01',
image = 'https://gtahash.ru/files/farm/prop_haybale_01.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'feed_trough',
label = 'Feed Trough',
price = 150,
model = 'prop_feed_sack_01',
image = 'https://gtahash.ru/files/other/prop_feed_sack_01.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'storage_shed',
label = 'Storage Shed',
price = 500,
model = 'prop_container_01a',
image = 'https://gtahash.ru/files/storage/prop_container_01a.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
}
},
{
id = 'tools',
label = 'Farm Tools',
icon = 'fas fa-tools',
items = {
{
id = 'wheelbarrow',
label = 'Wheelbarrow',
price = 100,
model = 'prop_wheelbarrow02',
image = 'https://gtahash.ru/files/construction/prop_wheelbarrow02a.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'shovel',
label = 'Shovel',
price = 50,
model = 'prop_tool_shovel006',
image = 'https://gtahash.ru/files/construction/prop_tool_shovel006.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'rake',
label = 'Rake',
price = 40,
model = 'prop_tool_rake',
image = 'https://gtahash.ru/files/construction/prop_tool_rake.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'bucket',
label = 'Bucket',
price = 30,
model = 'prop_bucket_01a',
image = 'https://gtahash.ru/files/storage/prop_bucket_01a.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
}
},
{
id = 'plants',
label = 'Decorative Plants',
icon = 'fas fa-leaf',
items = {
{
id = 'potted_plant',
label = 'Potted Plant',
price = 80,
model = 'prop_plant_01a',
image = 'https://gtahash.ru/files/ext_veg/prop_plant_01a.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'small_tree',
label = 'Small Tree',
price = 200,
model = 'prop_bush_lrg_04b',
image = 'https://gtahash.ru/files/bush/prop_bush_lrg_04b.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'flower_pot',
label = 'Flower Pot',
price = 60,
model = 'prop_plant_base_01',
image = 'https://gtahash.ru/files/ext_veg/prop_plant_base_01.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
}
},
{
id = 'furniture',
label = 'Outdoor Furniture',
icon = 'fas fa-chair',
items = {
{
id = 'wooden_bench',
label = 'Wooden Bench',
price = 120,
model = 'prop_bench_01a',
image = 'https://gtahash.ru/files/seating_tables/prop_bench_01a.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'picnic_table',
label = 'Picnic Table',
price = 250,
model = 'prop_picnictable_02',
image = 'https://gtahash.ru/files/seating_tables/prop_picnictable_02.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'market_stall',
label = 'Market Stall',
price = 300,
model = 'prop_gazebo_02',
image = 'https://gtahash.ru/files/garden/prop_gazebo_02.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
}
},
{
id = 'lighting',
label = 'Lighting',
icon = 'fas fa-lightbulb',
items = {
{
id = 'street_lamp',
label = 'Street Lamp',
price = 150,
model = 'prop_streetlight_05',
image = 'https://gtahash.ru/files/traffic_lights/prop_streetlight_05.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'garden_light',
label = 'Garden Light',
price = 100,
model = 'prop_spot_01',
image = 'https://gtahash.ru/files/other/prop_spot_01.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
}
},
{
id = 'signs',
label = 'Signs & Banners',
icon = 'fas fa-sign',
items = {
{
id = 'farm_sign',
label = 'Farm Sign',
price = 200,
model = 'prop_sign_road_03m',
image = 'https://gtahash.ru/files/signs/prop_sign_road_03m.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
{
id = 'welcome_banner',
label = 'Welcome Banner',
price = 150,
model = 'prop_flag_us',
image = 'https://gtahash.ru/files/rooftop/prop_flag_us.jpg',
offset = vector3(0, 0, 0),
rotation = vector3(0, 0, 0),
},
}
},
}
}
-- ===================================
-- OFFLINE FARM SHOP SYSTEM
-- ===================================
Config.OfflineShop = {
enabled = true,
-- Shop NPC settings
npc = {
models = { -- Available NPC models to choose from
'a_m_m_farmer_01',
'a_f_m_farmer_01',
's_m_m_gardener_01',
'a_m_o_salton_01',
'a_f_o_salton_01',
},
defaultModel = 'a_m_m_farmer_01',
scenario = 'WORLD_HUMAN_STAND_MOBILE', -- NPC animation
},
-- Shop settings
maxItemsForSale = 20, -- Maximum items a farm can have for sale
taxPercentage = 0.05, -- 5% tax on each sale (goes to server)
-- Transaction limits
minPrice = 1, -- Minimum price per item
maxPrice = 10000, -- Maximum price per item
maxQuantityPerListing = 999, -- Max quantity per product listing
-- Notification settings
notifyOwnerOnSale = true, -- Notify owner when someone buys
notifyBuyerOnPurchase = true, -- Notify buyer on successful purchase
-- Visual settings
showBlipToAll = true, -- Show shop blip on map for everyone
blipSettings = {
sprite = 52, -- Shop icon
color = 2, -- Green
scale = 0.7,
shortRange = true, -- Only show when nearby
},
-- Distance settings
interactionDistance = 3.0, -- Distance to interact with shop
-- Shop webhooks
webhookOnSale = true, -- Send webhook when sale happens
}Last updated