Skip to main content
sh-trucking gives your players a fully standalone legal job where they pick up loads, haul them across the map, and earn both cash and XP for every successful delivery. The XP system persists to MySQL via oxmysql and unlocks higher-paying job tiers as players level up — starting with small solo hauls and progressing to big-rig runs with trailers attached. Payment, target interaction, and fuel are all configurable to match the resources already running on your server.

Dependencies

Database Setup

Run the following SQL against your database before starting the resource for the first time. This creates the table that stores each player’s level and XP.
A pre-built .sql file is included in the resource root (shtrucking.sql). You can import it directly rather than copying the query above. If you start the resource without running the SQL first, players will receive database errors when they attempt to take a job.

Job Tiers

Players unlock higher tiers by accumulating XP through completed deliveries. Medium and Big jobs require a trailer, increasing both the challenge and the reward.

Gameplay Flow

1

Find the NPC

Locate the trucking NPC on your map — a blip marks their position at the trucking depot. Walk up and interact using your configured target method (third-eye or proximity [E]).
2

Choose a tier

Select a job tier from the menu. Tiers you have not yet unlocked will be greyed out based on your current XP.
3

Collect your truck

A truck spawns nearby at the configured spawn point. For Medium and Big jobs, a trailer also spawns — hitch it before heading out.
4

Make the delivery

Follow the route marker to the delivery destination and drop off your load. The script validates arrival before marking the job complete.
5

Collect pay and XP

Return to the NPC to receive a randomised payment and XP within your tier’s configured range. XP is saved to the database automatically.

Configuration

All primary settings live in shared/config.lua.
shared/config.lua
  • qb — QBCore; uses QBCore player object for payments and identity
  • esx — ESX Legacy; uses ESX player object
  • nat — NAT2K15 money system
  • nd — ND_Core
  • standalone — No framework; payments are handled by the built-in cash drop method
  • 'qb' — qb-target third-eye interaction
  • 'ox' — ox_target third-eye interaction
  • false — Proximity [E] key; no target resource needed
  • LegacyFuel — LegacyFuel by InZidiuZ
  • ps-fuel — ps-fuel by Project Sloth
  • bigdaddy — BigDaddy fuel
  • rhud — Renewed HUD integrated fuel

NPC Blip

The job NPC blip is visible on the map by default. You can adjust its appearance in shared/config.lua under the Config.Blip block — change the sprite number, colour index, and scale to match your server’s UI style.
shared/config.lua
Spawned trucks are automatically filled to 100% fuel when the job starts, regardless of your server’s fuel resource. Players never need to stop for fuel at the start of a run.