Dokumentation

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

  1. Ressource im Cfx.re-Portal (Granted Assets) herunterladen und nach resources/[pepper]/pepper_farmer entpacken.

    Ordnernamen nicht umbenennen. Die Ressource muss pepper_farmer heißen, sonst öffnet das Tablet nicht.

  2. config/config.lua: Config.Framework (Standard 'esx', sonst 'qbcore', 'qbox' oder 'auto') und Config.Locale ('de' / 'en') setzen.

  3. Items: Inhalt von install/ox_items_de.lua (oder ox_items_en.lua) in ox_inventory/data/items.lua einfügen – innerhalb der Tabelle, direkt vor die allerletzte }. Kein zusätzliches return {. Gibt es ein Item schon (z. B. bread), den alten Eintrag löschen.

  4. Erntekorb: Inhalt von install/ox_containers.lua in ox_inventory/modules/items/containers.lua einfügen – vor die Zeile return containers am Dateiende.

  5. In der server.cfg nach 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
  1. 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

  1. F6 drücken oder /farmer eingeben: Das Farm-Tablet öffnet sich.
  2. Im Tablet → Reiter Felder ein freies Beet an der Farmzentrale in Grapeseed pachten.
  3. Hacke und Gießkanne bei den Gartengeräten, Saat im Saatguthandel Grapeseed kaufen.
  4. Am Beet per ox_target hacken, säen und gießen, nach der Wachstumszeit ernten.
  5. 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

  1. Pachten: freies Beet oder Feld an der Pachttafel oder im Tablet für 24 Stunden pachten – das Pachtlimit wächst mit dem Level.
  2. 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.
  3. Ernten: Die Qualität (Normal bis Meisterklasse) ergibt sich aus Pflege, Wasser, Dünger, Werkzeug und Erntezeitpunkt.
  4. Verarbeiten: Maschinen kaufen, Rezepte in die Warteschlange legen – die Produktion läuft in Echtzeit, auch offline.
  5. Verkaufen: bei zehn Händlern (jeder kauft andere Waren), im eigenen Hofladen, auf dem Wochenmarkt oder über Aufträge.
  6. 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.