Pepper Farmer
Farming-Karriere von Level 1 bis 100 mit Feldpacht, Maschinen, Tieren, Produktionsketten, dynamischem Markt und Genossenschaften – ESX, QBCore und Qbox.
Überblick
Pepper Farmer ist eine langfristige Farming-Karriere (~300 Stunden bis Level 100) für ESX, QBCore und Qbox. Spieler
pachten Beete und Felder, bauen 47 Pflanzen und 3 legendäre Sorten an, bearbeiten Großfelder mit Maschinen auf
GTA-Vanilla-Fahrzeugen, halten zehn Tierarten, verarbeiten ihre Ernte in 40 Maschinen mit 112 Rezepten und verkaufen
auf einem dynamischen Markt oder über Aufträge. Jedes Level schaltet etwas frei. Verwaltet wird alles im Farm-Tablet
(F6 / /farmer) – am Büro der Farmzentrale in Grapeseed auch per ox_target.
- Feldpacht für 24 Stunden, Pachtlimit wächst mit dem Level
- Großfelder mit Maschinen Bahn für Bahn bearbeiten, Qualität von Normal bis Meisterklasse
- Tiere, Produktionsketten in Echtzeit (auch offline), zehn Händler, Hofladen, Wochenmarkt und Aufträge
- Genossenschaften ab Level 70, Challenges, Erfolge und Prestige ab Level 100
- Admin-Reiter im Tablet: Orte und Felder im Spiel verschieben, Spieler, Pachten und Markt verwalten
Voraussetzungen
| Abhängigkeit | Pflicht/optional | Wofür | Link |
|---|---|---|---|
| FiveM-Server ab Build 7290 | Pflicht | Laut fxmanifest.lua (/server:7290) |
https://runtime.fivem.net/artifacts/fivem/ |
| OneSync | Pflicht | Maschinen, Tiere und Props auf dem Server | https://docs.fivem.net/docs/scripting-reference/onesync/ |
| ESX Legacy, QBCore oder Qbox | Pflicht | Geld, Charakter, Namen (Config.Framework) |
https://github.com/esx-framework/esx_core · https://github.com/qbcore-framework/qb-core · https://github.com/Qbox-project/qbx_core |
| oxmysql | Pflicht | 29 Tabellen farmer_* (MySQL 5.7+ / MariaDB 10.3+) |
https://github.com/overextended/oxmysql |
| ox_lib | Pflicht | Hilfsfunktionen | https://github.com/overextended/ox_lib |
| ox_inventory | Pflicht | Items mit Qualität, Hoflager, Erntekorb | https://github.com/overextended/ox_inventory |
| ox_target | Pflicht | Handgriffe an Pflanzen, Tieren, Maschinen, Händlern, Pachttafeln | https://github.com/overextended/ox_target |
qb-inventory und qb-target werden nicht unterstützt.
Installation
Ressource im Cfx.re-Portal (Granted Assets) herunterladen und nach
resources/[pepper]/pepper_farmerentpacken.Ordnernamen nicht umbenennen. Die Ressource muss
pepper_farmerheißen, sonst öffnet das Tablet nicht.config/config.lua:Config.Framework(Standard'esx', sonst'qbcore','qbox'oder'auto') undConfig.Locale('de'/'en') setzen.Items: Inhalt von
install/ox_items_de.lua(oderox_items_en.lua) inox_inventory/data/items.luaeinfügen – innerhalb der Tabelle, direkt vor die allerletzte}. Kein zusätzlichesreturn {. Gibt es ein Item schon (z. B.bread), den alten Eintrag löschen.Erntekorb: Inhalt von
install/ox_containers.luainox_inventory/modules/items/containers.luaeinfügen – vor die Zeilereturn containersam Dateiende.In der
server.cfgnach den Abhängigkeiten starten:
ensure oxmysql
ensure ox_lib
ensure es_extended # bzw. qb-core oder qbx_core
ensure ox_inventory
ensure ox_target
ensure pepper_farmer
add_ace group.admin pepper_farmer.admin allow
- Server komplett neu starten (ox_inventory liest neue Items nur beim eigenen Start ein). In der Konsole steht
Pepper Farmer v1.0.0 gestartet (Framework: esx)mit deinem Framework.
Datenbank: Du musst nichts importieren. Pepper Farmer legt beim Start alle 29 Tabellen (farmer_*) selbst an
(server/db.lua, CREATE TABLE IF NOT EXISTS). Nur wenn dein Datenbank-Benutzer keine Tabellen anlegen darf, importierst
du vorher install/pepper_farmer.sql per HeidiSQL oder phpMyAdmin. Meldet die Konsole „Mindestens ein Schema-Block ist
fehlgeschlagen“, ist das der Ersatzweg.
Items je Inventar:
| Inventar | Datei | Ziel | Bilder |
|---|---|---|---|
| ox_inventory | install/ox_items_de.lua / ox_items_en.lua (265 Items) |
ox_inventory/data/items.lua |
optional: PNG mit dem Item-Namen nach ox_inventory/web/images/ |
| ox_inventory (Erntekorb) | install/ox_containers.lua |
ox_inventory/modules/items/containers.lua |
– |
Andere Inventare werden nicht unterstützt.
Erster Test
- F6 drücken oder
/farmereingeben: Das Farm-Tablet öffnet sich. - Im Tablet → Reiter Felder ein freies Beet an der Farmzentrale in Grapeseed pachten.
- Hacke und Gießkanne bei den Gartengeräten, Saat im Saatguthandel Grapeseed kaufen.
- Am Beet per ox_target hacken, säen und gießen, nach der Wachstumszeit ernten.
- Die Ernte bei einem Händler verkaufen und im Tablet die gewonnenen XP prüfen.
Konfiguration
| Datei | Steuert |
|---|---|
config/config.lua |
Framework, Sprache, Befehl/Taste, Konten, Qualitätsstufen, Sicherheit, Admin, Genossenschaft, Farmzentrale |
config/levels.lua |
XP-Kurve, Ränge, Features je Level, Pachtlimit, Levelprämien, Prestige |
config/crops.lua · fields.lua · tools.lua · weather.lua |
Pflanzen, Flächen und Pachtregeln, Werkzeuge/Dünger/Krankheiten, Jahreszeiten und Wetter |
config/vehicles.lua |
Fahrzeuge und Geräte, Depot, Werkstatt, Arbeitsmenü-Taste |
config/animals.lua |
Tierarten, Ställe, Futter, Zucht, Trüffelsuche |
config/production.lua |
Maschinen und Rezepte |
config/economy.lua · contracts.lua · challenges.lua · achievements.lua |
Händler, Markt, Aufträge, Challenges, Erfolge |
config/upgrades.lua |
Farm-Upgrades |
config/world.lua |
Sichtbare Objekte, NPCs und Blips an den Orten |
config/items/*.lua |
Alle Items |
config/server.lua |
Discord-Webhook (nur Server) |
locales/de · locales/en |
Alle Texte |
Grundeinstellungen
Config.Locale = 'de'
Config.Framework = 'esx'
Config.Command = 'farmer'
Config.Key = 'F6'
Config.Money = {
sales = 'money',
contracts = 'bank',
rewards = 'bank',
purchases = 'cash_then_bank',
}
| Option | Standard | Beschreibung |
|---|---|---|
Config.Locale |
'de' |
'de' oder 'en' |
Config.Framework |
'esx' |
'esx', 'qbcore', 'qbox' oder 'auto' (erkennt qbx_core → es_extended → qb-core) |
Config.Command / Config.Key |
'farmer' / 'F6' |
Befehl und Standardtaste für das Tablet |
Config.Money.sales |
'money' |
Konto für Händlerverkäufe |
Config.Money.contracts / rewards |
'bank' |
Konto für Aufträge und Belohnungen |
Config.Money.purchases |
'cash_then_bank' |
Einkäufe: erst Bargeld, sonst Bank |
Config.Admin.groups |
{ 'admin', 'superadmin', 'god' } |
Framework-Gruppen mit Adminrecht |
Config.Coop.maxMembers |
6 |
Mitglieder einer Genossenschaft inkl. Besitzer |
Config.Debug |
false |
Zusätzliche Konsolenausgaben |
Pacht, XP und Wirtschaft
| Option | Datei | Standard | Beschreibung |
|---|---|---|---|
Config.FieldRules.leaseHours |
fields.lua |
24 |
Pachtdauer in Stunden |
Config.FieldRules.repeatCooldownMin |
fields.lua |
30 |
Sperre für den Vorpächter auf demselben Feld (Minuten) |
Config.FieldRules.priceMult |
fields.lua |
1.0 |
Faktor auf alle Pachtpreise |
Config.Levels.globalXpMultiplier |
levels.lua |
1.0 |
Alle XP × Faktor |
Config.Economy.globalMultiplier |
economy.lua |
1.0 |
Verkaufserlöse, Auftrags-, Challenge- und Erfolgsbelohnungen |
Config.Machinery.menuKey |
vehicles.lua |
'K' |
Taste für das Arbeitsmenü im Fahrzeug |
Config.Weather.source |
weather.lua |
'own' |
Eigenes Farm-Wetter |
Eigene Inhalte: Neue Pflanzen, Tiere, Rezepte, Maschinen und Fahrzeuge werden nur in der Config eingetragen –
das level-Feld ist die einzige Quelle für die Freischaltung, Tablet und Level-Übersicht übernehmen sie automatisch.
Neue Items danach mit farmer_items de exportieren und in ox_inventory eintragen.
Koordinaten
Felder, Pachttafeln, Ställe, Maschinen, Händler, Depot und Farmzentrale sind Näherungen aus Kartendaten. Vor dem
Livegang einmal abfahren. Am einfachsten verschiebst du sie im Spiel: Tablet → Reiter Admin → Orte bzw.
Felder → an die richtige Stelle stellen → Auf meine Position setzen. Die Änderung gilt sofort für alle Spieler und
liegt in der Datenbank (Tabelle farmer_locations), ein Update überschreibt sie nicht. farmer_locations_export schreibt
alle Änderungen nach install/location_overrides.lua.
Die Vorgaben stehen in offenen Configs:
| Was | Datei |
|---|---|
| Felder, Beete, Pachttafeln, Bahnen der Großfelder | config/fields.lua |
| Ställe (Trog, Tränke, Sammelstelle, Tafel) | config/animals.lua (pen) |
| Produktionsmaschinen | config/production.lua (location) |
| Händler, Hofladen, Schau | config/economy.lua |
| Maschinendepot, Werkstatt | config/vehicles.lua |
| Farmzentrale (Büro, Hoflager) | config/config.lua (Config.HQ) |
Spielablauf
- Pachten: freies Beet oder Feld an der Pachttafel oder im Tablet für 24 Stunden pachten – das Pachtlimit wächst mit dem Level.
- Anbauen: Saat im Landhandel kaufen, hacken, säen, gießen, düngen, schützen – per ox_target an der Pflanze. Großfelder bearbeitest du mit Maschinen Bahn für Bahn.
- Ernten: Die Qualität (Normal bis Meisterklasse) ergibt sich aus Pflege, Wasser, Dünger, Werkzeug und Erntezeitpunkt.
- Verarbeiten: Maschinen kaufen, Rezepte in die Warteschlange legen – die Produktion läuft in Echtzeit, auch offline.
- Verkaufen: bei zehn Händlern (jeder kauft andere Waren), im eigenen Hofladen, auf dem Wochenmarkt oder über Aufträge.
- Ausbauen: Tiere, Upgrades, Genossenschaft, Challenges, Erfolge – und mit Level 100 Prestige.
Framework-Anbindung
Geld (Bar/Bank), Charakter-Identifier und Namen liefert bridge/server/<framework>.lua, Inventar bridge/server/inventory.lua
(ox_inventory), Interaktionen bridge/client/target.lua (ox_target). Alle Bridges sind offen und können angepasst werden.
Befehle und Rechte
| Befehl | Wer | Was |
|---|---|---|
/farmer oder F6 |
alle | Farm-Tablet öffnen bzw. schließen |
/farmadmin setlevel <id> <level> |
Admin | Level setzen (1–100) |
/farmadmin addxp <id> <menge> |
Admin | XP geben |
/farmadmin reset <id> |
Admin | Level, XP, Prestige und Statistik des Charakters zurücksetzen |
/farmadmin givequality <id> <item> <anzahl> <1–5> |
Admin | Item mit Qualität geben |
farmer_items de|en |
Server-Konsole | Item-Liste für ox_inventory aus config/items/*.lua neu erzeugen |
farmer_locations_export |
Server-Konsole oder Admin | Im Admin-Reiter geänderte Positionen nach install/location_overrides.lua schreiben |
/farmadmin geht im Chat und in der Server-Konsole, <id> ist die Server-ID eines Spielers, der online ist. Den
Befehlsnamen änderst du in Config.Admin.command. Der Reiter Admin im Tablet kann Level, XP und Zurücksetzen auch für
Spieler, die offline sind.
Rechte: Admin ist, wer die ACE pepper_farmer.admin (Config.Admin.ace) oder eine Framework-Gruppe aus
Config.Admin.groups hat:
add_ace group.admin pepper_farmer.admin allow
add_principal identifier.license:DEINE_LIZENZ group.admin
Alle Admin-Aktionen stehen im Audit-Log (farmer_audit), optional zusätzlich im Discord-Webhook (ServerConfig.Webhook
in config/server.lua).
Tasten:
| Taste | Zweck |
|---|---|
| F6 | Farm-Tablet (Config.Key) |
| K (im Fahrzeug) | Arbeitsmenü der Maschine: Arbeitsgang, Saat/Mittel, beenden, einparken (Config.Machinery.menuKey) |
| ox_target (meist Alt) | Handgriffe an Pflanzen, Tieren, Maschinen, Händlern, Pachttafeln, Büro und Hoflager |
Spieler ändern F6 und K unter Einstellungen → Tastenbelegung → FiveM.
Exports
exports.pepper_farmer:getVersion() -- Version von Pepper Farmer
exports.pepper_farmer:getProfile(src) -- Profil (Level, XP, Rang, Farm …)
exports.pepper_farmer:getLevel(src) -- Level oder nil, wenn nicht geladen
exports.pepper_farmer:hasUnlock(src, kind, key) -- z. B. kind = 'feature', key = 'coop'
Die Exports sind nur lesend (Server). Es gibt bewusst keinen Export, mit dem andere Ressourcen Geld, XP oder Items erzeugen können.
local level = exports.pepper_farmer:getLevel(source)
if level and level >= 20 then
-- …
end
FAQ
Muss ich die SQL-Datei importieren?
Nein. Die 29 Tabellen werden beim ersten Start automatisch angelegt. Nur wenn dein Datenbank-Benutzer keine Tabellen anlegen
darf, importierst du install/pepper_farmer.sql von Hand.
Die Ressource bleibt inaktiv.
Steht „Pepper Farmer konnte die Datenbank nicht erreichen und bleibt inaktiv“ in der Konsole, mysql_connection_string
prüfen. Bei „Mindestens ein Schema-Block ist fehlgeschlagen“ fehlen dem Datenbank-Benutzer Rechte: install/pepper_farmer.sql
importieren.
In der Konsole steht gestartet (Framework: standalone) oder eine rote Framework-Warnung.
Config.Framework passt nicht zu deinem Server oder das Framework startet nach Pepper Farmer. Einstellung und Reihenfolge in
der server.cfg prüfen.
Items heißen im Inventar tomato statt „Tomate“.
Die Items fehlen in ox_inventory/data/items.lua. install/ox_items_de.lua eintragen und den Server komplett neu starten.
No such export … in resource ox_inventory
ox_inventory ist nicht gestartet, fast immer wegen eines Tippfehlers in data/items.lua (zweites return {, fehlendes
Komma) oder in containers.lua (Block nach return containers). Den roten ox_inventory-Fehler weiter oben in der Konsole
suchen.
Der Erntekorb nimmt nichts auf.
Der Block aus install/ox_containers.lua fehlt in ox_inventory/modules/items/containers.lua. Eintragen und neu starten.
Das Tablet öffnet nicht.
Konsole auf Pepper Farmer v… gestartet prüfen und den Ordnernamen pepper_farmer. Belegt ein anderes Script F6, /farmer
nutzen oder die Taste in den FiveM-Einstellungen ändern.
Pachttafeln oder Händler schweben oder stecken im Boden.
Die Koordinaten sind Näherungen. Im Tablet → Admin → Orte bzw. Felder an die richtige Stelle setzen. Die Werte liegen in der Datenbank und bleiben bei Updates erhalten.
Eine Maschine erkennt das Feld nicht.
Im Admin-Reiter → Felder die Bahnen neu abfahren, zum Testen Config.Debug = true. Eine Bahn zählt, wenn etwa 80 % ihrer
Länge befahren sind.
Geht es mit qb-inventory oder qb-target?
Nein. Pepper Farmer braucht ox_inventory (Items, Hoflager, Erntekorb) und ox_target.
Braucht man eigene Fahrzeug- oder Tiermodelle?
Nein, alles nutzt GTA-Vanilla-Modelle. Addon-Modelle lassen sich in config/vehicles.lua eintragen.
Läuft die Pacht offline weiter?
Ja. Reife Ernte kommt bei Ablauf ins Hoflager (eine Qualitätsstufe schlechter), unreife Pflanzen verfallen. Danach ist das Feld für dich 30 Minuten gesperrt.
Können Spieler zusammen spielen?
Ab Level 70 als Genossenschaft mit bis zu 6 Mitgliedern (Config.Coop.maxMembers).
Kann ich XP oder Einnahmen für ein Event erhöhen?
Ja: Config.Levels.globalXpMultiplier in config/levels.lua und Config.Economy.globalMultiplier in config/economy.lua,
danach die Ressource neu starten.
Wie aktualisiere ich auf eine neue Version?
config/ sichern, alten Ordner löschen, neue Version entpacken und deine Einstellungen übertragen. Items und Erntekorb nur
neu eintragen, wenn der Changelog es verlangt. Spielerdaten und angepasste Positionen liegen in der Datenbank.
Support
Discord → Ticket (Kategorie „Script Support“) unter https://discord.gg/6NaFJWKDYu, Kauf vorher mit /verify verknüpfen.
Permanent auf dem Dev-Server von Pepper Scripts getestet.
Changelog
Aktuell: 1.0.0 (27.09.2026), erste Veröffentlichung. Vorbereitet, aber noch nicht veröffentlicht: optionale Anbindung an
Pepper Weather (Config.Weather.source = 'pepper_weather'). Alle Änderungen stehen in CHANGELOG.md in der Ressource.
Fehler gefunden? Melde ihn im Discord.