Dokumentation

Pepper Fishing

Angeln mit Drill-Minispiel, 83 Fischarten, 12 Boss-Fischen, Level 1–100 mit Skill-Baum, Booten und Sonar, Fischmarkt, Turnieren, Angelschein und Kontrolle für ESX, QBCore und Qbox.

Überblick

Pepper Fishing macht aus Angeln eine Langzeit-Aktivität für alle Spieler – kein Job, keine Whitelist. Wer die Angelrute (Item fishing_rod) benutzt, wirft an jedem Gewässer aus, setzt beim Biss den Anschlag und drillt den Fisch über die Schnurspannung: zu viel Zug und die Schnur reißt, zu wenig und der Fisch schlitzt aus. Danach zeigt die Fangkarte Art, Seltenheit, Gewicht, Länge und Qualität – behalten oder zurücksetzen. Alles Weitere steckt im Angelbuch (Item fishing_book): Fischlexikon, Ausrüstung, Skill-Baum, Aufträge, Fischmarkt, Turniere, Ranglisten und Karte. Gekauft, verkauft und gemietet wird an NPC-Stationen (Angelshop, Fischhändler, Bootsverleih, Restaurant, Schwarzmarkt).

Hinweis: Alle Koordinaten in config/zones.lua und config/locations.lua sind Näherungen. Prüfe sie auf deinem Server und passe einzelne Zeilen an, falls ein NPC in einer Wand oder ein Boot auf dem Trockenen steht.

Features

  • Drill-Minispiel mit Schnurspannung, Fluchten, Abtauchen und Sprüngen (A/D) – Schnurbruch und Ausschlitzen inklusive
  • 83 Fischarten in 5 Gewässertypen (Küste, Hochsee, See, Fluss, Sumpf) – 28 gewöhnlich, 25 ungewöhnlich, 19 selten, 11 episch
  • 12 legendäre Boss-Fische mit Sichtungen, Drill in 3–5 Akten, serverweiter Meldung, Hall of Fame und eigener Trophäe
  • Level 1–100 mit 10 Rängen, Dauer per Config (Config.Level.XpMultiplier), Skill-Baum mit 4 Zweigen und 24 Perks
  • Fang-Kamera und Fangkarte mit Seltenheit, Gewicht, Länge, Qualität, „Neu“ und Rekord-Stempel – behalten oder zurücksetzen
  • Tageszeit, Wetter, Gezeiten und Saison bestimmen, was beißt – mit Beißvorhersage im Angelbuch
  • Ausrüstung mit Haltbarkeit: 6 Ruten, 5 Rollen, 5 Schnüre, 4 Haken, 3 Sonare – dazu 12 Köder (7 Natur-, 5 Kunstköder)
  • Bootsverleih an 4 Stationen mit 8 Booten (nur GTA-Standardmodelle), Angeln vom eigenen Boot, Anker per Taste, Sonar mit Schwärmen und Hotspots
  • Fischlexikon als Sammelalbum mit Bestwerten, Server-Rekorden und Ranglisten, 36 Erfolge
  • Dynamischer Fischmarkt (Marktfaktor 0,6–1,5, täglich 3 gesuchte Arten mit +50 %), 3 Tages- und 2 Wochenaufträge, Restaurant-Lieferungen
  • Turniere (4 Typen, 10–60 Minuten) mit Live-Wertung und Preisgeld, automatische Turniere nach Plan, Angel-Saison (30 Tage) mit Belohnungen
  • Angelschein (Binnen + Küste / Hochsee), Schonzeiten, geschützte Arten, 4 Sperrzonen, Schwarzmarkt, Kontrolle durch Polizei oder Ranger mit Bußgeldkatalog
  • Beifang und Schätze: 8 Müll-Items, Flaschenpost mit Schatzkarte (16 Schatzorte), Truhen, Perlen
  • 124 fertige ox_inventory-Bilder, Items auf Deutsch und Englisch
  • Verwaltungsseite im Angelbuch, 5 Discord-Webhooks, 3 Server-Exports
  • Deutsch & Englisch, Config, Sprachdateien, Bridges und Install-Dateien offen

Voraussetzungen

Abhängigkeit Pflicht/optional Wofür Link
FiveM-Server-Build ≥ 7290 Pflicht in fxmanifest.lua als /server:7290 hinterlegt https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/
OneSync Pflicht Server-Logik, Boote, Kontrolle in der Nähe https://docs.fivem.net/docs/scripting-reference/onesync/
ESX Legacy, QBCore oder Qbox Pflicht (eins davon) Geld, Jobs, Identifier – Config.Framework = 'auto' erkennt es selbst https://github.com/esx-framework/esx_core
ox_lib Pflicht UI-Bausteine, Callbacks https://github.com/overextended/ox_lib
oxmysql Pflicht Datenbank (MySQL/MariaDB) https://github.com/overextended/oxmysql
ox_inventory Pflicht Fische tragen Gewicht, Länge und Qualität in den Metadaten https://github.com/overextended/ox_inventory
ox_target oder qb-target optional NPCs ansprechen – ohne Target läuft es über TextUI https://github.com/overextended/ox_target
Dispatch (ps-dispatch, cd_dispatch, qs-dispatch, rcore_dispatch, core_dispatch) optional Alarm bei Fischwilderei – ohne läuft der eingebaute Alarm –
Fahrzeugschlüssel (qb-vehiclekeys, Renewed-Vehiclekeys, qbx_vehiclekeys, wasabi_carlock, MrNewbVehicleKeys) optional Schlüssel für Mietboote über bridge/*/keys.lua –
Tank-Script (ox_fuel, LegacyFuel, cdn-fuel, ps-fuel, lj-fuel, lc_fuel, qb-fuel) optional Mietboote vollgetankt übergeben (bridge/client/fuel.lua) –

Installation

  1. Ressource im Cfx.re-Portal (Granted Assets) herunterladen
  2. Nach resources/[pepper]/pepper_fishing entpacken – nicht umbenennen
  3. Items eintragen: Inhalt von install/ox_items.lua (Deutsch) bzw. install/ox_items_en.lua (Englisch) in ox_inventory/data/items.lua vor die letzte } einfügen
  4. Bilder kopieren: alle Dateien aus install/images/ nach ox_inventory/web/images/
  5. Datenbank: Die Tabellen entstehen beim ersten Start automatisch. Ohne CREATE-Recht vorher install/pepper_fishing.sql importieren
  6. config/config.lua prüfen (Sprache, Interaktion, Geld, Angelschein), config/server.lua für Webhooks
  7. In der server.cfg nach den Abhängigkeiten eintragen:
ensure oxmysql
ensure ox_lib
ensure es_extended      # bzw. qb-core oder qbx_core
ensure ox_inventory
ensure pepper_fishing
  1. Server starten – in der Konsole steht Pepper Fishing 1.0.0 gestartet (Framework: …, Arten: 83, Server-Rekorde: …, Saison: …)
  2. Im Spiel beim Angelshop Rute, Angelbuch, Köder und Angelschein kaufen, ans Wasser gehen, Rute benutzen

Items

Item Zweck
fishing_rod benutzen = Angelmodus an/aus (ein Item für alle Ruten-Stufen – die Ausrüstung liegt im Profil)
fishing_book öffnet das Angelbuch
fishing_license optionales Dokument zum Angelschein (Config.License.GiveItem = true)
bait_*, lure_* 12 Köder
fish_<art> 83 Fischarten – Gewicht, Länge, Qualität in den Metadaten
fish_legend_<id> 12 Boss-Trophäen
junk_* 8 Beifang-Items
message_bottle, treasure_map, treasure_chest, pearl, old_coin, antique_compass Schätze und Wertsachen

Nutzbare Items tragen die Zeile server = { export = 'pepper_fishing.<item>' } – sie steht bereits in den Item-Dateien.

Erster Test

  1. Als Admin einloggen und beim Angelshop (Blip) Rute, Angelbuch, einen Köder und den Angelschein basic kaufen
  2. Im Angelbuch unter Köder den Köder wählen, ans Wasser gehen und fishing_rod benutzen
  3. Linke Maustaste halten und loslassen – beim „!“ mit E anschlagen und den Fisch drillen
  4. Auf der Fangkarte E drücken: der Fisch liegt mit Gewicht und Länge im Inventar
  5. Beim Fischhändler verkaufen – das Geld landet auf Config.Economy.Account

Konfiguration

Datei Inhalt
config/config.lua Sprache, Framework, Interaktion, Items, Tasten, Wurf, Biss, Drill, Level, Geld, Markt, Angelschein, Illegales, Kontrolle, Turniere, Bosse, Schätze, Boote, Rechte, Blips, HUD
config/fish.lua 83 Fischarten, 12 Boss-Fische, Beifang
config/gear.lua Ruten, Rollen, Schnüre, Haken, Sonare, Köder
config/skills.lua Skill-Baum
config/zones.lua Gewässer, Hotspots, Sperrzonen, Schwarm-Gebiete
config/locations.lua NPC-Stationen, Bootsverleih, Restaurants, Schwarzmarkt, Schatzorte
config/progression.lua Ränge, Freischaltungen, Aufträge, Lieferungen, Erfolge, Saison-Belohnungen
config/server.lua Webhooks, Admin-ACE (wird nie an Clients gesendet)

Wichtige Werte:

Option Standard Bedeutung
Config.Locale 'de' Sprache (de / en)
Config.Framework 'auto' auto, esx, qbcore, qbox
Config.Interaction 'auto' NPCs ansprechen: auto (ox_target → qb-target → TextUI), ox_target, qb-target, textui
Config.Command false optionaler Befehl (z. B. 'angelbuch') – öffnet das Angelbuch ohne Item
Config.Level.XpMultiplier 1.0 skaliert alle XP – Standard rund 150 Spielstunden bis Level 100 (Simulation), 2.0 = doppelt so schnell
Config.Economy.PriceMultiplier 1.0 skaliert alle Fischpreise
Config.Economy.Account 'cash' Konto für Verkauf, Käufe, Miete, Aufträge
Config.DirtyMoney ESX black_money, QBCore/Qbox cash Konto für Schwarzmarkt-Erlöse je Framework
Config.Fight.Difficulty 1.0 Schwierigkeit des Drills (0.8 leichter, 1.2 härter)
Config.License.Required true Angeln ohne Schein ist ein Verstoß
Config.License.Prices basic = 2500, sea = 12000 Preise der Angelscheine
Config.Illegal.MinLevel 15 ab diesem Level findet man den Schwarzmarkt
Config.Illegal.HiddenForJobs police, sheriff, ranger diese Jobs sehen den Schwarzmarkt-Händler nicht
Config.Control.Jobs police, sheriff, ranger diese Jobs dürfen Angler kontrollieren
Config.Zones.DeepMinLevel 15 Hochsee-Fische beißen ab diesem Level (nur vom Boot)
Config.Tournaments.Auto.Enabled true automatische Turniere alle 120 Minuten ab 4 Spielern online
Config.Boss.Announce 'all' Meldung beim Boss-Fang: all, anglers, none
Config.Boats.Deposit 2500 Kaution je Mietboot
Config.Boats.FullTank true Mietboote werden vollgetankt übergeben
Config.Boats.Anchor an, Taste 'H', Befehl 'anker' Anker setzen/lichten (OnlyRental, MaxSpeed)
Config.Presentation.Camera true Kamerafahrt beim Fang

Spielablauf

Ein Fang Schritt für Schritt

  1. Angelmodus: Item fishing_rod benutzen – die Rute liegt in der Hand, das Angel-HUD zeigt Köder, Ausrüstung und Gewässer. X packt wieder ein
  2. Auswerfen: Linke Maustaste halten (Kraftanzeige), loslassen. Der Aufschlagpunkt muss Wasser sein
  3. Warten: Die Beißzeit hängt von Köder, Gewässer, Bedingungen, Schwarm und Perks ab (Standard 6–38 s)
  4. Biss: Ton und „!“ – mit E oder Linksklick anschlagen (Fenster 1,6 s, Haken und Perk verlängern es)
  5. Drill: Linke Maustaste oder Leertaste halten = kurbeln, loslassen = Schnur geben. Spannung im grünen Bereich halten; bei Sprüngen A oder D drücken
  6. Fangkarte: E behalten (Item im Inventar) oder R zurücksetzen (+25 % XP). Ohne Entscheidung entscheidet der Server nach 30 s
  7. Verkaufen: beim Fischhändler – oder als Auftrag, Restaurant-Lieferung oder Turnierfang verwerten

Der Server würfelt Art, Gewicht und Qualität, prüft Wurfweite, Zone und Drill-Dauer und vergibt XP, Geld und Items.

Angelschein, illegales Angeln, Kontrolle

  • Angelschein: basic (Binnengewässer + Küste, 2.500 $) und sea (Hochsee, 12.000 $), Kauf im Angelshop, Laufzeit Config.License.Days (0 = dauerhaft)
  • Verstöße: ohne Schein angeln, geschützte Art oder Schonzeit-Fisch behalten, in einer Sperrzone angeln, über dem Tagesfanglimit (Config.Illegal.DailyKeepLimit, Standard aus)
  • Verdacht (0–100): steigt je Verstoß, sinkt um 0,5 pro Minute. Alarm an Polizei/Ranger: 3 % + Verdacht × 0,4 % (max. 45 %), höchstens alle 300 s je Spieler
  • Schwarzmarkt: ab Level 15, Händler nur nachts (21–5 Uhr Spielzeit) an einem von 5 Orten (wechselt täglich), kauft illegale Fische zum 1,8-Fachen gegen Schwarzgeld
  • Kontrolle: Jobs aus Config.Control.Jobs kontrollieren einen Spieler in 4 m Nähe (Target oder /fishcheck): Schein, Verstöße, illegale Fische. Aktionen: beschlagnahmen, Bußgeld (6 Einträge im Katalog), Schein für 3 Tage entziehen

Dispatch und Webhooks

Dispatch

Config.Illegal.Dispatch.Mode (optional, Standard auto) nimmt die erste laufende Integration: ps-dispatch, cd_dispatch, qs-dispatch, rcore_dispatch, core_dispatch. Ohne Integration bekommen die Jobs aus Config.Control.Jobs eine Meldung und einen Blip. false schaltet den Alarm ab. Anpassbar in bridge/server/dispatch.lua.

Webhooks

In config/server.lua ('' = aus):

Schlüssel Inhalt
catches besondere Fänge: epische Fische, Server-Rekorde (ServerConfig.WebhookMinRarity)
bosses Boss-Fische: Sichtungen und Fänge
tournaments Turnier-Ergebnisse, Saisonende
illegal Alarme, Kontrollen, Bußgelder, Schwarzmarkt-Verkäufe
security Verdachtsfälle der Plausibilitätsprüfung

Befehle und Rechte

Befehle

Befehl Standard Funktion
Config.Command aus (false) z. B. 'angelbuch' → öffnet das Angelbuch ohne Item
/fishcheck an (Config.Control.Command) nächsten Spieler kontrollieren (nur mit Recht control)
/anker an (Config.Boats.Anchor.Command) Anker setzen oder lichten

Admin-Aufgaben (Level/XP setzen, Schein geben, Turnier starten/abbrechen, Boss-Sichtung auslösen, Markt zurücksetzen, Saison beenden, Zonen-Debug) laufen über die Seite Verwaltung im Angelbuch.

Rechte

Rechte werden bei jedem Server-Aufruf neu geprüft. Admin = ACE pepper_fishing.admin oder eine Gruppe aus Config.AdminGroups (admin, superadmin, god) – Admins haben alle Rechte.

Recht Wofür Standard
tournament Turniere ausschreiben und abbrechen Gruppe admin oder ACE pepper_fishing.tournament
control Angler kontrollieren: Schein prüfen, beschlagnahmen, Bußgeld, Schein entziehen Jobs police, sheriff, ranger, Gruppe admin oder ACE pepper_fishing.control

Jedes Recht kann über ace, groups, jobs (Job + Mindest-Dienstgrad), items oder everyone = true vergeben werden:

add_ace group.admin pepper_fishing.admin allow
add_ace group.mod pepper_fishing.tournament allow

Tasten

Taste Funktion
Linke Maustaste Auswerfen (halten = Kraft) / kurbeln
Leertaste kurbeln (Alternative)
E Anschlag / Fang behalten
R Fang zurücksetzen
A / D Sprung parieren
Alt Köder wechseln
G Sonar an/aus (nur im oder auf einem Boot)
H Anker setzen/lichten (auf dem Boot)
X Rute einpacken / abbrechen

Tasten ändern: Config.Keys (GTA-Control-IDs). Die Anker-Taste (Config.Boats.Anchor.Key) ändern Spieler in den GTA-Einstellungen unter Tastenbelegung → FiveM.

Exports und Framework-Anbindung

Exports (Server)

-- server, nur lesend
exports.pepper_fishing:getProfile(src)  -- öffentliches Anglerprofil oder nil
exports.pepper_fishing:getLevel(src)    -- Angel-Level (0 = Profil nicht geladen)
exports.pepper_fishing:isFishing(src)   -- true beim Warten, Biss oder Drill

Framework-Anbindung

bridge/server/{esx,qbcore,qbox}.lua liefern Geld, Job und Identifier, bridge/server/inventory.lua die Items (ox_inventory), bridge/server/dispatch.lua den Alarm, bridge/client/frameworks.lua Job und Benachrichtigungen im Client. bridge/server/keys.lua und bridge/client/keys.lua geben den Schlüssel für das Mietboot, bridge/client/fuel.lua tankt es voll. Läuft kein Framework, greift bridge/server/standalone.lua als Notbetrieb. Alle Bridges sind offen.

Fehlerbehebung

Problem Lösung
Rute oder Angelbuch lassen sich nicht benutzen Items eingetragen? server = { export = 'pepper_fishing.<item>' } muss drinstehen; Ordner nicht umbenennen
„Pepper Fishing startet noch“ Datenbank nicht erreichbar – oxmysql vor pepper_fishing starten, Konsole prüfen
Items ohne Bild install/images/*.png nach ox_inventory/web/images/ kopieren
NPC steht falsch oder fehlt Koordinaten in config/locations.lua sind Näherungen – Zeile anpassen
Keine Interaktion am NPC Config.Interaction prüfen; ohne Target-Ressource 'textui'
„So weit kommst du mit dieser Rute nicht“ Wurfweite der Rute überschritten – näher ans Wasser oder bessere Rute
Kaufen/Verkaufen geht nicht Geht nur direkt an der Station – unterwegs zeigt das Angelbuch nur an
Schwarzmarkt-Händler fehlt Erst ab Level 15, nur nachts, Ort wechselt täglich; Polizei-Jobs sehen ihn nie
Hochsee-Fische beißen nicht Erst ab Level 15, nur vom Boot und ab 25 m Wassertiefe
Polizei bekommt keinen Alarm Der Alarm kommt nur mit Wahrscheinlichkeit; Config.Control.Jobs und Dispatch prüfen

FAQ

Ist Angeln ein Job?

Nein – eine Aktivität für alle Spieler, ohne Job und ohne Whitelist. Polizei und Ranger bekommen über die Kontrolle eine eigene Rolle.

Brauche ich Addon-Modelle oder eine Map?

Nein. Ruten, Schwimmer, Boote, NPCs und Schatztruhen sind GTA-Standardmodelle. Geangelt wird an jedem Gewässer der Karte.

Läuft es ohne ox_inventory?

Nein, ox_inventory ist Pflicht (steht in dependencies). Jeder Fisch trägt Gewicht, Länge, Qualität, Gewässertyp und Fänger in den Item-Metadaten.

Die Rute oder das Angelbuch lassen sich nicht benutzen – was fehlt?

Meist fehlen die Items in ox_inventory/data/items.lua oder die Zeile server = { export = 'pepper_fishing.<item>' }. Außerdem darf der Ordner nicht umbenannt sein, und Framework und ox_inventory müssen vor pepper_fishing starten.

Die Konsole zeigt „Pepper Fishing startet noch“ oder Tabellen fehlen.

Die Datenbank ist nicht erreichbar: oxmysql vor pepper_fishing starten und die Konsole prüfen. Hat der Datenbank-Benutzer kein CREATE-Recht, importierst du vorher install/pepper_fishing.sql.

In der Konsole steht „standalone“ – mein Framework wird nicht erkannt.

Beim Start lief kein Framework. Starte es_extended, qb-core oder qbx_core in der server.cfg vor pepper_fishing oder setze Config.Framework fest auf esx, qbcore oder qbox.

Muss ich ox_target benutzen?

Nein. Config.Interaction = 'auto' nimmt ox_target, sonst qb-target, sonst TextUI (Taste E).

Ein NPC steht in einer Wand oder das Boot erscheint an Land.

Die Koordinaten in config/locations.lua sind Näherungen. Passe die Zeile der Station bzw. den spawns-Punkt an und starte die Ressource neu.

Wie lange dauert es bis Level 100?

Mit den Standardwerten rund 150 Spielstunden – das ist das Ergebnis einer Simulation in den Tests der Ressource. Config.Level.XpMultiplier = 2.0 halbiert die Dauer, 0.5 verdoppelt sie.

Kann ich die Preise an meine Server-Wirtschaft anpassen?

Ja. Config.Economy.PriceMultiplier skaliert alle Fischpreise auf einmal. Einzelpreise stehen je Art in config/fish.lua, Ausrüstung und Köder in config/gear.lua, Bootsmieten in config/locations.lua.

Kann ich eigene Fischarten hinzufügen?

Die Arten stehen als Daten in config/fish.lua (offen). Eine neue Art braucht dort einen Eintrag, Namen in locales/*/fish.json, ein Item in ox_inventory und ein Bild.

Kann ich den Angelschein abschalten?

Ja: Config.License.Required = false. Dann ist Angeln ohne Schein kein Verstoß mehr.

Der Schwarzmarkt zahlt auf QBCore/Qbox normales Bargeld.

Dort gibt es kein Schwarzgeld-Konto, deshalb nutzt Config.DirtyMoney standardmäßig cash. Trag ein eigenes Konto ein, wenn dein Server eines hat.

Wie ändere ich Texte oder stelle auf Englisch um?

Config.Locale = 'en' in config/config.lua, für die Items install/ox_items_en.lua verwenden. Alle Texte stehen offen in locales/de/*.json und locales/en/*.json.

Was passiert bei einem Server-Neustart?

Laufende Würfe und Drills enden. Profile, Lexikon, Rekorde, Marktkurse, Turnier-Ergebnisse, Saison und die Abklingzeiten der Boss-Fische liegen in der Datenbank.

Wie spiele ich ein Update ein?

Ordner pepper_fishing ersetzen, deine config/- und locales/-Anpassungen vorher sichern und wieder einspielen. Fehlende Tabellen und Spalten legt die Ressource beim Start selbst an; neue Items stehen im CHANGELOG.md.

Support

Ticket im Discord öffnen: https://discord.gg/6NaFJWKDYu (Kategorie „Script Support“) – den Kauf vorher mit /verify verknüpfen.

Permanent auf dem Dev-Server von Pepper Scripts getestet.

Changelog

Aktuelle Version: 1.0.0 (2026-10-04). Alle Änderungen stehen auf der Updates-Seite und in CHANGELOG.md in der Ressource.


Fehler gefunden? Melde ihn im Discord.