Zurück zum Blog
Guide8 Min. Lesezeit

FiveM Angel- und Jagdskripte: Die besten Ressourcen

Finde passende Angel- und Jagdskripte für deinen FiveM-Server. Vergleiche Funktionen und Frameworks und erhalte Tipps für eine lebendige Outdoor-Wirtschaft.

Agency Scripts

Gründer und leitender Entwickler bei Agency Scripts

Grundlegende Angelmechaniken

Ein Angelsystem bietet eine der entspanntesten und lohnendsten Nebenaktivitäten auf einem Rollenspielserver. Der grundlegende Ablauf besteht darin, eine Angel auszurüsten, sich einem geeigneten Gewässer zu nähern, die Leine auszuwerfen, auf einen Biss zu warten und ein Fang-Minispiel zu absolvieren. Definiere zunächst Angelzonen als Polygonflächen oder Kreise mit festgelegtem Radius, die Seen, Flüsse, die Meeresküste und Stege abdecken. Jede Zone sollte über eine eigene Tabelle mit Fischbeständen verfügen, in der Arten aufgeführt sind, die zu der jeweiligen Umgebung passen: Süßwasserarten wie Barsch und Forelle in Seen, Salzwasserarten wie Thunfisch und Hai vor der Küste und flussspezifische Fische wie Lachs in der Nähe fließender Gewässer. Wenn der Spieler seine Leine auswirft, starte einen zufälligen Timer zwischen einer minimalen und maximalen Wartezeit. Dieser wird durch den verwendeten Köder, die Tageszeit, die Wetterbedingungen und die Angelfertigkeit des Spielers beeinflusst. Eine höhere Fertigkeit verkürzt die Wartezeit und erhöht die Chance, seltene Arten an den Haken zu bekommen. Für die Wurfanimation solltest du verwenden TaskStartScenarioInPlace mit einem Angelszenario, damit der Spielcharakter sichtbar eine Angel hält und am Ufer steht.

Das Fang-Minispiel

Das Minispiel macht aus einem Angelsystem eine spannende Aktivität statt eines langweiligen AFK-Skripts. Entwirf ein fertigkeitenbasiertes Minispiel, das beim Anbeißen eines Fisches als NUI-Einblendung erscheint. Ein beliebter Ansatz ist eine Mechanik mit einem beweglichen Balken: Ein Marker bewegt sich auf einer Anzeige hin und her, und der Spieler muss eine Taste drücken, wenn sich der Marker innerhalb eines hervorgehobenen Zielbereichs befindet. Die Größe des Zielbereichs richtet sich nach dem Schwierigkeitsgrad des Fisches. Bei gewöhnlichen Arten ist das Zeitfenster großzügig, während legendäre Fische präzises Timing erfordern. Füge für einen Fangversuch mehrere Runden hinzu. Jeder erfolgreiche Tastendruck zieht den Fisch näher heran, bei einem Fehlschlag kann er weiter entkommen. Implementiere eine Spannungsanzeige, die beim Einholen steigt und sinkt, wenn der Spieler die Leine ruhen lässt. Überschreitet die Spannung die maximale Belastbarkeit der Angel, reißt die Leine. Verschiedene Angelruten-Stufen sollten höhere Spannungsgrenzen haben, damit Spieler beim Aufstieg im Angelfertigkeitsbaum einen Grund haben, ihre Ausrüstung zu verbessern.

-- Fish loot table configuration
Config.FishingZones = {
    ['alamo_sea'] = {
        label = 'Alamo Sea',
        center = vector3(482.12, 3614.89, 33.17),
        radius = 200.0,
        fishTable = {
            { item = 'fish_bass',       label = 'Largemouth Bass',  weight = {1.5, 4.2},  chance = 35, difficulty = 1, price = 45 },
            { item = 'fish_catfish',    label = 'Channel Catfish',  weight = {2.0, 8.5},  chance = 25, difficulty = 2, price = 65 },
            { item = 'fish_bluegill',   label = 'Bluegill',         weight = {0.3, 1.2},  chance = 30, difficulty = 1, price = 20 },
            { item = 'fish_golden',     label = 'Golden Trout',     weight = {1.0, 3.0},  chance = 8,  difficulty = 4, price = 250 },
            { item = 'item_boot',       label = 'Old Boot',         weight = {0.5, 0.5},  chance = 2,  difficulty = 1, price = 0 },
        },
        requiredBait = { 'bait_worm', 'bait_minnow', 'bait_lure' },
    },
}

Jagdgebiete und Tier-Spawn

Die Jagd erfordert einen dynamischeren Ansatz als das Angeln, denn Tiere sind sichtbare, bewegliche Einheiten, die Spieler aufspüren, anschleichen und erlegen müssen. Definiere Jagdgebiete in Wildnisregionen wie den Wäldern von Blaine County, den Ausläufern des Mount Chiliad und den Wüstengebieten um Sandy Shores. Spawne in jedem Gebiet in kontrollierten Abständen Tier-Peds mit den nativen Tiermodellen von GTA. Nutze CreatePed mit Tiermodell-Hashes und weise ihnen mit TaskWanderStandard Wanderaufgaben zu, damit sie sich innerhalb der Gebietsgrenzen natürlich bewegen. Kontrolliere die Spawn-Dichte sorgfältig, um Leistungsprobleme zu vermeiden: Begrenze jedes Gebiet auf 5-8 aktive Tiere gleichzeitig pro Spieler und spawne Tiere nur, wenn sich ein Spieler mit Jagdlizenz oder Waffe in angemessener Entfernung zum Gebiet befindet. Entferne Tiere sauber aus der Spielwelt, wenn sich keine Jäger in der Nähe befinden, um Entity-Slots freizugeben. Gruppiere Tiere bei Arten wie Hirschen in Herden. Wenn eines erschossen wird, fliehen die anderen mithilfe von TaskSmartFleePedSo entsteht ein realistisches Jagderlebnis, bei dem geduldiges Anschleichen statt blindem Drauflosballern belohnt wird.

Beutetabellen und Verwertung

Wenn ein Spieler ein Tier erfolgreich erlegt, sollte er nicht sofort einfach Items erhalten. Implementiere eine Verwertungsmechanik, bei der sich der Spieler neben den Tierkadaver kniet und eine Zerlegeanimation ausführt, die mehrere Sekunden dauert. Währenddessen ist er verwundbar. Welche Beute der Spieler erhält, hängt von der Tierart, der verwendeten Waffe und der Trefferposition ab. Ein sauberer Kopfschuss mit einem Gewehr liefert mehr unversehrtes Fleisch und ein makelloses Fell. Wird das Tier hingegen mit einer automatischen Waffe durchsiebt, wird das Fell beschädigt und ein Teil des Fleischs zerstört. Ermittle die Trefferposition, indem du den Schadenspunkt des tödlichen Treffers mit den Koordinaten des Kopfknochens des Tiers vergleichst. Jedes Tier sollte je nach Art eine Kombination aus rohem Fleisch, einem Fell oder einer Haut und zusätzlichen Items wie Geweihen, Federn oder Fett fallen lassen. Verwende Item-Metadaten, um die Qualitätsstufe jedes erbeuteten Items zu speichern. Diese beeinflusst den Verkaufspreis und die Qualität von hergestellten Waren, wenn ein Lederverarbeiter oder Koch sie weiterverarbeitet.

-- Server-side harvesting logic
RegisterNetEvent('hunting:harvest')
AddEventHandler('hunting:harvest', function(netId, weaponHash, boneHit)
    local src = source
    local entity = NetworkGetEntityFromNetworkId(netId)
    if not DoesEntityExist(entity) then return end

    local model = GetEntityModel(entity)
    local animalData = Config.Animals[model]
    if not animalData then return end

    -- Determine quality based on weapon and hit location
    local quality = 'poor'
    if boneHit == 'head' then
        if IsCleanWeapon(weaponHash) then
            quality = 'pristine'
        else
            quality = 'good'
        end
    elseif IsCleanWeapon(weaponHash) then
        quality = 'good'
    end

    local priceMultiplier = Config.QualityMultipliers[quality] -- pristine=1.5, good=1.0, poor=0.5

    -- Give loot items
    for _, loot in ipairs(animalData.lootTable) do
        if math.random(100) <= loot.chance then
            local count = math.random(loot.min, loot.max)
            exports.ox_inventory:AddItem(src, loot.item, count, {
                quality = quality,
                animal = animalData.label,
                weight = math.random(loot.weightMin * 10, loot.weightMax * 10) / 10,
            })
        end
    end

    -- Delete carcass after harvesting
    DeleteEntity(entity)
    TriggerClientEvent('hunting:harvested', src)
end)

Fähigkeitensystem

Ein Fortschrittssystem hält Angeln und Jagen langfristig spannend, indem es engagierte Spieler mit spürbaren Verbesserungen belohnt. Verfolge separate Fähigkeitsstufen für Angeln und Jagen, die jeweils durch erfolgreiche Fänge oder Abschüsse steigen. Mit höherer Angelfähigkeit verkürzt sich die Wartezeit bis zum Biss, seltene Fische tauchen häufiger in der Beutetabelle auf, der Zielbereich im Minispiel wird etwas größer und der Spieler schaltet Zugang zu Premium-Angelplätzen frei, die bestimmte Fähigkeitsstufen voraussetzen. Beim Jagen können Spieler mit höheren Fähigkeitsstufen Tierspuren als dezente Markierungen auf dem Boden erkennen, Tiere über größere Entfernungen entdecken, beim Durchqueren von Gebüsch leiser sein und Rufe sowie Lockmittel verwenden, die bestimmte Arten zum Standort des Jägers locken. Speichere die Fähigkeits-XP in deiner Datenbank und berechne die Stufe anhand einer skalierenden Formel, bei der jede weitere Stufe mehr XP erfordert als die vorherige. So steigen Spieler nicht zu schnell auf, machen aber stetige Fortschritte, die sich in jeder Spielsitzung lohnen.

Ausrüstung und Verbesserungen

Ausrüstungsstufen geben Spielern kurzfristige Ziele und sinnvolle Möglichkeiten, Geld in der Angel- und Jagdwirtschaft auszugeben. Biete beim Angeln verschiedene Stufen an, von einfachen Holzruten, mit denen nur gewöhnliche Fische gefangen werden können, über Glasfaserruten mit besserer Spannungssteuerung bis hin zu Carbonruten, die das Fangen erleichtern und die Chance auf seltene Fische erhöhen. Ergänze die Ruten mit Rollen, die beeinflussen, wie schnell Spieler im Minispiel die Schnur einholen können. Köder sollten direkt bestimmen, welche Fischarten gefangen werden können: Würmer für allgemeine Süßwasserfische, Köderfische für Raubfische, spezielle Kunstköder für seltene Arten und Premiumköder, die die Bissrate verdoppeln. Biete beim Jagen waffenspezifische Vorteile an: Ein Compoundbogen ist lautlos, erfordert aber eine geringere Schussdistanz, ein Repetiergewehr eignet sich ideal für saubere Abschüsse auf große Entfernung und eine Schrotflinte ist effektiv gegen Vögel, beschädigt aber bei größeren Tieren die Felle. Ergänze die Jagdausrüstung durch Ferngläser mit größerer Sichtweite, Tarnanzüge, die den Entdeckungsradius des Spielers für Tiere verringern, und ein Jagdmesser, das die Häutungsanimation beschleunigt. Verkaufe die gesamte Ausrüstung bei einem NPC in einem Angelgeschäft in der Nähe von Angelplätzen und bei einem Jagdausrüster in ländlichen Gegenden. So entstehen natürliche Treffpunkte, an denen sich Outdoor-Fans begegnen und Tipps austauschen können.

Fänge verkaufen und die Outdoor-Wirtschaft

Verbinde Angeln und Jagen mit der allgemeinen Wirtschaft deines Servers, indem du mehrere Möglichkeiten zum Verkauf erbeuteter Waren anbietest. Ein NPC auf dem Fischmarkt sollte alle Fische zu Grundpreisen ankaufen, während seltene und schwere Exemplare höhere Preise erzielen. Ein NPC beim Metzger kauft rohes Fleisch und Tierhäute. Ermögliche neben dem Verkauf an NPCs auch den Handel zwischen Spielern. So kann ein erfahrener Angler einen Restaurantbesitzer mit frischem Fisch versorgen oder ein Jäger makellose Felle an einen Lederhandwerker verkaufen, der daraus Kleidung oder Möbel herstellt. Implementiere ein tägliches Nachfragesystem, bei dem bestimmte Fisch- oder Fleischsorten an bestimmten Tagen mehr wert sind. So werden Spieler dazu ermutigt, ihre Aktivitäten abwechslungsreich zu gestalten, statt wiederholt dieselbe lukrative Art zu farmen. Ergänze an Angel- und Jagdplätzen eine Trophäentafel, auf der jede Woche der größte gefangene Fisch und die seltensten erlegten Tiere angezeigt werden. Die Rekordhalter erhalten einen Geldbonus oder exklusive kosmetische Belohnungen. Plane saisonale Events wie Angelturniere oder Jagdwettbewerbe, die die Community bei diesen Outdoor-Aktivitäten zusammenbringen.

Performance- und Spawn-Optimierung

Outdoor-Systeme, die Entitäten spawnen, erfordern sorgfältige Optimierung, damit die Server-Performance nicht beeinträchtigt wird. Verwende beim Spawnen von Tieren ein auf Nähe basierendes System, das Tier-Peds nur erstellt, wenn sich ein Jäger innerhalb einer konfigurierbaren Reichweite befindet, normalerweise 150-200 Meter. Implementiere ein globales Entitätenlimit, das die Gesamtzahl der Jagdtiere auf dem gesamten Server begrenzt. Verteile das Limit je nach Anzahl der Jäger auf aktive Zonen. Verwende Entitäten-Pools, in denen despawnte Tiere wiederverwendet statt neu erstellt werden. So verringert sich der Aufwand durch wiederholte CreatePed Aufrufe. Spawne beim Angeln keine sichtbaren Fisch-Entitäten, da sie spielerisch keinen Zweck erfüllen und Entitäten-Slots verschwenden. Zeige stattdessen mithilfe von Partikeleffekten oder dezenten Wasseroberflächenanimationen an, dass ein Fisch angebissen hat. Halte Zonen-Konfigurationen im gemeinsamen Speicher vor, statt sie bei jeder Interaktion aus der Datenbank auszulesen. Fasse bei beiden Systemen Datenbankschreibvorgänge zusammen, indem du XP-Gewinne, Fänge und Abschüsse im Arbeitsspeicher sammelst und alle 30-60 Sekunden in die Datenbank schreibst, statt nach jedem einzelnen Ereignis. So reduziert sich die Anzahl der Datenbankabfragen während der Stoßzeiten erheblich, wenn viele Spieler gleichzeitig angeln oder jagen.

Bereit loszulegen?

Hol dir die Scripts in unserem Shop, oder komm auf den Discord für Support, Updates und einen Blick auf das, was kommt.