Tutorial 2026-04-15

FiveM Funk- und Versandsystementwicklung

TDYSKY

TDYSKY

Gründer & Lead Developer bei Agency Scripts

Architektur von Funk- und Versandsystemen

Ein Funk- und Versandsystem ist das Kommunikationsrückgrat der Rettungsdienste auf einem FiveM-Roleplay-Server. Es ermöglicht Polizei, Rettungsdienst und Feuerwehr, Reaktionen über strukturierte Funkkanäle zu koordinieren, priorisierte Einsatzwarnungen von Notrufen und automatisierten Erkennungssystemen zu empfangen und den Standort von Einheiten durch GPS-Integration in Echtzeit zu verfolgen. Die Architektur besteht aus drei miteinander verbundenen Systemen: dem Funkkanal-Framework, das verwaltet, wer auf welcher Frequenz sprechen kann, der Versandwarteschlange, die eingehende Anrufe verarbeitet und an die entsprechenden Einheiten weiterleitet, und der GPS-Tracking-Ebene, die die Positionen der Einheiten auf einer gemeinsamen Karte visualisiert. Im Gegensatz zu einfacher Chat-basierter Kommunikation bietet ein richtiges Funksystem die Möglichkeit, Frequenzen zu wechseln, Funkgespräche nur zu hören, wenn man eingeschaltet ist, und strukturierte Kommunikationsprotokolle zu befolgen, die den Notfalldiensten in der realen Welt entsprechen. Das gesamte System durchläuft ein serverseitiges Statusmanagement, um Betrug zu verhindern, wobei der clientseitige NUI die Funkschnittstelle und das Dispatch-Panel bereitstellt.

Funkkanalsystem

Funkkanäle organisieren die Kommunikation so, dass sich verschiedene Abteilungen und Einheiten ohne Übersprechen koordinieren können. Jeder Kanal verfügt über eine Frequenznummer, Zugriffsbeschränkungen basierend auf Jobrollen und eine Liste der aktuell verbundenen Spieler. Das System unterstützt mehrere Kanaltypen: abteilungsweite Kanäle für die allgemeine Kommunikation, taktische Kanäle für bestimmte Einsätze wie eine Verfolgung oder die Reaktion auf einen Banküberfall sowie abteilungsübergreifende Kanäle, über die sich Polizei und Rettungsdienst bei gemeinsamen Vorfällen koordinieren können. Spieler treten einem Kanal über ein Funkgerät oder eine NUI-Schnittstelle bei, und alle auf diesem Kanal übertragenen Stimmen oder Texte erreichen nur Spieler, die auf dieselbe Frequenz eingestellt sind. Implementiere ein vorrangiges Lautsprechersystem, bei dem Disponenten und Kommandanten Notfallwarnungen gleichzeitig an alle Kanäle senden können:

10-Code-System

Zehnercodes sind standardisierte Funkkürzel, die der Kommunikation im Notfalldienst Authentizität verleihen und schnelle Statusaktualisierungen über das Leitsystem ermöglichen. Anstatt 10-Codes als bloße Chat-Makros zu implementieren, baue sie als funktionale Befehle auf, die den Status des Beamten im Leitsystem aktualisieren und automatisierte Antworten auslösen. Wenn ein Beamter 10-80 ruft (Verfolgung läuft), sollte das System automatisch seinen Status auf der Leittafel aktualisieren, eine für alle Einheiten sichtbare Verfolgungswarnung erstellen und mit der GPS-Verfolgung des Fahrzeugs des Beamten beginnen. Wenn sie 10-97 anrufen (am Unfallort ankommen), markiert das Leitsystem sie als vor Ort für den aktiven Anruf, auf den sie reagieren. Erstelle das 10-Code-System als konfigurierbare Tabelle, damit Serverbesitzer Codes anpassen können, um sie an das bevorzugte Protokoll ihrer Abteilung anzupassen:

Anrufwarteschlange weiterleiten

Die Dispatch-Warteschlange ist die zentrale Schaltstelle, die alle eingehenden Notrufe verarbeitet und an die entsprechenden Einheiten weiterleitet. Wenn ein Zivilist die Notrufnummer 911 ruft, wenn in einer Bank oder einem Geschäft ein automatischer Alarm ausgelöst wird oder wenn ein Polizeibeamter Verstärkung anfordert, erstellt das System einen Einsatzeintrag mit Prioritätsstufe, Ort, Beschreibung und der Art des benötigten Dienstes. Die Warteschlange zeigt alle aktiven Anrufe sortiert nach Priorität auf dem Dispatch-NUI-Panel an und zeigt die Anrufzeit, den Standort, den Status und die zugewiesenen Einheiten an. Eine dedizierte Rolle als Dispatcher-Operator kann Anrufe manuell bestimmten Einheiten zuweisen, oder Beamte können dies selbst zuweisen, indem sie auf einen Anruf klicken und sich selbst als antwortend markieren. Implementiere eine automatische Anrufeskalation, bei der unbeantwortete Anrufe nach einem konfigurierbaren Timeout an Priorität gewinnen, um sicherzustellen, dass in Stoßzeiten kein Notfall ignoriert wird:

GPS-Tracking und Einheitenkarte

GPS-Tracking bietet Echtzeit-Einblick in die Position aller aktiven Einheiten auf der Karte und ermöglicht es Disponenten und Kommandanten, fundierte Einsatzentscheidungen zu treffen. Die Position jedes diensthabenden Beamten wird in einem konfigurierbaren Intervall, normalerweise alle 5–10 Sekunden, an das Dispatchersystem gesendet und auf einem gemeinsamen NUI-Kartenfeld angezeigt, auf das Disponenten und Vorgesetzte zugreifen können. Auf der Karte werden nach Abteilung und Status farblich gekennzeichnete Markierungen der Einheiten angezeigt, mit Symbolen, die anzeigen, ob sie verfügbar, reagierend, vor Ort oder in Verfolgung sind. Füge eine Trail-Funktion hinzu, die die Bewegung der Einheit in den letzten Minuten verfolgt, damit Disponenten bei Verfolgungsjagden die Fahrtrichtung erkennen können. Implementiere eine Anrufradius-Visualisierung, die einen Kreis um aktive Dispatch-Anrufe zeichnet und den empfohlenen Antwortbereich anzeigt. Wenn ein Disponent die nächstgelegene verfügbare Einheit zu einem neuen Anruf finden muss, kann das System die Entfernungen aller verfügbaren Einheiten berechnen und die optimale Zuordnung vorschlagen. Sorge für eine effiziente GPS-Übertragung, indem du Positionsaktualisierungen nur dann senden, wenn sich das Gerät mehr als einen Mindestentfernungsschwellenwert bewegt hat, um den Netzwerkverkehr auf ausgelasteten Servern zu reduzieren.

Alarmsystem und Panikknopf

Das Alarmsystem verarbeitet Benachrichtigungen mit hoher Priorität, die sofortige Aufmerksamkeit aller Einheiten erfordern. Der kritischste Alarm ist die Paniktaste, die aktiviert wird, wenn ein Beamter 10-78 oder 10-99 ruft und seinen GPS-Standort mit einem blinkenden Signal und einem markanten Alarmton an alle im Dienst befindlichen Einheiten sendet. Der Panikalarm sollte Vorrang vor der normalen Leitwarteschlangenpriorität haben und bis zur Bestätigung gut sichtbar auf dem Bildschirm jedes Beamten angezeigt werden. Implementiere verschiedene Alarmstufen, die eskalierende Reaktionen auslösen: Ein Standardalarm erzeugt einen Dispatchruf mit einem Benachrichtigungston, ein dringender Alarm lässt das Dispatch-Panel blinken und einen Warnton abspielen, und ein kritischer Alarm löst eine Vollbildbenachrichtigung mit einem Sirenenton und automatischer GPS-Routenführung zum Alarmort aus. Automatisierte Alarme lassen sich in andere Serversysteme integrieren, sodass Schusserkennungszonen Alarme auslösen, wenn in öffentlichen Bereichen Waffen abgefeuert werden, Radarkameras Fahrzeuge markieren, die Geschwindigkeitsbegrenzungen überschreiten, und Alarmsysteme in Geschäften Alarmrufe auslösen, wenn Raubüberfälle beginnen. Jeder Alarmtyp verfügt über konfigurierbare Abklingzeiten, um Spam durch wiederholte Auslöser im selben Bereich zu verhindern.

Rolle des Dispatcher-Operators

Der Disponent ist eine dedizierte Rolle, die an einem Arbeitsplatz sitzt und den Fluss von Notrufen an die Außendiensteinheiten verwaltet. Im Gegensatz zu Beamten, die eine vereinfachte Einsatzbenachrichtigung sehen, verfügt der Bediener über eine vollständige Einsatzkonsole NUI mit Warteschlangenmanager, Einheitenliste, Live-Karte und Kommunikationstools. Der Operator kann Anrufe priorisieren, indem er sie in die Warteschlange zieht, bestimmten Einheiten Anrufe basierend auf Nähe und Verfügbarkeit zuweisen, Anrufe als gelöst markieren, wenn Einheiten frei melden, und Nachrichten an alle Einheiten auf einer Abteilungsfrequenz senden. Implementiere ein Arbeitsplatzsystem, bei dem Disponenten an einem dafür vorgesehenen Dispositionsschalter sitzen müssen, um auf die gesamte Konsole zugreifen zu können, sodass sie das Dispositionssystem nicht bedienen können, während sie sich im Feld befinden. Für die Operator-Rolle sollte es eine eigene berufliche Weiterentwicklung geben, bei der erfahrene Disponenten Zugang zu abteilungsübergreifenden Koordinierungstools und Notfallübertragungsfunktionen erhalten. Verfolge Dispositionsleistungsmetriken wie die durchschnittliche Antwortzeit, die pro Schicht bearbeiteten Anrufe und die Anruflösungsrate, um den Bedienern Feedback zu ihrer Leistung zu geben und Serveradministratoren Daten für Personalentscheidungen zu liefern.

Sprachfunkintegration

Integriere für Server, die Voice-Chat-Lösungen wie pma-voice oder mumble-voip verwenden, das Funksystem mit Proximity Voice, um eine realistische Funkkommunikation zu ermöglichen. Wenn ein Spieler auf einem Funkkanal sendet, indem er eine Tastenkombination gedrückt hält, sollte seine Stimme unabhängig von der physischen Nähe von allen Spielern auf derselben Frequenz gehört werden, wobei ein Funkfiltereffekt angewendet wird, um Funkkommunikation von persönlichen Gesprächen zu unterscheiden. Implementiere ein Squelch-System, bei dem Spieler ihre Sendetaste loslassen müssen, bevor ein anderer Spieler sprechen kann, und simulierest du so echtes Funk-Halbduplex-Verhalten. Füge Radio-Soundeffekte für das Hoch- und Herunterfahren der Taste hinzu, um eine akustische Rückmeldung zu geben, wenn jemand mit der Übertragung beginnt und stoppt. Die Sprachintegration sollte die im Funksystem definierten Kanalzugriffskontrollen berücksichtigen, sodass Spieler, die sich nicht über das Funkgerät NUI einer Frequenz angeschlossen haben, diese weder hören noch senden können, selbst wenn sie die Murmelkanal-ID irgendwie kennen. Greife bei Servern ohne Voice-Chat auf ein textbasiertes Funksystem zurück, bei dem auf einer Frequenz gesendete Nachrichten in einem gestalteten Chat-Format mit dem Rufzeichen und der Kanalkennung des Absenders angezeigt werden.

Integration und Erweiterbarkeit

Dein Funk- und Versandsystem sollte eine saubere API bereitstellen, die andere Ressourcen verwenden können, um Versandaufrufe zu erstellen, Warnungen zu senden und den Einheitenstatus abzufragen, ohne die interne Implementierung verstehen zu müssen. Exportiere Funktionen wie CreateDispatchCall, SendAlert, GetAvailableUnits und GetUnitStatus, damit jede Ressource auf dem Server in das Versandsystem integriert werden kann. Wenn ein Banküberfall beginnt, ruft die Bankressource den Dispatch-Export auf, um einen Anruf zu erstellen. Wenn EMS einen 911-Anruf erhält, leitet die Krankenhausressource ihn über dasselbe Versandsystem weiter. Dieser zentralisierte Ansatz stellt sicher, dass die gesamte Notfallkommunikation über ein einziges System mit konsistenter Prioritätsbehandlung, Einheitenverfolgung und Protokollierung fließt. Speichere den Dispatch-Anrufverlauf in der Datenbank zur Überprüfung durch den Administrator und erstelle Schichtberichte, die das Anrufvolumen, die Reaktionszeiten und die Einheitenaktivität für jeden Dienstzeitraum zusammenfassen. Verbinde das Versandsystem mit Discord-Webhooks, sodass kritische Alarme wie Anrufe von Beamten oder Banküberfälle in einem speziellen Personalkanal angezeigt werden und Serveradministratoren auch dann auf dem Laufenden bleiben, wenn sie nicht im Spiel sind.

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.