Entitäten in FiveM verstehen
In FiveM ist eine Entität jedes Objekt, das in der Spielwelt existiert: Fahrzeuge, Fußgänger, Requisiten, Pickups und sogar der Spielercharakter. Jede Entität verfügt über ein Handle (eine ganzzahlige ID), mit dem du über native Funktionen mit ihr interagieren. Die Entitätsverwaltung ist eine der grundlegendsten Fähigkeiten in der FiveM-Entwicklung, da fast jedes Script auf irgendeine Weise mit Entitäten interagiert. Eine schlechte Entitätsverwaltung führt zu Speicherlecks, Geisterobjekten, die nach dem Neustart einer Ressource bestehen bleiben, Desynchronisierung zwischen Spielern und letztlich zu Serverinstabilität. In diesem Leitfaden werden die richtigen Muster zum Erstellen, Verfolgen und Bereinigen von Entitäten behandelt.
Spawnende Objekte und Requisiten
Der primäre Native zum Spawnen von Requisiten ist CreateObject (oder CreateObjectNoOffset). Bevor du ein Objekt erzeugen, musst du das Modell anfordern und warten, bis es geladen ist. Wenn du das Modell nicht zuerst anfordern, wird die Entität unsichtbar oder fehlt. Gib das Modell immer frei, nachdem du das Objekt erstellt haben, um Speicher freizugeben.
Spawnende Fahrzeuge
Das Spawnen von Fahrzeugen erfolgt nach einem ähnlichen Muster, verwendet jedoch CreateVehicle und berücksichtigt zusätzlich den Netzwerkeigentum, den Kraftstoffstand und den Kennzeichentext. Erzeuge Fahrzeuge nach Möglichkeit immer auf der Serverseite oder verwendest du serverseitige Rückrufe, um Fahrzeugerstellungsanfragen von Clients zu validieren.
Entitätsverfolgung und -bereinigung
Der wichtigste Aspekt der Entitätsverwaltung besteht darin, jede von deinem Script erstellte Entität zu verfolgen und sie zu bereinigen, wenn die Ressource stoppt. Ohne ordnungsgemäße Bereinigung bleiben Entitäten in der Spielwelt als Waisen bestehen, die Speicher verschwenden und Ressourcen rendern. Verwende eine Tracking-Tabelle, um alle Entitätshandles zu speichern und einen onResourceStop-Handler zu registrieren, der sie entfernt.
Eigentümerschaft der Netzwerkentität
In der vernetzten Umgebung von FiveM hat jede Entität einen Eigentümer, den Client, der für die Simulation ihrer Physik und Position verantwortlich ist. Der Netzwerkeigentum bestimmt, welcher Client des Spielers die Bewegung und Kollision der Entität kontrolliert. Das Verständnis und die Verwaltung der Netzwerkeigentümerschaft ist für das synchronisierte Verhalten von Entitäten von entscheidender Bedeutung, insbesondere für Scripts, die NPCs oder Fahrzeuge aus der Ferne steuern müssen.
Laichen und Verwalten von Kindern
Ped-Entitäten (Fußgänger) werden für NPCs, Ladenverkäufer, Questgeber und Umgebungscharaktere verwendet. Du erfordern eine besondere Handhabung, da sie über eine KI verfügen, die dazu führen kann, dass sie abwandern, auf die Umgebung reagieren oder Spieler angreifen, wenn sie nicht richtig konfiguriert sind. Friere die KI für statische NPCs immer ein und deaktivierest du sie.
Leistungstipps für das Entity Management
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.
