>
Tutorial 2026-05-14

Entwicklung des FiveM-Charaktererstellungsbildschirms

TDYSKY

TDYSKY

Gründer & Lead Developer bei Agency Scripts

Warum die Charaktererstellung im Roleplay wichtig ist

Die Charaktererstellung ist der allererste interaktive Moment, den ein Spieler auf deinem FiveM-Roleplay-Server erlebt. Es gibt den Ton für alles an, was folgt. Ein ausgefeilter, immersiver Charakterersteller sagt neuen Spielern, dass dein Server professionell gebaut ist und es sich lohnt, Zeit in ihn zu investieren. Ein einfacher oder fehlerhafter Charakter schickt sie direkt zum Serverbrowser, um nach Alternativen zu suchen. Über den ersten Eindruck hinaus definiert der Charakterersteller die visuelle Identität, die jeder Spieler während seines gesamten Rollenspielerlebnisses trägt. Es bestimmt Abstammungslinien, Gesichtszüge, Frisuren, Kleidung und biografische Details wie Name und Geburtsdatum. Um dies richtig zu machen, muss ein System erstellt werden, das mit dem nativen Erscheinungsbildsystem von

Das Ped Appearance System des GTA V verstehen

GTA V verwendet ein traditionelles Erscheinungsbildsystem, bei dem das Gesicht einer Figur aus zwei Elternmodellen gemischt wird. Es gibt 46 mögliche Mütter und Väter, jeder mit unterschiedlichen Gesichtsstrukturen. Der native SetPedHeadBlendData steuert diese Mischung und akzeptiert Form- und Hautmischungswerte zwischen 0,0 und 1,0, die bestimmen, wie sehr der Charakter jedem Elternteil ähnelt. Über das Erbe hinaus bietet das Spiel über SetPedHeadOverlay 20 Overlay-Kategorien, die Merkmale wie Hautunreinheiten, Gesichtsbehaarung, Augenbrauen, Alterung, Make-up und Hautschäden abdecken. Jede Überlagerung hat ihren eigenen Deckkraftwert und kann mithilfe von SetPedHeadOverlayColor unabhängig eingefärbt werden. Haare werden separat über SetPedComponentVariation für das Modell und SetPedHairColor für Farbe und Glanzlichter behandelt. Für die Augenfarbe wird SetPedEyeColor mit Werten im Bereich von 0 bis 31 verwendet. Das Verständnis dieser nativen Funktionen ist wichtig, da deine NUI-Schnittstelle benutzerfreundliche Schieberegler und Selektoren diesen spezifischen Funktionsaufrufen zuordnen muss.

Aufbau der NUI-Schnittstelle

Das NUI (Natural User Interface) ist das HTML-, CSS- und JavaScript-Overlay, mit dem Spieler interagieren, während sie ihren Charakter erstellen. Ein gut gestalteter Charakterersteller unterteilt den Prozess in logische Schritte: zuerst biografische Informationen, dann Auswahl der Herkunft, Gesichtsmerkmale, Überlagerungen wie Gesichtsbehaarung und Make-up, Haarstyling und schließlich Kleidung. Bei jedem Schritt sollten Echtzeit-Vorschauaktualisierungen des Charaktermodells angezeigt werden, damit die Spieler genau sehen können, wie ihre Auswahl aussieht. Verwende ein Layout mit Registerkarten oder einem Assistenten, damit die Spieler nicht von Dutzenden von Optionen gleichzeitig überwältigt werden. Bereichsschieberegler eignen sich gut für kontinuierliche Werte wie Formmischung und Gesichtsmerkmale, während Rasterselektoren mit Miniaturvorschauen besser für diskrete Optionen wie Frisuren und Kleidungsstücke geeignet sind. Sende jede Änderung über fetch oder das NUI-Nachrichtensystem an das Client-Script, damit der Ped sofort aktualisiert wird.

Kamerasystem für die Charaktervorschau

Ein spezielles Kamerasystem ist für ein ausgefeiltes Charaktererstellungserlebnis von entscheidender Bedeutung. Spieler müssen Nahaufnahmen von Gesichtszügen sehen, wenn sie traditionelle Mischungen und Überlagerungen anpassen, mittlere Aufnahmen für Haare und Oberkörperbekleidung und Ganzkörperansichten für Hosen und Schuhe. Implementiere einen Kameracontroller, der basierend auf dem aktiven Erstellungsschritt reibungslos zwischen vordefinierten Positionen interpoliert. Verwende CreateCam mit dem Typ DEFAULT_SCRIPTED_CAMERA und RenderScriptCams, um die Steuerung von der Spielkamera zu übernehmen. Ermögliche den Spielern zum Drehen, die Maus zu ziehen, um ihren Charakter zu umkreisen, indem sie die Kamerarichtung anpassen und sie dabei auf den Ped gerichtet halten. Eine subtile Leerlaufanimation auf dem Ped, wie das Szenario WORLD_HUMAN_STAND_IMPATIENT, sorgt dafür, dass der Charakter während des Erstellungsprozesses natürlich aussieht, anstatt in einer starren T-Pose zu stehen.

Zeichendaten speichern und laden

Alle Daten zum Aussehen des Charakters müssen in einer Datenbank gespeichert bleiben, damit sie Serverneustarts überstehen und jedes Mal geladen werden können, wenn der Spieler spawnt. Strukturiere deine Datenbanktabelle, um das vollständige Erscheinungsbild als JSON-Blob zusammen mit biografischen Feldern wie Vorname, Nachname, Geburtsdatum, Geschlecht und Nationalität zu speichern. Wenn der Spieler die Erstellung abgeschlossen und seinen Charakter bestätigt hat, sendet der Client das vollständige Datenobjekt an den Server, der die Eingabebereiche validiert und es in die Datenbank einfügt. Bei nachfolgenden Anmeldungen ruft der Server die Charakterdaten während des Spawn-Flusses ab und sendet sie zurück an den Client, der dieselbe ApplyAppearance-Funktion aufruft, die bei der Erstellung verwendet wurde. Speichere bei Servern mit mehreren Charakteren eine Charakter-Slot-ID, damit jeder Spieler mehrere Charaktere mit unabhängigem Aussehen haben kann.

Bekleidungsintegration und Komponentenvariationen

Kleidung in GTA V wird durch Komponentenvariationen und Requisitenvariationen verwaltet. Komponenten decken Körperteile wie Rumpf, Beine, Füße, Accessoires und Unterhemden ab, während Requisiten anbringbare Gegenstände wie Hüte, Brillen, Ohrringe und Uhren umfassen. Die native SetPedComponentVariation akzeptiert eine Komponenten-ID, eine Zeichen-ID, eine Textur-ID und eine Paletten-ID. Die Herausforderung besteht darin, dass die verfügbaren Drawables zwischen männlichen und weiblichen Ped-Modellen unterschiedlich sind und einige Drawable- und Texturkombinationen ungültig sind. Dein NUI muss die maximale Anzahl von Drawables für jede Komponente mit GetNumberOfPedDrawableVariations und die maximalen Texturen für jedes Drawable mit GetNumberOfPedTextureVariations abfragen. Erstelle deine Kleidungsauswahl so, dass die Optionen basierend auf dem ausgewählten Geschlecht dynamisch ausgefüllt werden, sodass den Spielern nur gültige Kombinationen angezeigt werden. Speichere Kleidungsdaten neben Aussehensdaten und wendest du sie während des Spawn-Flows an, indem du dieselbst nativen Komponentenvariationen verwenden.

Validierungs- und Missbrauchsbekämpfungsmaßnahmen

Vertraue niemals Daten, die vom Client ohne Validierung stammen. Spieler mit geänderten Clients können Darstellungswerte außerhalb des normalen Bereichs senden, was möglicherweise andere Clients zum Absturz bringt oder visuelle Störungen ausnutzt. Überprüfe jedes Feld auf der Serverseite, bevor du es in der Datenbank speichern. Heritage-Indizes müssen zwischen 0 und 45 liegen, Mischungswerte zwischen 0,0 und 1,0, Gesichtsmerkmalswerte zwischen -1,0 und 1,0 und Overlay-Indizes innerhalb des gültigen Bereichs für jeden Overlay-Typ. Alle außerhalb des Bereichs liegenden Werte ablehnen oder festklemmen. Implementiere außerdem eine Ratenbegrenzung für Darstellungsaktualisierungsereignisse während der Erstellung, um zu verhindern, dass böswillige Clients den Server mit schnellen Darstellungsänderungen überfluten. Eine Abklingzeit von 100 Millisekunden zwischen den Updates ist für legitime Spieler nicht wahrnehmbar, stoppt jedoch automatisierten Spam. Sperre abschließend den Charaktererstellungsablauf hinter einer ordnungsgemäßen Sitzungsverwaltung, damit Spieler keine Erstellungsereignisse außerhalb des vorgesehenen Ablaufs auslösen können.

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.