>
Tutorial 2026-02-05

FiveM-Exporte und -Ereignisse verstehen – Vollständiger Leitfaden

OntelMonke

OntelMonke

Admin & Developer at Agency Scripts

Ereignisse vs. Exporte: Wann welche zu verwenden sind

FiveM bietet zwei Hauptmechanismen für die Kommunikation zwischen Ressourcen: Ereignisse und Exporte. Ereignisse sind von Natur aus asynchron und „Fire-and-Forget“-Ereignisse, was sie ideal für Benachrichtigungen, Protokollierung und das Auslösen von Nebenwirkungen auf allen Ressourcen macht. Exporte hingegen sind synchrone Funktionsaufrufe, die Werte sofort zurückgeben, was sie perfekt für den Datenabruf und Dienstprogrammfunktionen macht. Die Wahl des richtigen Mechanismus für jeden Anwendungsfall ist von grundlegender Bedeutung für das Schreiben von sauberem, wartbarem FiveM-Code.

Server- und Client-Ereignisse

Ereignisse in FiveM fließen in bestimmte Richtungen. TriggerServerEvent sendet Daten vom Client an den Server, wo sie sicher verarbeitet werden können. TriggerClientEvent sendet Daten vom Server an einen oder alle Clients unter Verwendung einer Player-Quellenkennung oder -1 für die Übertragung. Mit TriggerEvent ausgelöste lokale Ereignisse bleiben im selben Ausführungskontext. Registriere Netzwerkereignisse immer mit RegisterNetEvent, bevor du Handler hinzufügen, und denkst du daran, dass jedes auf dem Client registrierte Ereignis möglicherweise von Betrügern mithilfe von Injektoren ausgelöst werden kann.

Sicherung deiner Veranstaltungen

Serverseitige Ereignishandler sollten eingehende Daten immer validieren. Überprüfe, ob der Quellplayer vorhanden ist, stelle sicher, dass die Datentypen den Erwartungen entsprechen, und wendest du eine Ratenbegrenzung an, um Spam zu verhindern. Gib vertrauliche Informationen wie Datenbank-IDs niemals ohne Überprüfung über Client-Ereignisse weiter. Ein gängiges Muster besteht darin, serverseitige Rückrufe zu verwenden, bei denen der Client Daten anfordert, der Server die Anfrage validiert und die Informationen abruft und dann ein Antwortereignis zurück an diesen bestimmten Client auslöst.

Arbeiten mit Exporten

Durch Exporte kann eine Ressource Funktionen verfügbar machen, die andere Ressourcen direkt aufrufen können. Du definieren Exporte in deinem fxmanifest.lua und implementieren sie in deinen Skriptdateien. Wenn eine andere Ressource exports['your-resource']:YourFunction(args) aufruft, wird sie synchron ausgeführt und gibt das Ergebnis zurück. Dies ist besonders nützlich für Framework-Brücken, gemeinsam genutzte Dienstprogrammbibliotheken und den Zugriff auf Daten aus Phone-Scripts, Inventarsystemen oder Job-Managern, ohne Ressourcen durch Ereignisse eng zu koppeln.

Rückrufe und asynchrone Muster

Viele FiveM-Frameworks implementieren Callback-Systeme, die Ereignisse mit Antwortverarbeitung kombinieren. QBCore verwendet QBCore.Functions.CreateCallback auf dem Server und QBCore.Functions.TriggerCallback auf dem Client. ESX hat ein ähnliches Muster mit ESX.RegisterServerCallback. Mit diesen Rückrufen kann der Client Daten vom Server anfordern und diese in einer Rückruffunktion empfangen, wodurch die Lücke zwischen asynchronen Ereignissen und synchron anmutendem Code geschlossen wird. Das Verständnis dieser Muster ist wichtig, wenn du mit Datenbankabfragen oder Bestandsprüfungen arbeiten, die Serverautorität erfordern.

Best Practices für die Ressourcenkommunikation

Behalte den Namensraum deiner Ereignisnamen bei, um Kollisionen zu vermeiden, indem du ein Muster wie resourceName:eventAction verwenden. Dokumentiere deine Exporte klar, damit andere Entwickler sie in deine Ressource integrieren können. Vermeide die Erstellung zirkulärer Abhängigkeiten, bei denen zwei Ressourcen zueinander exportieren, da dies zu Problemen bei der Ladereihenfolge führen kann. Bevorzuge beim Entwerfen von APIs für deine Scripts Exporte für den einfachen Datenzugriff und Ereignisse für komplexe Arbeitsabläufe, die mehrere Schritte oder Nebenwirkungen in verschiedenen Teilen deines Servers umfassen.

Zusammenfassung

Agency Scripts baut seine gesamte Produktlinie nach denselben Grundprinzipien: Framework-agnostische Architektur, schlanke Performance-Eigenschaften, klar dokumentierte Konfiguration und eine API, die echte Composability zwischen den Scripts ermöglicht. Kein Script ist eine Insel — jedes ist so gebaut, dass es gut allein und noch besser als Teil des Ökosystems funktioniert.

Für Fragen zur Installation, Konfiguration oder Kompatibilität ist der Agency Scripts Discord der schnellste Weg zur Hilfe. Die Community dort ist aktiv und hilfsbereit, und das Core-Team ist regelmäßig präsent. Für kritische Probleme steht auch ein direktes Support-Ticket-System auf der Tebex-Produktseite zur Verfügung.

Updates für alle Agency-Scripts werden über Tebex-Benachrichtigungen kommuniziert. Active-Business-Abonnenten erhalten neue Scripts automatisch ohne zusätzlichen Kauf. Changelog-Details erscheinen im #changelog-Kanal des Discords, damit du Updates bewerten kannst, bevor du sie auf einem Produktionsserver installierst.

Artikel teilen

Bereit, deinen Server aufzuwerten?

Schau dir unsere Premium FiveM Scripts im Agency Scripts Store an oder tritt unserer Discord-Community für Support und Updates bei.