Pepper Trucking
LKW-Karriere mit Frachtbörse, echten Anhängern, Skill-Baum, eigenen LKW, Konvois und Spedition mit KI-Fahrern – ESX Legacy.
Überblick
Pepper Trucking macht aus dem LKW-Job einen Beruf für ESX Legacy: Die Frachtbörse bietet Aufträge passend zu Level, Skills und LKW – vom Paket im Kastenwagen bis zum Transformator auf dem Schwerlastanhänger. Du kuppelst echte Anhänger an, schonst die Fracht, lieferst pünktlich und parkst sauber ein. Wer aufsteigt, kauft eigene LKW, fährt im Konvoi und baut eine Spedition auf, deren KI-Fahrer auch dann Touren fahren, wenn niemand online ist.
- Frachtbörse mit 24 Frachtarten: Gefahrgut, Kühlware, Schwertransporte, Eilaufträge, Touren mit bis zu 3 Entladestellen
- Echte Anhänger mit Ankuppeln, Abstellen und Einpark-Bewertung
- 50 Level, Reputation, 1–5 Sterne pro Auftrag, Skill-Baum mit 8 Skills, tägliche und wöchentliche Challenges
- Eigene LKW mit Garage, Verschleiß und Werkstatt, Konvoi für bis zu 4 Fahrer
- Wiegestationen und Kraftstoff (eingebaut oder dein Tank-Script)
- Spedition mit Personal, Rängen, Firmenkonto, 4 Depots und KI-Fahrern
- Frachtort-Editor und Adminpanel im Fahrer-Tablet (F9), Deutsch und Englisch
Voraussetzungen
| Abhängigkeit | Pflicht/optional | Wofür | Link |
|---|---|---|---|
| FiveM-Server-Build 7290+ mit OneSync | Pflicht | in fxmanifest.lua als /server:7290 und /onesync hinterlegt |
https://docs.fivem.net/docs/server-manual/setting-up-a-server/ |
ESX Legacy 1.9+ (es_extended) |
Pflicht | Spieler, Geld (Bankkonto), Admin-Gruppen | https://github.com/esx-framework/esx_core |
| oxmysql | Pflicht | Datenbank (Karriere, LKW, Spedition, Frachtorte) | https://github.com/overextended/oxmysql |
| LegacyFuel, ox_fuel oder cdn-fuel | optional | übernimmt Verbrauch und Tanken statt der eingebauten Tankanzeige | – |
ox_lib, ox_target und ox_inventory werden nicht benötigt. Ein ESX-Job ist nicht nötig – jeder Spieler darf fahren. Pepper Trucking läuft nur mit ESX Legacy (kein QBCore/Qbox).
Installation
- Ressource im Cfx.re-Portal → Granted Assets herunterladen.
- Nach
resources/[pepper]/pepper_truckingentpacken. Den Ordnernamenpepper_truckingnicht umbenennen – andere Ressourcen rufen die Exports überexports.pepper_truckingauf. - In der
server.cfgnach den Abhängigkeiten eintragen:
ensure oxmysql
ensure es_extended
ensure pepper_trucking
- Datenbank: Mit
Config.Database.AutoInstall = true(Standard) legt die Ressource fehlende Tabellen beim Start selbst an (15 Tabellen mit Präfixtruck_). Manuell geht es übersql/install.sql. Beim ersten Start werden 33 Standard-Frachtorte ausconfig/locations.luaangelegt (Config.Database.SeedDefaultLocations). - Adminrechte vergeben (Details unter „Befehle und Rechte“), z. B.:
add_ace group.admin pepper_trucking.admin allow
Pepper Trucking nutzt keine Inventar-Items – es müssen keine Items oder Bilder angelegt werden.
Erster Test
- Server starten und in der Konsole prüfen, dass
pepper_truckingohne Fehler startet. - Zum Speditionshof am Hafen fahren (LKW-Symbol auf der Karte) und am Terminal
Edrücken. - Ein Mietfahrzeug wählen, mit
F9das Tablet öffnen und einen Auftrag aus der Frachtbörse annehmen. - Beladen, zur Entladestelle fahren und abliefern – danach erscheint die Abrechnung mit Sternen, Lohn und XP.
- Als Admin im Tablet unter Admin → Frachtorte die Standard-Frachtorte einmal prüfen und bei Bedarf korrigieren.
Konfiguration
Alle Einstellungen liegen offen in config/ (per Asset Escrow lesbar und editierbar):
| Datei | Steuert |
|---|---|
config/config.lua |
Sprache, Datenbank, Depots, Tablet, Frachtbörse, Andocken/Einparken, Kraftstoff, Wiegestationen, Vergütung, Schäden, Bewertung, Reputation, Garage, Konvoi, Spedition, KI-Fahrer, Admin |
config/trucks.lua |
LKW (Klasse, Typ, Last, Tank, Verbrauch, Preis, Miete, Voraussetzungen), Tuning-Stufen, Lackfarben |
config/cargo.lua |
Frachtarten (Warengruppe, Anhänger, Gewicht, Wert, Zerbrechlichkeit, Gefahrgut, Kühlung, Skills) |
config/skills.lua |
Skill-Baum (Stufen, Mindestlevel, Wirkung) |
config/levels.lua |
50 Level, Titel, XP je Auftrag, Levelprämien |
config/locations.lua |
Standard-Frachtorte (nur beim ersten Start übernommen) |
config/stations.lua |
LKW-Tankstellen und Wiegestationen |
config/challenges.lua |
tägliche und wöchentliche Challenges |
config/server.lua |
optionaler Discord-Webhook für Logs (nur serverseitig geladen) |
locales/de.lua, locales/en.lua |
alle Texte im Spiel und im Tablet |
Allgemein und Datenbank
Config.Locale = 'de'
Config.TimeSource = 'game'
Config.Database = { AutoInstall = true, SeedDefaultLocations = true, SaveInterval = 300 }
| Option | Standard | Beschreibung |
|---|---|---|
Config.Locale |
'de' |
Sprache (de oder en) |
Config.Debug |
false |
ausführliche Logs in der Server-Konsole |
Config.TimeSource |
'game' |
Tageszeit für Nacht- und Eilaufträge: 'game' (Spielzeit) oder 'server' |
Config.Resets.DailyHour |
5 |
Uhrzeit (Serverzeit) des täglichen Challenge-Resets |
Config.Database.AutoInstall |
true |
fehlende Tabellen aus sql/install.sql anlegen |
Config.Database.SaveInterval |
300 |
Sekunden zwischen Zwischenspeicherungen |
Depots und Tablet
Das erste Depot (port, Hafen Los Santos) ist der Haupthof mit Werkstatt. route68, sandy und paleto sind kaufbare
Nebendepots mit Näherungskoordinaten und AllowShiftStart = false – sie zählen für die Spedition (KI-Plätze,
Stellplätze). Schichten starten dort erst, wenn du die Koordinaten im Spiel geprüft und AllowShiftStart = true gesetzt hast.
| Option | Standard | Beschreibung |
|---|---|---|
Config.Tablet.Command |
'trucktablet' |
Befehl für das Tablet |
Config.Tablet.DefaultKey |
'F9' |
Standardtaste (in den GTA-Tastenbelegungen änderbar) |
Config.Tablet.AllowAnywhereOnDuty |
true |
Tablet im Dienst überall öffnen |
Config.DepotRules.MaxStartDistance |
80.0 |
Dienstbeginn/Werkstatt nur so nah am Terminal (serverseitig geprüft) |
Frachtbörse und Vergütung
Config.Freight = { BoardSize = 8, RefreshMinutes = 12, MinDistance = 700.0, MaxDrops = 3, ... }
Config.Economy = { PayAccount = 'bank', GlobalMultiplier = 1.0, BasePerKm = 90, PerTonKm = 4.0, ... }
| Option | Standard | Beschreibung |
|---|---|---|
Config.Freight.BoardSize |
8 |
Angebote je Fahrer |
Config.Freight.RefreshMinutes |
12 |
automatische Erneuerung der Börse |
Config.Freight.MinDistance |
700.0 |
Mindestluftlinie Beladung → Entladung (Meter) |
Config.Freight.MaxLate |
1800 |
Sekunden nach Fristende, ab denen der Auftrag scheitert |
Config.Economy.PayAccount |
'bank' |
Konto für die Auszahlung |
Config.Economy.GlobalMultiplier |
1.0 |
Faktor auf alle Vergütungen |
Config.Economy.BasePerKm |
90 |
Lohn je Straßen-Kilometer |
Config.Economy.PerTonKm |
4.0 |
Lohn je Tonne und Kilometer |
Config.Economy.RentalFee |
0.15 |
Miete des Mietfahrzeugs (Anteil der Vergütung) |
Config.Economy.CancelFee |
250 |
Vertragsstrafe beim Abbrechen |
Kraftstoff und Wiegestationen
Config.Fuel.System = 'internal' nutzt die eingebaute Tankanzeige und die LKW-Tankstellen. Mit 'legacyfuel',
'ox_fuel' oder 'cdn-fuel' übernimmt dein Script Verbrauch und Tanken; Pepper Trucking setzt dann nur den Startwert
beim Ausparken. 'none' schaltet Kraftstoff ab.
| Option | Standard | Beschreibung |
|---|---|---|
Config.Fuel.System |
'internal' |
internal, legacyfuel, ox_fuel, cdn-fuel oder none |
Config.Fuel.PricePerLiter |
2 |
Literpreis an den LKW-Tankstellen |
Config.Weigh.Enabled |
true |
Wiegestationen an/aus |
Config.Weigh.LegalLimit |
40 |
Tonnen – darüber ist eine Sondergenehmigung nötig |
Config.Weigh.SkipFine |
1500 |
Strafe, wenn du eine geöffnete Station umfährst und kontrolliert wirst |
Config.Weigh.OverweightFine |
5000 |
Strafe für Übergewicht ohne Genehmigung |
Garage, Konvoi, Spedition und KI-Fahrer
| Option | Standard | Beschreibung |
|---|---|---|
Config.Garage.MaxTrucks |
5 |
eigene LKW je Spieler |
Config.Garage.SellFactor |
0.65 |
Wiederverkauf: Neupreis × Faktor × Zustand |
Config.Convoy.MaxMembers |
4 |
Fahrer pro Konvoi |
Config.Company.AllowPurchase |
true |
Spieler dürfen die Spedition kaufen |
Config.Company.PurchasePrice |
1500000 |
Kaufpreis der Spedition |
Config.Company.MaxEmployees |
40 |
maximale Mitarbeiterzahl |
Config.AI.Enabled |
true |
KI-Fahrer an/aus |
Config.AI.JobMinutes |
30 |
Echtzeit-Minuten je KI-Tour |
Config.AI.MaxCatchUpJobs |
16 |
verpasste Touren je Fahrer, die nach einem Neustart nachgeholt werden |
Discord-Webhook
In config/server.lua (wird nie an Clients gesendet):
ServerConfig = {
LogWebhook = '', -- leer = aus
LogWebhookName = 'Pepper Trucking',
}
Spielablauf
- Schicht starten am Terminal: Mietfahrzeug, eigenen LKW ausparken oder – als Angestellter – einen Firmen-LKW.
- Frachtbörse im Tablet: Auftrag wählen. Überladene Frachten bieten eine Sondergenehmigung an, Konvoi-Leiter können Aufträge teilen.
- Beladen: Solo-LKW in der Rampe anhalten – Sattelzug rückwärts an den markierten Anhänger setzen (kuppelt automatisch an).
- Fahren: Frist im Blick, Fracht schonen, geöffnete Wiegestationen anfahren, rechtzeitig tanken.
- Abliefern: Anhänger in der Zone abstellen (Pfeil = Ausrichtung) – an der letzten Entladestelle zählt das Einparken.
- Abrechnung: Sterne, Vergütung mit allen Boni und Abzügen, XP, Reputation – danach Skills verteilen und den nächsten LKW anpeilen.
| Spezialfracht | Worauf du achten musst |
|---|---|
| Zerbrechlich | empfindlicher bei Stößen und harten Manövern |
| Gefahrgut | Skill nötig – die Fracht kann zerstört werden |
| Kühlware | Verspätung und Schäden unterbrechen die Kühlkette |
| Schwertransport | Übergewicht – Sondergenehmigung an Wiegestationen |
| Eilauftrag | knappe Frist, höherer Bonus (Skill nötig) |
| Tour | bis zu 3 Entladestellen pro Auftrag |
Frachtort-Editor
Tablet (F9) → Admin → Frachtorte: Belade- und Entladestellen anlegen oder korrigieren. Position und Ausrichtung kommen
direkt vom angekuppelten Anhänger (Button oder /truckloc), dazu Warengruppen, Zufahrt, Radius, Vorschau auf der Karte
und Teleport. Bis zu 150 Frachtorte (Config.Admin.MaxLocations). Frachtorte liegen in der Datenbank –
config/locations.lua wird nur beim ersten Start übernommen, Updates der Ressource überschreiben deine Orte nie.
Im Adminpanel bearbeitest du Spieler auch offline, verschenkst LKW und schaltest Mietfahrzeuge frei; mit
Config.Admin.RequireReason = true braucht jede Änderung eine Begründung und landet im Audit-Log.
Befehle und Rechte
| Befehl / Taste | Wer | Was |
|---|---|---|
F9 / /trucktablet |
alle | Fahrer-Tablet – am Speditions-Terminal, im Dienst überall |
E |
alle | Terminal am Depot benutzen |
Y / N (/truckconvoyyes, /truckconvoyno) |
alle | Konvoi-Einladung annehmen / ablehnen |
/truckloc |
Admins | aktuelle Position (im LKW: Anhängerposition) in den offenen Frachtort-Entwurf übernehmen |
Tasten kann jeder Spieler in den GTA-Einstellungen → Tastenbelegung → FiveM ändern.
Adminrechte: ESX-Gruppe aus Config.Admin.Groups (Standard admin, superadmin) oder ACE pepper_trucking.admin:
add_ace group.admin pepper_trucking.admin allow
Spedition: Rechte innerhalb der Firma (Einstellen, Kündigen, Ränge, Fuhrpark, KI, Finanzen) hängen am Rang in
Config.Company.DefaultRanks, nicht an ESX-Jobs.
Exports und Events
Alle Exports sind serverseitig und nur lesend:
| Export | Rückgabe |
|---|---|
GetTruckerData(src) |
Karriere und Statistiken eines Spielers |
IsTruckerOnDuty(src) |
ist der Spieler im Dienst? |
GetTruckerStatus(src) |
aktueller Status |
GetTruckerJob(src) |
aktueller Auftrag |
GetOnDutyTruckers() |
Liste der Fahrer im Dienst |
GetPlayerTrucks(identifier) |
eigene LKW eines Spielers |
GetTruckingCompany() |
Infos zur Spedition |
IsTruckingEmployee(srcOrIdentifier) |
ist der Spieler Angestellter? |
GetFreightLocations() |
alle Frachtorte |
local onDuty = exports.pepper_trucking:IsTruckerOnDuty(source)
Es gibt bewusst keinen Export, mit dem andere Ressourcen Geld, XP oder Reputation erzeugen können.
FAQ
Die Ressource startet nicht oder meldet fehlende Abhängigkeiten.
Prüfe die Reihenfolge in der server.cfg: oxmysql und es_extended müssen vor pepper_trucking starten. Außerdem
verlangt das Manifest Server-Build 7290+ und OneSync – ohne OneSync startet die Ressource nicht.
Die Tabellen fehlen in der Datenbank.
Lass Config.Database.AutoInstall = true oder importiere sql/install.sql manuell. Alle Tabellen beginnen mit truck_.
Läuft Pepper Trucking mit QBCore oder Qbox?
Nein. Die Ressource nutzt es_extended direkt und ist nur für ESX Legacy 1.9+ gebaut.
Brauchen Spieler einen ESX-Job?
Nein. Jeder darf eine Schicht starten; die Spedition (Personal, Ränge, Gehalt) läuft in der Ressource selbst.
Muss ich Items anlegen?
Nein. Pepper Trucking nutzt keine Inventar-Items und braucht weder ox_inventory noch Item-Bilder.
Der Admin-Bereich im Tablet fehlt.
Deine ESX-Gruppe muss in Config.Admin.Groups stehen (Standard admin, superadmin) oder du brauchst die ACE
pepper_trucking.admin.
Ein Frachtort liegt ungünstig oder in einer Wand.
Fahre den Ort an und übernimm ihn im Frachtort-Editor neu – mit angekuppeltem Anhänger in Parkposition (Button oder
/truckloc). Frachtorte liegen in der Datenbank, Änderungen in config/locations.lua greifen nach dem ersten Start nicht mehr.
Der Anhänger wird nicht als angekuppelt erkannt.
Setze die Sattelzugmaschine rückwärts an den markierten Anhänger, bis er ankuppelt, und zieh ihn ein paar Meter von der
Rampe weg (Config.Docking.CoupleMoved = 4.0).
Warum ist mein Auftrag gescheitert?
Die Lieferfrist wurde um mehr als Config.Freight.MaxLate (1800 Sekunden) überschritten, der Anhänger war länger als
Config.Docking.LostTimeout (900 Sekunden) weg oder die Fracht wurde zerstört.
Kollidiert F9 mit Pepper Taxi oder Pepper Bus?
Nein – Taxi nutzt F6, Bus F7. Jeder Spieler kann die Taste außerdem in den GTA-Tastenbelegungen ändern.
Ich nutze schon ein Tank-Script.
Stell Config.Fuel.System auf 'legacyfuel', 'ox_fuel' oder 'cdn-fuel'. Mit 'none' ist Kraftstoff ganz aus.
Kann ich Schichten an den Nebendepots starten?
Ja, nachdem du ihre Koordinaten im Spiel geprüft hast: Setze für das Depot in Config.Depots AllowShiftStart = true.
Verdienen KI-Fahrer auch, wenn niemand online ist?
Ja. Verpasste Touren werden nach einem Neustart nachgeholt (höchstens Config.AI.MaxCatchUpJobs = 16 je Fahrer).
Ist das Firmenkonto leer, streiken die KI-Fahrer.
Wie ändere ich Texte?
Alle Texte stehen in locales/de.lua und locales/en.lua; die Sprache wählst du mit Config.Locale.
Wie viel Leistung braucht die Ressource?
Gemessen mit resmon: 0,00 ms im Leerlauf und 0,01 ms aktiv.
Kann eine andere Ressource Geld oder XP über Pepper Trucking auszahlen?
Nein, die Exports sind nur lesend. Vergütung passiert ausschließlich serverseitig.
Gehen beim Update meine Frachtorte oder Einstellungen verloren?
Frachtorte und Spielstände liegen in der Datenbank und werden nicht überschrieben. Sichere vor dem Update deine
geänderten Dateien in config/ und locales/ und übertrage deine Anpassungen in die neue Version.
Support
Fragen und Fehler: Öffne ein Ticket in unserem Discord: https://discord.gg/6NaFJWKDYu – verknüpfe deinen Kauf vorher
mit /verify.
Permanent auf dem Dev-Server von Pepper Scripts getestet.
Changelog
Aktuelle Version: 1.0.0 (27.09.2026) – erste Veröffentlichung. Alle Änderungen stehen in der Datei CHANGELOG.md
im Ressourcenordner.
Fehler gefunden? Melde ihn im Discord.