πConfig
Config = {}
-- Locale Configuration
Config.Locale = 'en' -- Available: 'en', 'pt'
-- Database installation
Config.InstallDatabase = true -- Set to false if you have already run the SQL installation script
-- Framework Configuration
Config.Framework = '' -- 'qbcore', 'esx', 'custom' (leave empty for auto-detect)
-- Inventory Configuration
Config.Inventory = '' -- 'qb_inventory', 'ox_inventory', 'custom' (leave empty for auto-detect)
-- Target Configuration
Config.Target = '' -- 'ox_target', 'qb_target', 'custom' (leave empty for auto-detect)
-- Vehicle Keys Configuration
Config.VehicleKeys = '' -- 'qb-vehiclekeys', 'Renewed-Vehiclekeys', 'MrNewbVehicleKeys', 'custom' (leave empty for auto-detect)
-- Fuel Configuration
Config.Fuel = '' -- 'LegacyFuel', 'ox_fuel', 'ps-fuel', 'cdn-fuel', 'custom' (leave empty for auto-detect)
-- Interaction options
Config.UseTarget = true -- true = use target system, false = DrawText
Config.InteractionDistance = 2.0
-- Admin Panel Configuration
Config.AdminPanel = {
enabled = true, -- Enable admin panel?
-- Add licenses or citizenids of players who can access the admin panel
admins = {
-- Examples:
-- 'license:1234567890abcdef', -- By license
-- 'ABCD1234', -- By citizenid (QBCore)
-- 'char1:1234567890abcdef', -- By identifier (ESX)
'WI72V52P'
},
-- Or use framework groups/permissions (if empty, uses admins list above)
useFrameworkPermissions = false, -- true = use framework groups, false = use admins list
allowedGroups = { 'admin', 'god' }, -- Framework groups allowed (QBCore/ESX)
}
-- NPC LOCATION
Config.NPCLocation = {
coords = vector4(1197.03, -3253.55, 7.1, 83.69),
model = 'mp_m_waremech_01',
scenario = 'WORLD_HUMAN_CLIPBOARD',
blip = {
enabled = true,
sprite = 477,
color = 5,
scale = 0.7,
name = 'Trucker Depot'
}
}
-- GARAGE SYSTEM CONFIGURATION
Config.GarageSystem = {
enabled = true, -- Enable garage system?
-- Maximum vehicles a player can own
maxVehicles = {
base = 2, -- Initial maximum
perLevel = 0.1, -- Additional vehicles per level (0.1 = 1 vehicle every 10 levels)
absolute = 5 -- Absolute maximum
},
-- Vehicle spawn location
spawnLocation = vector4(1201.2, -3240.07, 6.02, 1.52),
-- Vehicle recovery system
recovery = {
cost = 5000, -- Fixed recovery cost
costPercentage = 0.05, -- Or 5% of the purchase price (whichever is higher)
repairOnRecover = true, -- Repair vehicle on recovery?
repairCondition = 100 -- Condition after recovery (0-100)
},
-- Maintenance system
maintenance = {
enabled = true, -- Enable maintenance system?
degradePerJob = 2, -- Condition loss per job (0-100)
degradePerKm = 0.1, -- Condition loss per km driven
minCondition = 20, -- Minimum condition before unusable
repairCost = 100, -- Base repair cost per condition point
},
-- Vehicle selling system
selling = {
enabled = true, -- Enable vehicle selling?
basePercentage = 0.60, -- Base sell price (60% of purchase price)
conditionBonus = 0.20, -- Additional percentage based on condition (up to 20% more)
-- Example: Vehicle 100% condition = 60% + 20% = 80% of purchase price
-- Vehicle 50% condition = 60% + 10% = 70% of purchase price
-- Vehicle 0% condition = 60% + 0% = 60% of purchase price
minSellPrice = 5000, -- Minimum sell price (to avoid selling for too little)
},
}
-- Multiple spawn points for trucks to avoid congestion
-- System automatically rotates through available points
-- Add more points if needed (more points = less collisions when multiple players accept jobs)
Config.SpawnPoints = {
{coords = vector4(1178.0, -3239.62, 5.96, 358.57), occupied = false},
{coords = vector4(1186.0, -3239.62, 5.96, 358.57), occupied = false},
{coords = vector4(1194.0, -3239.62, 5.96, 358.57), occupied = false},
{coords = vector4(1178.0, -3247.0, 5.96, 358.57), occupied = false},
{coords = vector4(1186.0, -3247.0, 5.96, 358.57), occupied = false},
{coords = vector4(1194.0, -3247.0, 5.96, 358.57), occupied = false}
}
-- Job Settings
Config.JobSettings = {
deliveryMarkerSize = 2.5, -- Marker size in delivery locations
deliveryMarkerColor = {59, 130, 246, 200}, -- Marker color (RGBA)
deliveryDistance = 3.0, -- Distance to show TextUI
progressBarDuration = 5000, -- Progress bar duration (ms)
returnDistance = 5.0, -- Distance to return their truck
-- Payment System
baseReward = 1000, -- Base reward per job
distanceMultiplier = 500, -- $ per km of distance
depositPercentage = 0.1, -- 10% of the reward as a deposit Percentage
xpPerKm = 10, -- XP gained per km traveled
-- Skill Bonuses (% additional per skill level)
skillBonusPerLevel = {
hazardous = 0.05, -- +5% per level in Hazardous
high_value = 0.07, -- +7% per level in High Value
fragile = 0.06, -- +6% per level in Fragile
long_distance = 0.04 -- +4% per level in Long Distance
},
-- Damage & Speeding System
enableDamageSystem = true, -- Enable damage penalties
enableSpeedingSystem = true, -- Enable speeding fines
maxDamagePenalty = 0.50, -- Maximum 50% penalty for heavily damaged truck
speedingFinePerViolation = 0.05, -- 5% penalty per speeding violation
maxSpeedingPenalty = 0.30, -- Maximum 30% penalty for speeding
perfectDeliveryBonus = 0.15, -- 15% bonus for no damage and no speeding
speedLimit = 120, -- Speed limit in km/h during delivery
damageUpdateInterval = 1000, -- Update damage UI every 1 second (ms)
historyLimit = 10 -- Number of recent deliveries to keep in history
}
-- List of Companies
Config.Companies = {
{name = 'ThriftEX', category = 'Tires', logo = 'fa-truck'},
{name = 'Alphabetz', category = 'Shoes', logo = 'fa-shoe-prints'},
{name = 'Lando', category = 'Coats', logo = 'fa-tshirt'},
{name = 'Alpha Mail', category = 'Parcels', logo = 'fa-box'},
{name = 'Binco', category = 'Coats', logo = 'fa-store'},
{name = 'LT Weld Supply Co.', category = 'Ladders', logo = 'fa-wrench'},
{name = 'Bilgeco', category = 'Tools', logo = 'fa-tools'},
{name = 'Paleto Sawmill', category = 'Logs', logo = 'fa-tree'},
{name = 'Premium Auto Transport', category = 'Vehicles', logo = 'fa-car'},
{name = 'Redwood Timber Co.', category = 'Lumber', logo = 'fa-tree'},
{name = 'Blaine County Farms', category = 'Hay', logo = 'fa-tractor'},
{name = 'RON Petroleum', category = 'Fuel', logo = 'fa-gas-pump'},
{name = 'Xero Gas', category = 'Fuel', logo = 'fa-gas-pump'},
{name = 'Devin Yachts', category = 'Luxury', logo = 'fa-ship'},
{name = 'PostOP', category = 'Parcels', logo = 'fa-envelope'},
{name = 'GoPostal', category = 'Parcels', logo = 'fa-envelope-open'}
-- You can also use URLs:
-- {name = 'FedEx', category = 'Parcels', logo = 'https://i.imgur.com/example.png'}
}
-- Vehicle Shop
Config.Vehicles = {
{
name = 'Hauler',
model = 'hauler',
category = 'Semi-Truck',
price = 25000,
levelRequired = 0,
description = 'Professional semi-truck for long-distance freight.',
specs = {
capacity = '2500kg',
speed = 'Medium',
handling = 'Poor'
},
image = 'https://docs.fivem.net/vehicles/hauler.webp'
},
{
name = 'Packer',
model = 'packer',
category = 'Car Carrier',
price = 50000,
levelRequired = 18,
description = 'Specialized truck for transporting vehicles.',
specs = {
capacity = '6 Cars',
speed = 'Slow',
handling = 'Poor'
},
image = 'https://docs.fivem.net/vehicles/packer.webp'
},
{
name = 'Phantom',
model = 'phantom',
category = 'Premium Semi',
price = 125000,
levelRequired = 30,
description = 'High-end semi-truck with excellent performance.',
specs = {
capacity = '3000kg',
speed = 'Fast',
handling = 'Average'
},
image = 'https://docs.fivem.net/vehicles/phantom.webp'
},
{
name = 'Phantom Wedge',
model = 'phantom3',
category = 'Elite Semi',
price = 180000,
levelRequired = 65,
description = 'Ultimate semi-truck with armored reinforcement.',
specs = {
capacity = '3500kg',
speed = 'Very Fast',
handling = 'Good'
},
image = 'https://docs.fivem.net/vehicles/phantom3.webp'
}
}
-- Delivery Routes
Config.DeliveryRoutes = {
-- Los Santos
{
coords = vec4(850.83, -2496.38, 28.40, 262.96),
model = "TRAILER",
zone = "Cypress Flats",
street = "Hanger Way",
distance = 0.88
},
{
coords = vec4(830.91, -2390.08, 28.96, 356.95),
model = "TRAILER",
zone = "Cypress Flats",
street = "Hanger Way",
distance = 0.99
},
{
coords = vec4(1009.43, -2525.60, 28.45, 174.16),
model = "TRAILER",
zone = "Cypress Flats",
street = "Hanger Way",
distance = 0.75
},
{
coords = vec4(956.50, -1698.63, 29.67, 86.97),
model = "TRAILER",
zone = "La Mesa",
street = "Innocence Boulevard",
distance = 1.58
},
{
coords = vec4(813.86, -1663.38, 29.45, 108.33),
model = "TRAILER",
zone = "La Mesa",
street = "Popular Street",
distance = 1.64
},
{
coords = vec4(871.35, -1670.45, 30.71, 267.97),
model = "TRAILER",
zone = "La Mesa",
street = "Popular Street",
distance = 1.60
},
{
coords = vec4(-67.17, -2225.58, 7.95, 270.07),
model = "TRAILER",
zone = "Banning",
street = "Autopia Parkway",
distance = 1.41
},
{
coords = vec4(-509.99, -2195.75, 6.53, 320.70),
model = "TRAILER",
zone = "Airport de Los Santos",
street = "Autopia Parkway",
distance = 1.98
},
{
coords = vec4(-676.66, -2388.89, 13.97, 233.58),
model = "TRAILER",
zone = "Airport de Los Santos",
street = "Exceptionalists Way",
distance = 2.12
},
{
coords = vec4(-1051.15, -2020.57, 13.30, 312.81),
model = "TRAILER",
zone = "Airport de Los Santos",
street = "Greenwich Parkway",
distance = 2.68
},
{
coords = vec4(-744.71, -1501.75, 5.14, 27.20),
model = "TRAILER",
zone = "La Puerta",
street = "Shank Street",
distance = 2.61
},
{
coords = vec4(-1462.80, -388.97, 38.57, 300.09),
model = "TRAILER",
zone = "Morningwood",
street = "Prosperity Street",
distance = 2.91
},
{
coords = vec4(-78.81, 207.52, 96.40, 277.09),
model = "TRAILER",
zone = "West Vinewood",
street = "North Archer Avenue",
distance = 2.88
},
{
coords = vec4(151.84, 163.87, 105.03, 338.35),
model = "TRAILER",
zone = "Vinewood",
street = "Boulevard",
distance = 2.64
},
{
coords = vec4(886.23, -924.25, 26.42, 269.49),
model = "TRAILER",
zone = "La Mesa",
street = "Vespucci Boulevard",
distance = 2.37
},
{
coords = vec4(1190.08, -1399.11, 35.26, 1.49),
model = "TRAILER",
zone = "El Burro Heights",
street = "Capital Boulevard",
distance = 1.86
},
-- Sandy Shores
{
coords = vec4(1981.02, 3778.35, 32.32, 29.50),
model = "TRAILER",
zone = "Sandy Shores",
street = "Zancudo Avenue",
distance = 6.08
},
{
coords = vec4(1970.84, 3837.16, 32.13, 119.07),
model = "TRAILER",
zone = "Sandy Shores",
street = "Marina Drive",
distance = 6.13
},
{
coords = vec4(1561.33, 3793.84, 33.73, 198.81),
model = "TRAILER",
zone = "Sandy Shores",
street = "Marina Drive",
distance = 5.06
},
{
coords = vec4(1372.83, 3617.20, 35.03, 17.28),
model = "TRAILER",
zone = "Sandy Shores",
street = "Algonquin Boulevard",
distance = 4.87
},
{
coords = vec4(952.09, 3610.97, 32.87, 271.54),
model = "TRAILER",
zone = "Mar Alamo",
street = "Marina Drive",
distance = 4.87
},
{
coords = vec4(387.85, 3592.70, 33.43, 261.35),
model = "TRAILER",
zone = "Mar Alamo",
street = "Marina Drive",
distance = 4.89
},
-- Paleto Bay
{
coords = vec4(137.42, 6367.14, 31.53, 205.95),
model = "TRAILER",
zone = "Monte Chiliad",
street = "Great Ocean Highway",
distance = 9.78
},
{
coords = vec4(-29.98, 6419.46, 31.63, 45.52),
model = "TRAILER",
zone = "Paleto Bay",
street = "Great Ocean Highway",
distance = 9.75
},
{
coords = vec4(-101.90, 6392.60, 31.62, 223.63),
model = "TRAILER",
zone = "Paleto Bay",
street = "Paleto Boulevard",
distance = 9.73
},
{
coords = vec4(-196.40, 6275.43, 31.63, 154.43),
model = "TRAILER",
zone = "Paleto Bay",
street = "Paleto Boulevard",
distance = 9.63
},
{
coords = vec4(-266.99, 6044.93, 31.94, 218.73),
model = "TRAILER",
zone = "Paleto Bay",
street = "Great Ocean Highway",
distance = 9.41
},
-- Paleto Bay - Great Ocean Highway
{
coords = vec4(-357.62, 6069.22, 31.63, 135.09),
model = "TRAILER",
zone = "Paleto Bay",
street = "Great Ocean Highway",
distance = 9.45
}
}
-- Configuration of Cargo Types
Config.CargoTypes = {
-- Standard Cargo (no skill required)
{
name = 'Standard Cargo',
trailer = 'trailers',
icon = 'fa-box',
skillRequired = nil,
levelRequired = nil,
rewardMultiplier = 1.0,
weight = 30 -- Probability of appearance
},
{
name = 'General Freight',
trailer = 'trailers3',
icon = 'fa-boxes',
skillRequired = nil,
levelRequired = nil,
rewardMultiplier = 1.05,
weight = 28
},
{
name = 'Dry Goods',
trailer = 'trailers2',
icon = 'fa-warehouse',
skillRequired = nil,
levelRequired = nil,
rewardMultiplier = 1.1,
weight = 26
},
{
name = 'Construction Materials',
trailer = 'trflat',
icon = 'fa-hard-hat',
skillRequired = nil,
levelRequired = nil,
rewardMultiplier = 1.1,
weight = 25
},
-- Vehicle Transport
{
name = 'Vehicle Transport',
trailer = 'tr2',
icon = 'fa-car',
skillRequired = nil,
levelRequired = 10,
rewardMultiplier = 2.0,
weight = 8
},
{
name = 'Luxury Vehicles',
trailer = 'tr4',
icon = 'fa-crown',
skillRequired = nil,
levelRequired = 20,
rewardMultiplier = 3.0,
weight = 3
},
-- Natural Resources
{
name = 'Timber Logs',
trailer = 'trailerlogs',
icon = 'fa-tree',
skillRequired = nil,
levelRequired = 5,
rewardMultiplier = 1.3,
weight = 15
},
{
name = 'Hay Bales',
trailer = 'baletrailer',
icon = 'fa-haykal',
skillRequired = nil,
levelRequired = 3,
rewardMultiplier = 1.2,
weight = 18
},
-- Hazardous Cargo (requires hazardous skill)
{
name = 'Explosives',
trailer = 'armytanker',
icon = 'fa-bomb',
skillRequired = 'hazardous',
skillLevelRequired = 1,
rewardMultiplier = 1.5,
weight = 10
},
{
name = 'Compressed Gas',
trailer = 'tanker',
icon = 'fa-radiation',
skillRequired = 'hazardous',
skillLevelRequired = 2,
rewardMultiplier = 1.7,
weight = 8
},
{
name = 'Fuel & Flammable Liquids',
trailer = 'tanker2',
icon = 'fa-fire',
skillRequired = 'hazardous',
skillLevelRequired = 3,
rewardMultiplier = 2.0,
weight = 6
},
-- High Value Cargo (requires high_value skill)
{
name = 'Jewelry',
trailer = 'trailers2',
icon = 'fa-gem',
skillRequired = 'high_value',
skillLevelRequired = 1,
rewardMultiplier = 1.8,
weight = 8
},
{
name = 'Electronics',
trailer = 'trailers3',
icon = 'fa-laptop',
skillRequired = 'high_value',
skillLevelRequired = 2,
rewardMultiplier = 2.2,
weight = 6
},
{
name = 'Luxury Yacht',
trailer = 'tr3',
icon = 'fa-ship',
skillRequired = 'high_value',
skillLevelRequired = 4,
rewardMultiplier = 3.2,
weight = 3
},
{
name = 'Luxury Goods',
trailer = 'trailers4',
icon = 'fa-gift',
skillRequired = 'high_value',
skillLevelRequired = 4,
rewardMultiplier = 2.8,
weight = 4
},
-- Fragile Cargo (requires fragile skill)
{
name = 'Glassware',
trailer = 'trailers2',
icon = 'fa-wine-glass',
skillRequired = 'fragile',
skillLevelRequired = 1,
rewardMultiplier = 1.6,
weight = 10
},
{
name = 'Medical Equipment',
trailer = 'trailers3',
icon = 'fa-briefcase-medical',
skillRequired = 'fragile',
skillLevelRequired = 2,
rewardMultiplier = 2.0,
weight = 8
},
{
name = 'Refrigerated Goods',
trailer = 'trailers4',
icon = 'fa-snowflake',
skillRequired = 'fragile',
skillLevelRequired = 5,
rewardMultiplier = 2.5,
weight = 5
},
-- Vehicles (no specific skill but requires level)
{
name = 'Vehicle Transport',
trailer = 'tr2',
icon = 'fa-car',
skillRequired = nil,
levelRequired = 10,
rewardMultiplier = 2.0,
weight = 8
},
{
name = 'Luxury Vehicles',
trailer = 'tr4',
icon = 'fa-crown',
skillRequired = nil,
levelRequired = 20,
rewardMultiplier = 3.0,
weight = 3
}
}
-- Configuration off Skills
Config.Skills = {
hazardous = {
name = 'Hazardous Cargo',
levels = {
{
name = 'Class 1 - Explosives',
icon = 'fa-bomb',
description = 'Allows transportation of explosive materials such as dynamite, fireworks, and ammunition.',
benefits = '+5% reward for explosive cargo jobs',
skillPointCost = 1
},
{
name = 'Class 2 - Gases',
icon = 'fa-radiation',
description = 'Certification for transporting compressed and liquefied gases.',
benefits = '+7% reward for gas cargo jobs',
skillPointCost = 1
},
{
name = 'Class 3 - Flammable Liquids',
icon = 'fa-fire',
description = 'Qualification for hauling flammable liquids like gasoline and oil.',
benefits = '+10% reward for flammable liquid jobs',
skillPointCost = 2
},
{
name = 'Class 4 - Flammable Solids',
icon = 'fa-temperature-high',
description = 'Authorization for transporting flammable solid materials.',
benefits = '+12% reward for flammable solid cargo',
skillPointCost = 2
},
{
name = 'Class 5 - Oxidizers',
icon = 'fa-flask',
description = 'License for carrying oxidizing substances and organic peroxides.',
benefits = '+15% reward for oxidizer cargo',
skillPointCost = 3
},
{
name = 'Class 6 - Toxic Materials',
icon = 'fa-skull',
description = 'Certification for handling toxic and infectious substances.',
benefits = '+18% reward for toxic material jobs',
skillPointCost = 3
},
}
},
long_distance = {
name = 'Long Distance',
levels = {
{
name = 'Los Santos Routes',
icon = 'fa-city',
description = 'Access to delivery routes within Los Santos city limits.',
benefits = 'Unlock Los Santos area deliveries',
skillPointCost = 0
},
{
name = 'Sandy Shores Routes',
icon = 'fa-map',
description = 'Expand operations to Sandy Shores and Blaine County.',
benefits = 'Unlock Sandy Shores area deliveries',
skillPointCost = 2
},
{
name = 'Paleto Bay Routes',
icon = 'fa-mountain',
description = 'Master long-distance hauls to remote northern regions.',
benefits = 'Unlock Paleto Bay area deliveries',
skillPointCost = 3
}
}
},
high_value = {
name = 'High Value Cargo',
levels = {
{
name = 'Jewelry Transport',
icon = 'fa-gem',
description = 'Certification for transporting valuable jewelry and gems.',
benefits = 'Unlock jewelry transport jobs',
skillPointCost = 1
},
{
name = 'Electronics Specialist',
icon = 'fa-laptop',
description = 'Qualified for hauling high-value electronics and tech equipment.',
benefits = 'Unlock electronics cargo jobs',
skillPointCost = 2
},
{
name = 'Art & Antiques',
icon = 'fa-palette',
description = 'Authorization for transporting valuable art and antiques.',
benefits = 'Unlock art transport contracts',
skillPointCost = 3
},
{
name = 'Luxury Goods',
icon = 'fa-gift',
description = 'License for high-end luxury merchandise transportation.',
benefits = '+15% reward for luxury cargo',
skillPointCost = 4
},
{
name = 'Armored Transport',
icon = 'fa-shield-alt',
description = 'Security clearance for armored vehicle operations.',
benefits = 'Unlock armored transport missions',
skillPointCost = 5
},
{
name = 'VIP Contractor',
icon = 'fa-star',
description = 'Elite status for ultra-high-value cargo operations.',
benefits = '+30% reward on all high-value jobs',
skillPointCost = 6
}
}
},
fragile = {
name = 'Fragile Cargo',
levels = {
{
name = 'Glassware Handler',
icon = 'fa-wine-glass',
description = 'Basic training for transporting glass and delicate items.',
benefits = 'Unlock glassware transport jobs',
skillPointCost = 1
},
{
name = 'Medical Supplies',
icon = 'fa-briefcase-medical',
description = 'Certification for handling sensitive medical equipment.',
benefits = 'Unlock medical cargo contracts',
skillPointCost = 2
},
{
name = 'Precision Instruments',
icon = 'fa-microscope',
description = 'Qualification for transporting precision instruments.',
benefits = '+10% reward for instrument jobs',
skillPointCost = 3
},
{
name = 'Fine China Expert',
icon = 'fa-utensils',
description = 'Master handler of extremely delicate porcelain and china.',
benefits = '+15% reward for delicate cargo',
skillPointCost = 4
},
{
name = 'Climate Control',
icon = 'fa-snowflake',
description = 'Advanced knowledge of temperature-sensitive cargo.',
benefits = 'Unlock refrigerated transport jobs',
skillPointCost = 5
},
{
name = 'Master of Delicates',
icon = 'fa-hand-holding-heart',
description = 'Legendary status for fragile cargo transportation.',
benefits = '+25% reward on all fragile jobs',
skillPointCost = 6
}
}
}
}
-- Achievements System
Config.Achievements = {
-- First Steps
{
id = 'first_delivery',
name = 'First Delivery',
description = 'Complete your first delivery',
icon = 'fa-truck',
category = 'Beginner',
requirement = 1,
type = 'jobs_completed',
reward = {money = 5000, xp = 100}
},
{
id = 'rookie_trucker',
name = 'Rookie Trucker',
description = 'Complete 10 deliveries',
icon = 'fa-road',
category = 'Beginner',
requirement = 10,
type = 'jobs_completed',
reward = {money = 10000, xp = 500}
},
{
id = 'experienced_driver',
name = 'Experienced Driver',
description = 'Complete 50 deliveries',
icon = 'fa-truck-moving',
category = 'Professional',
requirement = 50,
type = 'jobs_completed',
reward = {money = 25000, xp = 1000}
},
{
id = 'veteran_trucker',
name = 'Veteran Trucker',
description = 'Complete 100 deliveries',
icon = 'fa-medal',
category = 'Professional',
requirement = 100,
type = 'jobs_completed',
reward = {money = 50000, xp = 2500}
},
-- Perfect Deliveries
{
id = 'flawless_first',
name = 'Flawless First',
description = 'Complete your first perfect delivery',
icon = 'fa-star',
category = 'Perfection',
requirement = 1,
type = 'perfect_deliveries',
reward = {money = 7500, xp = 200}
},
{
id = 'perfectionist',
name = 'Perfectionist',
description = 'Complete 25 perfect deliveries',
icon = 'fa-gem',
category = 'Perfection',
requirement = 25,
type = 'perfect_deliveries',
reward = {money = 30000, xp = 1500}
},
{
id = 'master_driver',
name = 'Master Driver',
description = 'Complete 50 perfect deliveries',
icon = 'fa-crown',
category = 'Perfection',
requirement = 50,
type = 'perfect_deliveries',
reward = {money = 75000, xp = 3000}
},
-- Distance
{
id = 'road_warrior',
name = 'Road Warrior',
description = 'Travel 1,000 km',
icon = 'fa-route',
category = 'Distance',
requirement = 1000,
type = 'distance_traveled',
reward = {money = 15000, xp = 750}
},
{
id = 'highway_legend',
name = 'Highway Legend',
description = 'Travel 5,000 km',
icon = 'fa-map-marked-alt',
category = 'Distance',
requirement = 5000,
type = 'distance_traveled',
reward = {money = 50000, xp = 2000}
},
{
id = 'cross_country_king',
name = 'Cross Country King',
description = 'Travel 10,000 km',
icon = 'fa-globe-americas',
category = 'Distance',
requirement = 10000,
type = 'distance_traveled',
reward = {money = 100000, xp = 5000}
},
-- Speed & Safety
{
id = 'speed_demon',
name = 'Law Abiding Citizen',
description = 'Complete 50 deliveries without speeding violations',
icon = 'fa-tachometer-alt',
category = 'Safety',
requirement = 50,
type = 'no_speeding_streak',
reward = {money = 40000, xp = 2000}
},
{
id = 'careful_driver',
name = 'Careful Driver',
description = 'Complete 30 deliveries without vehicle damage',
icon = 'fa-shield-alt',
category = 'Safety',
requirement = 30,
type = 'no_damage_streak',
reward = {money = 35000, xp = 1750}
},
-- Revenue
{
id = 'money_maker',
name = 'Money Maker',
description = 'Earn $100,000 total',
icon = 'fa-dollar-sign',
category = 'Revenue',
requirement = 100000,
type = 'total_revenue',
reward = {money = 20000, xp = 1000}
},
{
id = 'millionaire',
name = 'Millionaire Trucker',
description = 'Earn $1,000,000 total',
icon = 'fa-money-bill-wave',
category = 'Revenue',
requirement = 1000000,
type = 'total_revenue',
reward = {money = 100000, xp = 5000}
}
}
-- PARTY SYSTEM CONFIGURATION
Config.PartySystem = {
-- Enable or disable the party system
enabled = true,
-- Maximum number of members in a party (including leader)
maxMembers = 4,
-- Maximum distance between members to be considered "together" (in meters)
maxDistance = 100.0,
-- Is XP shared equally among party members?
sharedXP = true,
-- Reward bonus for each additional party member (percentage)
-- Example: 15% means that with 4 members, you gain +45% reward
bonusPerMember = 15,
-- Do all members need to be near the delivery to complete it?
requireAllAtDelivery = true,
-- Proximity radius required at the delivery point (meters)
deliveryProximityRadius = 50.0,
-- Can the leader kick members?
leaderCanKick = true,
-- Can members leave the party at any time?
membersCanLeave = true,
-- Cooldown before joining another party after leaving (seconds)
rejoinCooldown = 60,
-- Job types that support the party system
allowedJobTypes = {
quick = true, -- Quick jobs allow party
freight = true -- Freight jobs allow party
},
-- Minimum level requirements for different party sizes
levelRequirements = {
[2] = 0, -- 2 members: no requirement
[3] = 5, -- 3 members: level 5+
[4] = 10 -- 4 members: level 10+
}
}
-- DRIVER RECRUITMENT SYSTEM CONFIGURATION
Config.DriverRecruitment = {
-- Active or deactivate the driver recruitment system
enabled = true,
-- Maximum number of drivers that can be hired
-- This value increases with the player's level
maxDrivers = 5,
-- Initial cost to hire an automatic driver
hireCost = 50000,
-- Daily salary of each driver (paid automatically)
dailySalary = 5000,
-- Time interval between automatic NPC deliveries (minutes)
jobInterval = 30,
-- Revenue generated by each NPC delivery
revenuePerJob = {
min = 2000, -- Minimum the driver can earn
max = 5000 -- Maximum the driver can earn
},
-- Requirements to unlock the recruitment system
requirements = {
level = 10, -- Minimum player level
totalJobs = 50, -- Jobs completed required
ownedVehicles = 1 -- Must own at least 1 vehicle
},
-- Each driver has skills that affect performance
-- Skills improve with work time
driverSkills = {
-- Initial experience of their driver (0-100)
initialExperience = 20,
-- Maximum experience a driver can reach
maxExperience = 100,
-- Experience gained per completed job
experiencePerJob = 2,
-- Experience-based revenue multiplier
-- Driver with 100 exp generates 50% more revenue
experienceRevenueBonus = 0.5
},
-- Types of drivers available for hire
driverTypes = {
{
id = 'rookie',
name = 'Rookie Driver',
description = 'Beginner driver with basic skills',
hireCost = 50000,
dailySalary = 5000,
skillMultiplier = 1.0, -- Normal revenue
revenueMin = 2000,
revenueMax = 3500,
levelRequired = 10,
icon = 'fa-user',
requirements = {
level = 10,
totalJobs = 25
}
},
{
id = 'experienced',
name = 'Experienced Driver',
description = 'Skilled driver with proven track record',
hireCost = 100000,
dailySalary = 8000,
skillMultiplier = 1.3, -- +30% revenue
revenueMin = 2600,
revenueMax = 4550,
levelRequired = 25,
icon = 'fa-user-tie',
requirements = {
level = 25,
totalJobs = 100
}
},
{
id = 'expert',
name = 'Expert Driver',
description = 'Master driver with exceptional skills',
hireCost = 200000,
dailySalary = 12000,
skillMultiplier = 1.6, -- +60% revenue
revenueMin = 3200,
revenueMax = 5600,
levelRequired = 50,
icon = 'fa-user-graduate',
requirements = {
level = 50,
totalJobs = 200
}
}
},
-- Notifications about driver activity
notifications = {
-- Notify when driver completes a job?
onJobComplete = true,
-- Notify when driver needs repair?
onBreakdown = true,
-- Notify when salary is paid?
onSalaryPaid = true,
-- Minimum interval between notifications (seconds)
cooldown = 300
}
}
-- Debug Section
Config.Debug = true
-- Debug Commands (only work when Config.Debug = true)
Config.DebugCommands = {
give_exp = {
enable = true,
command = 'truckergiveexp',
description = 'Gives specified amount of XP to the player',
group = 'admin'
},
remove_exp = {
enable = true,
command = 'truckerremoveexp',
description = 'Removes specified amount of XP from the player',
group = 'admin'
},
set_level = {
enable = true,
command = 'truckersetlevel',
description = 'Sets the player level to the specified value',
group = 'admin'
},
debug_trailer = {
enable = true,
command = 'truckerdebugtrailer',
description = 'Spawns a trailer for new delivery spots',
group = 'admin'
},
clear_trailer = {
enable = true,
command = 'truckercleartrailer',
description = 'Removes the spawned trailer',
group = 'admin'
}
}
Last updated