Price
$500.00A script by T-Scripts
Price
$500.00Hey everyone! I’m excited to share my Trucking Job System, This script brings a fully immersive and rewarding trucking experience to your server — complete with XP progression, interactive crate loading, permanent upgrades, and dynamic deliveries!
How It Works
Start Jobs Through NPCs – Begin your route by speaking to a trucking job NPC.
Manual Crate Loading – Use a forklift to pick up and load crates onto a trailer before hitting the road.
Trailer Deliveries – Attach your trailer and drive to a randomized destination across the map.
XP-Based Progression – Earn XP per job, rank up, and unlock access to upgrades and new paint jobs.
Permanent Upgrades – Install permanent engine, brake, armor, turbo, and suspension upgrades that stay with you.
Paint Unlocks – Access level-locked paint styles to customize your truck as you climb the ranks.
Real Payout System – Get paid based on distance and cargo type, with performance bonuses.
Persistent Data – All XP, stats, upgrades, and paint selections are saved and synced.
Config = {}
--------------------------------------------------------------------------------
-- 🔧 DEBUG SETTINGS
--------------------------------------------------------------------------------
Config.Debug = false -- Show debug markers for spawn zones and job areas
Config.DebugSpawnAssets = false -- Spawns preview vehicles/props at spawn points for alignment ing ONLY WORKS IF "Config.Debug = true"
--------------------------------------------------------------------------------
-- 👤 NPC SETTINGS
--------------------------------------------------------------------------------
Config.JobPed = {
model = "cs_floyd", -- Job-starting NPC model
coords = vec4(917.51, -3239.97, 5.9, 5.08), -- Location of job-start NPC
}
Config.UpgradePed = {
model = "s_m_m_autoshop_01",
coords = vec4(900.9, -3236.61, 5.9, 299.59), -- adjust location as needed
interactionText = "Open Truck Upgrades"
}
Config.DropOffPed = {
model = "s_m_m_dockwork_01", -- NPC at delivery destination
}
--------------------------------------------------------------------------------
-- 🚚 VEHICLE SPAWN LOCATIONS
--------------------------------------------------------------------------------
-- Truck spawn points (player truck)
Config.TruckSpawnPoints = {
vec4(892.57, -3183.06, 5.9, 0.00), vec4(896.57, -3183.06, 5.9, 0.00),
vec4(900.57, -3183.06, 5.9, 0.00), vec4(904.57, -3183.06, 5.9, 0.00),
vec4(908.70, -3183.06, 5.9, 0.00), vec4(912.80, -3183.06, 5.9, 0.00),
vec4(916.90, -3183.06, 5.9, 0.00), vec4(920.80, -3183.06, 5.9, 0.00),
vec4(925.00, -3183.06, 5.9, 0.00), vec4(929.00, -3183.06, 5.9, 0.00),
vec4(933.00, -3183.06, 5.9, 0.00), vec4(937.20, -3183.06, 5.9, 0.00),
vec4(941.27, -3183.06, 5.9, 0.00), vec4(945.37, -3183.06, 5.9, 0.00),
vec4(949.57, -3183.06, 5.9, 0.00), vec4(953.57, -3183.06, 5.9, 0.00),
vec4(957.57, -3183.06, 5.9, 0.00), vec4(961.57, -3183.06, 5.9, 0.00),
vec4(965.57, -3183.06, 5.9, 0.00), vec4(969.57, -3183.06, 5.9, 0.00)
}
-- Trailer spawn points (player trailer)
Config.TrailerSpawnPoints = {
vec4(908.70, -3209.65, 5.9, 0.00), vec4(912.80, -3209.65, 5.9, 0.00),
vec4(925.00, -3209.65, 5.9, 0.00), vec4(929.00, -3209.65, 5.9, 0.00),
vec4(933.00, -3209.65, 5.9, 0.00), vec4(937.20, -3209.65, 5.9, 0.00),
vec4(941.27, -3209.65, 5.9, 0.00), vec4(945.37, -3209.65, 5.9, 0.00),
vec4(949.57, -3209.65, 5.9, 0.00), vec4(953.57, -3209.65, 5.9, 0.00),
vec4(957.57, -3209.65, 5.9, 0.00)
}
-- Forklift spawn points (used for crate loading)
Config.ForkliftSpawnPoints = {
vec4(907.9, -3233.05, 5.9, 356.34), vec4(904.9, -3233.05, 5.9, 356.34),
vec4(901.9, -3233.05, 5.9, 356.34), vec4(898.9, -3233.05, 5.9, 356.34),
vec4(895.9, -3233.05, 5.9, 356.34), vec4(892.9, -3233.05, 5.9, 356.34),
vec4(889.9, -3233.05, 5.9, 356.34),
}
-- Return location for forklift
Config.ForkliftReturnZone = vec3(923.09, -3236.67, 5.9)
--------------------------------------------------------------------------------
-- 📦 CARGO SETTINGS
--------------------------------------------------------------------------------
-- Model used for cargo boxes
Config.CargoPropModel = "prop_boxpile_06b"
-- Crate spawn positions (where cargo is picked up with forklift)
Config.CargoSpawnPoints = {
vec3(928.53, -3233.31, 5.9), vec3(930.53, -3233.31, 5.9),
vec3(932.53, -3233.31, 5.9), vec3(934.53, -3233.31, 5.9),
vec3(936.53, -3233.31, 5.9), vec3(938.53, -3233.31, 5.9),
vec3(940.53, -3233.31, 5.9), vec3(942.53, -3233.31, 5.9),
vec3(944.53, -3233.31, 5.9), vec3(946.53, -3233.31, 5.9),
}
-- Cargo drop zones: trailerIndex maps directly to drop zone index
Config.CargoDropZones = {
vec3(908.72, -3216.16, 5.9), vec3(912.77, -3216.16, 5.9),
vec3(925.01, -3216.16, 5.9), vec3(928.95, -3216.18, 5.9),
vec3(932.97, -3216.16, 5.9), vec3(937.13, -3216.16, 5.9),
vec3(941.19, -3216.16, 5.9), vec3(945.37, -3216.16, 5.9),
vec3(949.60, -3216.16, 5.9), vec3(953.53, -3216.16, 5.9),
vec3(957.56, -3216.16, 5.9),
}
-- Minimum and maximum cargo (crates) to deliver per job
Config.CargoAmount = {
min = 1,
max = 4,
}
--------------------------------------------------------------------------------
-- 🧭 DELIVERY LOCATIONS (Based on XP level)
--------------------------------------------------------------------------------
Config.DeliveryLocations = {
{
xpRequired = 0,
payoutBonus = 1.0,
xpReward = 25,
locations = {
vec4(-2128.12, 2862.78, 32.81, 19.3),
vec4(-2108.12, 2862.78, 32.81, 19.3),
}
},
{
xpRequired = 300,
payoutBonus = 1.15,
xpReward = 50,
locations = {
vec4(437.98, -586.95, 28.5, 186.84),
vec4(443.00, -580.00, 28.5, 200.0),
}
},
{
xpRequired = 750,
payoutBonus = 1.35,
xpReward = 75,
locations = {
vec4(1194.96, -689.08, 60.6, 166.53),
vec4(1202.34, -685.11, 60.6, 180.0),
}
}
}
--------------------------------------------------------------------------------
-- 💸 PAYMENT SETTINGS
--------------------------------------------------------------------------------
Config.BasePay = 250 -- Flat base job pay
Config.PayPerMeter = 0.45 -- Distance-based pay multiplier
--------------------------------------------------------------------------------
-- 📈 XP LEVEL TITLES
--------------------------------------------------------------------------------
Config.Levels = {
{ xp = 0, title = "Rookie Driver (Lv. 1)" },
{ xp = 300, title = "Cargo Cadet (Lv. 2)" },
{ xp = 645, title = "Road Apprentice (Lv. 3)" },
{ xp = 1041, title = "Gear Shifter (Lv. 4)" },
{ xp = 1498, title = "Weekend Wheeler (Lv. 5)" },
{ xp = 2022, title = "Daily Hauler (Lv. 6)" },
{ xp = 2626, title = "Route Runner (Lv. 7)" },
{ xp = 3319, title = "Freight Regular (Lv. 8)" },
{ xp = 4107, title = "Distance Driver (Lv. 9)" },
{ xp = 5003, title = "Load Lifter (Lv. 10)" },
{ xp = 6016, title = "Seasoned Operator (Lv. 11)" },
{ xp = 7158, title = "Logistics Handler (Lv. 12)" },
{ xp = 8437, title = "Cargo Commander (Lv. 13)" },
{ xp = 9862, title = "Convoy Chief (Lv. 14)" },
{ xp = 11443, title = "Veteran Hauler (Lv. 15)" },
{ xp = 13207, title = "Diesel Boss (Lv. 16)" },
{ xp = 15168, title = "Asph■■■■■eteran (Lv. 17)" },
{ xp = 17355, title = "Highway Hero (Lv. 18)" },
{ xp = 19788, title = "Fleet Veteran (Lv. 19)" },
{ xp = 22491, title = "Rubber King (Lv. 20)" },
{ xp = 25491, title = "Torque Master (Lv. 21)" },
{ xp = 28819, title = "Overdrive Officer (Lv. 22)" },
{ xp = 32512, title = "Steel Convoy (Lv. 23)" },
{ xp = 36609, title = "Big Rig General (Lv. 24)" },
{ xp = 41150, title = "Legendary Hauler (Lv. 25)" },
{ xp = 46178, title = "Road Commander (Lv. 26)" },
{ xp = 51675, title = "Haul Baron (Lv. 27)" },
{ xp = 57676, title = "Diesel Tycoon (Lv. 28)" },
{ xp = 64219, title = "Supply Line King (Lv. 29)" },
{ xp = 71341, title = "The Freighter (Lv. 30)" },
{ xp = 79084, title = "Convoy Lord (Lv. 31)" },
{ xp = 87492, title = "Asphalt Sovereign (Lv. 32)" },
{ xp = 96616, title = "The Wheelman (Lv. 33)" },
{ xp = 106518, title = "Diesel Knight (Lv. 34)" },
{ xp = 117265, title = "Route Emperor (Lv. 35)" },
{ xp = 128928, title = "Logistics Overlord (Lv. 36)" },
{ xp = 141581, title = "The Steel Titan (Lv. 37)" },
{ xp = 155303, title = "Load Legend (Lv. 38)" },
{ xp = 170178, title = "The Great Hauler (Lv. 39)" },
{ xp = 186295, title = "Hauling Juggernaut (Lv. 40)" },
{ xp = 203750, title = "Fuel-Blooded (Lv. 41)" },
{ xp = 222648, title = "The Asphalt Reaper (Lv. 42)" },
{ xp = 243106, title = "King of the Convoy (Lv. 43)" },
{ xp = 265250, title = "Giga Hauler (Lv. 44)" },
{ xp = 289216, title = "Big Rig Deity (Lv. 45)" },
{ xp = 315150, title = "Master of the Road (Lv. 46)" },
{ xp = 343216, title = "Diesel Dominator (Lv. 47)" },
{ xp = 373587, title = "Infinite Wheeler (Lv. 48)" },
{ xp = 406456, title = "Trucking God (Lv. 49)" },
{ xp = 442036, title = "🚛Mother Trucker (Lv. 50)🚛" }
}
Config.UpgradePrices = {
engine = {
[1] = { price = 500, level = 5 },
[2] = { price = 1000, level = 10 },
[3] = { price = 2000, level = 15 }
},
brakes = {
[1] = { price = 300, level = 3 },
[2] = { price = 800, level = 6 },
[3] = { price = 1500, level = 9 }
},
transmission = {
[1] = { price = 400, level = 2 },
[2] = { price = 1000, level = 4 },
[3] = { price = 1800, level = 6 }
},
suspension = {
[1] = { price = 350, level = 4 },
[2] = { price = 750, level = 8 },
[3] = { price = 1200, level = 12 },
[4] = { price = 1800, level = 16 }
},
armor = {
[1] = { price = 1000, level = 6 },
[2] = { price = 2000, level = 12 },
[3] = { price = 3000, level = 18 }
},
turbo = {
[1] = { price = 2500, level = 15 }
}
}
Config.PaintOptions = {
[1] = { label = "Classic Black", color = 0, price = 500, level = 1 },
[2] = { label = "Metallic Red", color = 27, price = 800, level = 2 },
[3] = { label = "Matte Grey", color = 134, price = 1000, level = 3 },
[4] = { label = "Chrome", color = 120, price = 1500, level = 5 },
[5] = { label = "Pearlescent White", color = 111, price = 1700, level = 6 },
[6] = { label = "Midnight Blue", color = 141, price = 1800, level = 7 },
[7] = { label = "Forest Green", color = 49, price = 1850, level = 8 },
[8] = { label = "Orange Pearl", color = 38, price = 1900, level = 9 },
[9] = { label = "Wine Red", color = 143, price = 1950, level = 10 },
[10] = { label = "Cobalt Blue", color = 64, price = 2000, level = 11 },
[11] = { label = "Sunburst Yellow", color = 88, price = 2100, level = 13 },
[12] = { label = "Gunmetal", color = 147, price = 2200, level = 15 },
[13] = { label = "Teal Matte", color = 91, price = 2300, level = 17 },
[14] = { label = "Hot Pink", color = 135, price = 2500, level = 19 },
[15] = { label = "Deep Purple", color = 145, price = 2600, level = 21 },
[16] = { label = "Glossy White", color = 112, price = 2700, level = 23 },
[17] = { label = "Racing Green", color = 50, price = 2800, level = 25 },
[18] = { label = "Sky Blue", color = 70, price = 2900, level = 28 },
[19] = { label = "Lime Green", color = 92, price = 3000, level = 31 },
[20] = { label = "Diamond Blue", color = 67, price = 3200, level = 34 },
[21] = { label = "Graphite", color = 1, price = 3500, level = 38 },
[22] = { label = "Ultra Black", color = 147, price = 4000, level = 42 },
}
Config.Text = {
-- Trucking
AlreadyOnJob = "You are already on a job!",
NoTruckSpawns = "No truck spawn points are clear. Try again shortly.",
NoTrailerSpawns = "No trailer spawn points are clear. Try again shortly.",
NoForkliftSpawns = "No forklift spawn points are clear. Try again shortly.",
ForkliftProvided = "A forklift has been provided to load the cargo.",
CargoLoadStart = "Truck and trailer spawned. Attach the trailer and load your cargo.",
LoadCargo = function(n) return ("Load %d cargo crate(s) into the trailer area to begin delivery."):format(n) end,
CargoLoaded = function(dropped, needed) return ("Cargo loaded: %d / %d"):format(dropped, needed) end,
AllCargoLoaded = "All cargo loaded! Attach the trailer to begin delivery.",
TrailerAttached = "Trailer attached! You may now deliver the cargo.",
MustAttachTrailer = "You must have the trailer attached to deliver the cargo!",
NotLoadedCargo = "You haven't completed cargo loading!",
DropOffPrompt = "Trailer parked. Please report to the drop-off officer to complete delivery.",
DeliveryComplete = "Delivery complete. Truck returned.",
JobCancelled = "Job cancelled.",
AssetsCleaned = "All job assets cleaned up.",
NoXPDeliveries = "No delivery routes available for your XP level.",
NoDeliveryLocation = "Task Delivery location not set!",
-- Additional client-side
CouldNotMatchTrailer = "Could not match trailer spawn to a cargo zone.",
MustLoadBeforeAttach = "You must load all cargo before attaching the trailer.",
UnableToReserveCrates = "Unable to reserve crate spawn points. Try again later.",
ReturnForklift = "All cargo loaded! Please return the forklift to its marked spot to proceed.",
ForkliftReturned = "Forklift returned. Truck keys granted.",
MissingTruckAndTrailer = "You need a truck and trailer spawned to use this.",
DebugMarkedLoaded = "Debug: Cargo marked as loaded. Proceed to delivery.",
XPRank = function(xp, title) return ("XP: %d | Rank: %s"):format(xp, title) end,
-- Server-side
CashReward = function(amount) return "You received $" .. amount .. " in cash." end,
XPGain = function(gain, total) return ("You earned %d XP (Total: %d)"):format(gain, total) end,
NoStatsFound = "No trucking stats found.",
-- Upgrades
InvalidUpgrade = "Invalid upgrade level or price.",
LevelTooLow = "You don't meet the level requirement.",
AlreadyOwnedUpgrade = "You already own this or a better upgrade.",
UpgradeSuccess = function(upgrade, level) return ("Upgrade purchased: %s Lv. %s"):format(upgrade, level) end,
NotEnoughCash = "Not enough cash.",
-- Paint
InvalidPaint = "Invalid color selected.",
PaintLoadFail = "Failed to load paint data.",
PaintSuccess = function(label) return "Truck painted: " .. label end,
PaintAlreadyEquipped = "You already have this paint equipped.",
PaintLevelTooLow = "You do not meet the required level for this paint.",
PaintNotEnoughCash = "You do not have enough cash to buy this paint.",
PaintFailed = "Failed to apply paint, please try again.",
PaintApplied = "Paint applied successfully!",
}
Example
A player starts a job, loads crates with a forklift, hooks up their trailer, and drives across the city to deliver. They earn cash and XP, hit a new level, and use it to unlock a turbo upgrade and new paint for their truck — all of which are permanently saved!
Fully Customizable
Edit XP scaling, payouts, and delivery zones in config.lua
Add or change NPCs, spawn locations, and crate positions
Customize truck paint options and upgrade pricing
Enable debug mode to easily test and position assets
In Game Photos
Menu’s:
Paint Shop
Truck Stats Via /truckstats
Truck Upgrade Menu
Debug
“Config.Debug = true”
“Config.DebugSpawnAssets = true”
Blips
This system is perfect for economy servers, trucking RP, and anyone looking to add a fun, skill-based delivery job to their server! 
| Code is accessible | Only Config.lua & HTML |
| Subscription-based | No |
| Lines (approximately) | Number of lines: 2000 |
| Requirements | Requirements: QBCore |
| Support | Yes |
See what others are saying about this script.
Share your experience and help others.