Entwerfen der Mechaniker-Jobarchitektur
Ein Mechaniker-Jobsystem ist eine der beliebtesten und lohnendsten Funktionen, die für einen FiveM-Roleplay-Server entwickelt werden können. Im Gegensatz zu einfachen Reparaturskripten, die lediglich SetVehicleFixed() aufrufen, führt ein richtiges Mechanikersystem eine komplette Jobökonomie mit speziellen Rollen, Teilebeständen und Spieler-zu-Spieler-Interaktionen ein, die das Roleplay vorantreiben. Die Architektur muss mehrere Mechanikerwerkstätten auf der Karte berücksichtigen, von denen jede möglicherweise verschiedenen Spielergruppen gehört, mit einer Hierarchie der Berufsstufen, die bestimmt, wer welche Reparaturen durchführen kann. Als Grundlage benötigst du eine gemeinsame Konfiguration, die Werkstattstandorte, verfügbare Services auf jeder Ebene, Teilepreise und die erforderlichen Auftragsstufen definiert, um erweiterte Reparaturen wie Motortausch oder Turboinstallationen freizuschalten. Das System sollte in das bestehende Job-Framework deines Servers integriert werden, sei es QBCore,
Jobnoten und Berechtigungssystem
Ein abgestuftes Job-Bewertungssystem verleiht deinem Mechanikerjob Tiefe und ermutigt die Spieler, sich in den Rängen nach oben zu arbeiten. Definiere zunächst eindeutige Stufen mit spezifischen Berechtigungen: Ein Auszubildender darf möglicherweise nur Fahrzeuge waschen und kleinere Karosserieschäden reparieren, ein normaler Mechaniker kann sich um Motorreparaturen und Reifenwechsel kümmern, ein leitender Mechaniker schaltet Leistungstuning und Sprühlackierung frei und der Ladenbesitzer kann Mitarbeiter verwalten und Servicepreise festlegen. Speichere diese Notendefinitionen in einer gemeinsamen Konfiguration, damit sowohl Client als auch Server konsistent darauf verweisen können. Hier ist eine Beispielkonfiguration, die Noten ihren erlaubten Diensten zuordnet:
Überprüfe auf der Serverseite immer die Note des Spielers, bevor du die Ausführung eines Dienstes zulassen. Vertraue niemals darauf, dass der Client meldet, welche Dienste verfügbar sind, da ein Betrüger den NUI so modifizieren könnte, dass er beliebige Dienstanfragen sendet. Der Server-Callback sollte den aktuellen Job des Spielers, seine Besoldungsstufe und ob der angeforderte Dienst in der Dienstliste seiner Besoldungsgruppe vorhanden ist, überprüfen, bevor er mit der Reparatur fortfährt.
System für Fahrzeugreparaturmechanik und -teile
Realistische Reparaturmechaniken gehen über einen einzigen nativen Anruf hinaus. Anstatt ein Fahrzeug sofort zu reparieren, unterteile den Reparaturprozess in Schritte, die Zeit erfordern und Teile aus dem Bestand des Mechanikers verbrauchen. Wenn ein Spieler sein Auto zur Motorreparatur bringt, sollte der Mechaniker die richtigen Teile in seinem persönlichen Inventar oder im gemeinsamen Vorrat der Werkstatt haben müssen. Verwende ein Fortschrittsbalkensystem, um die Dauer der Reparatur zu simulieren, wodurch natürliche Rollenspielmomente entstehen, in denen der Kunde wartet und mit dem Mechaniker interagiert. Die Reparaturlogik sollte mithilfe nativer Funktionen auf bestimmte Fahrzeugkomponenten abzielen, sodass du den Motor reparieren können, ohne Karosserieschäden zu beheben, oder Reifen ersetzen können, ohne den Zustand des Motors zu beeinträchtigen:
Das Teilesystem schafft eine zusätzliche Wirtschaftsschicht auf deinem Server. Lagern du Teile bei NPC-Großhändlern oder lass du sie von Spielern an Industriestandorten herstellen. Mechanikerwerkstätten können Teile in großen Mengen zu Großhandelspreisen kaufen und in einem gemeinsamen Lagerbestand lagern. Das bedeutet, dass der Ladenbesitzer seine Lieferkette verwalten muss, um einen reibungslosen Geschäftsablauf zu gewährleisten. Diese Angebots- und Nachfragedynamik verleiht dem Rollenspielerlebnis enorme Tiefe.
Sprühlackier- und Kosmetikdienstleistungen
Das Spritzlackieren ist eine der optisch ansprechendsten Dienstleistungen, die eine Werkstatt anbieten kann, und für eine gute Umsetzung ist die Arbeit mit mehreren nativen Funktionen für die Fahrzeugfarbe erforderlich. FiveM bietet native Werte für Primärfarbe, Sekundärfarbe, Perlglanz, Radfarbe und benutzerdefinierte RGB-Werte. Erstelle eine Farbauswahl-Benutzeroberfläche, die es dem Mechaniker ermöglicht, aus voreingestellten Farben auszuwählen oder benutzerdefinierte RGB-Werte zu einem Premiumpreis einzugeben. Der NUI sollte eine Echtzeitvorschau anzeigen, indem die Farbe vorübergehend auf das Fahrzeug angewendet wird, während der Mechaniker die Optionen durchsucht. So gehe mit der serverseitigen Farbanwendung um, nachdem der Mechaniker die Lackierung bestätigt und der Kunde bezahlt hat:
Erwäge, über die Grundfarbe hinaus Lackierung, Neonlichtinstallation und Scheibentönung als separate kosmetische Dienstleistungen hinzuzufügen. Jeder Service sollte seine eigenen Teileanforderungen und Preise haben. Neonlichter erfordern beispielsweise Neon-Kits aus dem Teilebestand und verwenden die Natives SetVehicleNeonLightEnabled und SetVehicleNeonLightsColour, um den visuellen Effekt anzuwenden. Bei der Scheibentönung wird SetVehicleWindowTint mit unterschiedlichen Tönungsstufen verwendet, die durch lokale Servergesetze eingeschränkt sein könnten, was der Polizei einen Grund gibt, Spieler wegen illegaler Tönungen anzuhalten.
Leistungssteigerungen und Tuning
Bei der Leistungsoptimierung können Mechaniker wirklich glänzen und auf dem Server Top-Dollar verdienen. FiveM bietet umfangreiche native Fahrzeugmodifikationen über die Funktion SetVehicleMod, die einen Mod-Typ und einen Mod-Index akzeptiert. Die Mod-Typen umfassen Motor-Upgrades (Typ 11), Bremsen (Typ 12), Getriebe (Typ 13), Federung (Typ 15), Panzerung (Typ 16) und Turbo (Typ 18). Jeder Mod-Typ verfügt über mehrere Stufen, die die Leistung des Fahrzeugs schrittweise verbessern. Erstelle eine Tuning-Schnittstelle, die verfügbare Upgrades für das aktuelle Fahrzeug, die Kosten für jedes Level und idealerweise einen Statistikvergleich mit den Vorher- und Nachher-Werten für Geschwindigkeit, Beschleunigung, Bremsen und Handling anzeigt:
Leistungssteigerungen sollten hochwertige Teile wie Turbosätze, Renngetriebe oder Sportbremsbaugruppen erfordern. Diese Teile können von spezialisierten Lieferanten bezogen oder von Spielern mit den richtigen Fähigkeiten hergestellt werden, wodurch berufsübergreifende Abhängigkeiten entstehen, die die Serverwirtschaft bereichern. Validiere Upgrade-Anfragen immer auf dem Server, um zu verhindern, dass Clients Änderungen vornehmen, für die sie nicht bezahlt haben oder für die sie nicht die Teile haben.
Abrechnungssystem und Umsatzbeteiligung
Ein sauberes Abrechnungssystem verknüpft die gesamte Mechanikererfahrung und wickelt die Finanztransaktionen zwischen dem Mechaniker, dem Kunden und der Werkstatt ab. Wenn ein Mechaniker einen Service abschließt, erstelle eine detaillierte Rechnung, in der jeder durchgeführte Service und seine Kosten aufgeführt sind. Lege dem Kunden die Rechnung über eine Benachrichtigung oder ein NUI-Popup vor, das er akzeptieren muss, bevor die Zahlung verarbeitet wird. Teile den Umsatz zwischen dem Mechaniker, der die Arbeit ausgeführt hat, und dem Geschäftskonto der Werkstatt auf, wobei das Aufteilungsverhältnis vom Ladenbesitzer konfiguriert werden kann. Hier ist ein serverseitiges Abrechnungssystem, das die Rechnungserstellung und Zahlungsabwicklung übernimmt:
Erwäge die Unterstützung mehrerer Zahlungsmethoden, einschließlich Bargeld, Banküberweisungen und sogar Kryptowährung, wenn dein Server über ein Kryptosystem verfügt. Verfolge alle Transaktionen in einem Datenbankprotokoll, damit Ladenbesitzer ihre Umsatzhistorie überprüfen, ihre leistungsstärksten Mechaniken identifizieren und verdächtige Abrechnungsmuster erkennen können. Diese Finanzverfolgung ermöglicht auch Steuersysteme und staatliche Rollenspielinteraktionen, bei denen der Staat Mechanikerwerkstätten prüfen kann.
Lager- und Shop-Bestandsverwaltung
Jede Mechanikerwerkstatt benötigt einen gemeinsamen Lagerraum, in dem Teile gelagert und für alle diensthabenden Mitarbeiter zugänglich sind. Integriere es in das Inventarsystem deines Servers, sei es ox_inventory, qb-inventory oder eine benutzerdefinierte Lösung, um einen geschäftsspezifischen Lagerbestand zu erstellen, auf den nur autorisierte Mechaniker zugreifen können. Der Ladenbesitzer sollte die Möglichkeit haben, Teile bei einem Großhandelslieferanten-NPC zu bestellen, der Geld vom Geschäftskonto des Shops abbucht und die Teile nach einer konfigurierbaren Lieferverzögerung dem Vorrat hinzufügt. Diese Verzögerung simuliert die reale Lieferkettenlogistik und verhindert eine sofortige Wiederauffüllung der Lagerbestände. Verfolge den Lagerzugriff in einem Protokoll, damit der Ladenbesitzer sehen kann, welche Mechaniker welche Teile mitgenommen haben, und so internen Diebstahl verhindern. Verwende auf der Client-Seite eine Zielinteraktion auf einer bestimmten Requisite im Shop, etwa einem Werkzeugschrank oder einem Teileregal, um den Vorrat zu öffnen. Kombiniere den Vorrat mit einem Handwerkssystem, bei dem Mechaniker komplexe Teile aus Rohmaterialien zusammenbauen können, z. B. indem sie ein Turbogehäuse, ein Laufrad und ein Wastegate zu einem kompletten Turbobausatz kombinieren und so dem Job eine weitere fähigkeitsbasierte Ebene hinzufügen.
Abschleppwagen und Pannenhilfe
Die Ausweitung des Mechanikerberufs auf Abschleppwagen- und Pannenhilfedienste erhöht die Aktivität und das Umsatzpotenzial des Jobs erheblich. Mechaniker sollten in der Lage sein, einen Abschleppwagen in ihrer Werkstatt auszuleihen, zum Standort eines gestrandeten Spielers zu fahren, das kaputte Fahrzeug mit dem nativen AttachEntityToEntity zu befestigen und es zur Reparatur in die Werkstatt zurückzuschleppen. Implementiere ein Versandsystem, bei dem Spieler über ihr Telefon Pannenhilfe anfordern können, wodurch ein Punkt auf der Karte entsteht, der für alle diensthabenden Mechaniker sichtbar ist. Der erste Mechaniker, der den Anruf entgegennimmt, erhält den Auftrag und es wird eine GPS-Route zum Standort des Kunden erstellt. Berechne für das Befestigungssystem die richtigen Versatzpositionen basierend auf dem Abschleppwagenmodell, um sicherzustellen, dass das abgeschleppte Fahrzeug richtig auf der Pritsche sitzt. Füge dem Abschleppdienst eine entfernungsabhängige Gebühr hinzu, sodass längere Abschleppvorgänge den Kunden mehr kosten. Dies bietet Mechanikern einen Anreiz, Anrufe in ihrer Nähe abzuwickeln, und ermöglicht ihnen gleichzeitig, lukrative Fernaufträge über die gesamte Karte hinweg anzunehmen.
