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.luaundconfig/locations.luasind 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
- Ressource im Cfx.re-Portal (Granted Assets) herunterladen
- Nach
resources/[pepper]/pepper_fishingentpacken – nicht umbenennen - Items eintragen: Inhalt von
install/ox_items.lua(Deutsch) bzw.install/ox_items_en.lua(Englisch) inox_inventory/data/items.luavor die letzte}einfügen - Bilder kopieren: alle Dateien aus
install/images/nachox_inventory/web/images/ - Datenbank: Die Tabellen entstehen beim ersten Start automatisch. Ohne CREATE-Recht vorher
install/pepper_fishing.sqlimportieren config/config.luaprüfen (Sprache, Interaktion, Geld, Angelschein),config/server.luafür Webhooks- In der
server.cfgnach den Abhängigkeiten eintragen:
ensure oxmysql
ensure ox_lib
ensure es_extended # bzw. qb-core oder qbx_core
ensure ox_inventory
ensure pepper_fishing
- Server starten – in der Konsole steht
Pepper Fishing 1.0.0 gestartet (Framework: …, Arten: 83, Server-Rekorde: …, Saison: …) - 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
- Als Admin einloggen und beim Angelshop (Blip) Rute, Angelbuch, einen Köder und den Angelschein
basickaufen - Im Angelbuch unter Köder den Köder wählen, ans Wasser gehen und
fishing_rodbenutzen - Linke Maustaste halten und loslassen – beim „!“ mit
Eanschlagen und den Fisch drillen - Auf der Fangkarte
Edrücken: der Fisch liegt mit Gewicht und Länge im Inventar - 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
- Angelmodus: Item
fishing_rodbenutzen – die Rute liegt in der Hand, das Angel-HUD zeigt Köder, Ausrüstung und Gewässer.Xpackt wieder ein - Auswerfen: Linke Maustaste halten (Kraftanzeige), loslassen. Der Aufschlagpunkt muss Wasser sein
- Warten: Die Beißzeit hängt von Köder, Gewässer, Bedingungen, Schwarm und Perks ab (Standard 6–38 s)
- Biss: Ton und „!“ – mit
Eoder Linksklick anschlagen (Fenster 1,6 s, Haken und Perk verlängern es) - Drill: Linke Maustaste oder Leertaste halten = kurbeln, loslassen = Schnur geben. Spannung im grünen Bereich halten; bei Sprüngen
AoderDdrücken - Fangkarte:
Ebehalten (Item im Inventar) oderRzurücksetzen (+25 % XP). Ohne Entscheidung entscheidet der Server nach 30 s - 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 $) undsea(Hochsee, 12.000 $), Kauf im Angelshop, LaufzeitConfig.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.Jobskontrollieren 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.