📃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
-- Debug Mode
Config.Debug = false
-- 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
},
}
-- 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 = 'thriftex'},
{name = 'Alphabetz', category = 'Shoes', logo = 'alphabetz'},
{name = 'Lando', category = 'Coats', logo = 'lando'},
{name = 'Alpha Mail', category = 'Parcels', logo = 'alphamail'},
{name = 'Binco', category = 'Coats', logo = 'binco'},
{name = 'LT Weld Supply Co.', category = 'Ladders', logo = 'ltweld'},
{name = 'Bilgeco', category = 'Tools', logo = 'bilgeco'},
{name = 'Paleto Sawmill', category = 'Logs', logo = 'paleto'}
}
-- 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 = {
-- Cypress Flats - Hanger Way
{
coords = vec4(850.83, -2496.38, 28.40, 262.96),
model = "TRAILER",
zone = "Cypress Flats",
street = "Hanger Way",
distance = 4.19
},
{
coords = vec4(830.91, -2390.08, 28.96, 356.95),
model = "TRAILER",
zone = "Cypress Flats",
street = "Hanger Way",
distance = 4.63
},
{
coords = vec4(1009.43, -2525.60, 28.45, 174.16),
model = "TRAILER",
zone = "Cypress Flats",
street = "Hanger Way",
distance = 4.14
},
-- La Mesa - Innocence Boulevard
{
coords = vec4(956.50, -1698.63, 29.67, 86.97),
model = "TRAILER",
zone = "La Mesa",
street = "Innocence Boulevard",
distance = 4.56
},
-- La Mesa - Popular Street
{
coords = vec4(813.86, -1663.38, 29.45, 108.33),
model = "TRAILER",
zone = "La Mesa",
street = "Popular Street",
distance = 2.35
},
{
coords = vec4(871.35, -1670.45, 30.71, 267.97),
model = "TRAILER",
zone = "La Mesa",
street = "Popular Street",
distance = 3.56
}
}
-- Configuration of Cargo Types
Config.CargoTypes = {
-- Standard Cargo (none skill requerida)
{
name = 'Standard Cargo',
trailer = 'trailers',
icon = 'fa-box',
skillRequired = nil,
levelRequired = nil,
rewardMultiplier = 1.0,
weight = 30 -- Probability of appearance
},
{
name = 'Construction Materials',
trailer = 'trflat',
icon = 'fa-hard-hat',
skillRequired = nil,
levelRequired = nil,
rewardMultiplier = 1.1,
weight = 25
},
-- 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 = '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 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 = 'Regional Routes',
icon = 'fa-globe',
description = 'Unlocks medium-range delivery routes within the county.',
benefits = 'Unlock jobs up to 50km distance',
skillPointCost = 1
},
{
name = 'State Routes',
icon = 'fa-map',
description = 'Access to longer interstate delivery routes.',
benefits = 'Unlock jobs up to 100km distance',
skillPointCost = 2
},
{
name = 'Cross-Country',
icon = 'fa-route',
description = 'Authorization for cross-country haul contracts.',
benefits = 'Unlock jobs up to 200km distance',
skillPointCost = 3
},
{
name = 'Endurance Driver',
icon = 'fa-trophy',
description = 'Master of long-haul logistics and planning.',
benefits = '+10% bonus on all distance-based rewards',
skillPointCost = 4
},
{
name = 'Marathon Hauler',
icon = 'fa-medal',
description = 'Elite status for extreme distance transportation.',
benefits = '+20% bonus on jobs over 150km',
skillPointCost = 5
},
{
name = 'Legend of the Road',
icon = 'fa-crown',
description = 'Ultimate mastery of long-distance trucking.',
benefits = 'Unlock exclusive continental routes',
skillPointCost = 6
}
}
},
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'
},
{
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
}
}Last updated