Dispatch
Dynamic dispatch system with modern UI and Notify integration
Description
Dispatch System für Rust (Oxide/uMod)
Ein vollständig dynamisches und erweiterbares Dispatch-System für Rust-Server mit moderner UI und Notify-Integration.
🎯 Features
- ✅ Vollständig dynamisch - Alle Dispatch-Typen werden aus der Config geladen
- ✅ Moderne UI - Sauberes, benutzerfreundliches Interface mit Blur-Effekt
- ✅ Notify Integration - Nutzt das Notify-Plugin für professionelle Benachrichtigungen
- ✅ Anpassbare Farben - Alle UI-Farben können konfiguriert werden
- ✅ Permission-System - Jede Kategorie hat eigene Permissions
- ✅ Discord Webhooks - Automatische Benachrichtigungen pro Kategorie
- ✅ Marker-System - Automatische Karten-Marker am Dispatch-Standort
- ✅ Daten-Persistenz - Dispatches bleiben nach Server-Restart erhalten
- ✅ Mehrsprachig - Deutsch und Englisch Support
📋 Voraussetzungen
- Oxide/uMod für Rust
- Empfohlen: Notify Plugin für professionelle Benachrichtigungen
⚙️ Konfiguration
Dispatch-Typen hinzufügen/ändern
json
| 1 | { |
| 2 | "DispatchTypes": { |
| 3 | "medic": { |
| 4 | "permission": "dispatch.medic", |
| 5 | "webhook": "https://discord.com/api/webhooks/xxx", |
| 6 | "displayName": "Medic", |
| 7 | "color": "#e74c3c", |
| 8 | "notifyType": 0 |
| 9 | }, |
| 10 | "police": { |
| 11 | "permission": "dispatch.police", |
| 12 | "webhook": "https://discord.com/api/webhooks/yyy", |
| 13 | "displayName": "Police", |
| 14 | "color": "#3498db", |
| 15 | "notifyType": 0 |
| 16 | } |
| 17 | } |
| 18 | } |
Parameter:
permission- Oxide Permission für diesen Dispatch-Typwebhook- Discord Webhook URL (optional)displayName- Anzeigename in der UIcolor- Hex-Farbe für die UI (#RRGGBB)notifyType- Notify-Plugin Typ (0=Info, 1=Error, 2=Success, 3=Warning, 4=Event)
UI-Farben anpassen
json
| 1 | { |
| 2 | "UI Settings": { |
| 3 | "primaryColor": "#2c3e50", |
| 4 | "secondaryColor": "#34495e", |
| 5 | "accentColor": "#3498db", |
| 6 | "textColor": "#ecf0f1", |
| 7 | "successColor": "#27ae60", |
| 8 | "dangerColor": "#e74c3c" |
| 9 | } |
| 10 | } |
Notify-Integration konfigurieren
json
| 1 | { |
| 2 | "Notify Integration": { |
| 3 | "enabled": true, |
| 4 | "useNotifyForMessages": true, |
| 5 | "dispatchCreatedType": 0, |
| 6 | "dispatchAcceptedType": 2, |
| 7 | "dispatchClosedType": 1, |
| 8 | "errorType": 1, |
| 9 | "successType": 2 |
| 10 | } |
| 11 | } |
Notify-Typen:
0= Info/Notification (blau)1= Error (rot)2= Success (grün)3= Warning (gelb/orange)4= Event (lila)
🎮 Befehle
Spieler-Befehle
/dispatch- Öffnet die Dispatch-UI
Admin-Befehle (via Konsole)
dispatch.create <type> <message>- Erstellt einen Dispatchdispatch.accept <id>- Nimmt einen Dispatch andispatch.close <id>- Schließt einen Dispatch
🔐 Permissions
Basis-Permissions
dispatch.use- Erlaubt Zugriff auf die Dispatch-UI
Dynamische Permissions (aus Config)
dispatch.medic- Sieht und kann Medic-Dispatches annehmendispatch.police- Sieht und kann Police-Dispatches annehmendispatch.taxi- Sieht und kann Taxi-Dispatches annehmen
Beispiel zum Vergeben:
code
| 1 | o.grant group medics dispatch.use |
| 2 | o.grant group medics dispatch.medic |
📡 Discord Webhook Setup
- Erstelle einen Webhook in deinem Discord-Kanal
- Kopiere die Webhook-URL
- Füge sie in der Config beim entsprechenden Dispatch-Typ ein
Webhook Format:
code
| 1 | https://discord.com/api/webhooks/123456789/AbCdEfGhIjKlMnOpQrStUvWxYz |
🎯 Verwendung
Als Spieler einen Dispatch erstellen
- Öffne die UI mit
/dispatch - Klicke auf den gewünschten Dispatch-Typ (z.B. "MEDIC")
- Gib deine Nachricht ein (max. 120 Zeichen)
- Klicke auf "Send"
Als Dispatcher einen Dispatch annehmen
- Öffne die UI mit
/dispatch - Sieh dir die aktiven Dispatches an
- Klicke auf "Accept" beim gewünschten Dispatch
- Der Ersteller wird benachrichtigt
Dispatch abschließen
- Öffne die UI mit
/dispatch - Klicke auf "Close" bei deinem Dispatch
- Der Marker wird entfernt
🔌 API für Entwickler
Hook Methods
csharp
| 1 | // Wird aufgerufen wenn ein Dispatch erstellt wird |
| 2 | void OnDispatchCreated(DispatchData dispatch) |
| 3 | |
| 4 | // Wird aufgerufen wenn ein Dispatch angenommen wird |
| 5 | void OnDispatchAccepted(DispatchData dispatch, BasePlayer player) |
| 6 | |
| 7 | // Wird aufgerufen wenn ein Dispatch geschlossen wird |
| 8 | void OnDispatchClosed(DispatchData dispatch, BasePlayer player) |
API Methods
csharp
| 1 | // Alle aktiven Dispatches abrufen |
| 2 | List<DispatchData> API_GetActiveDispatches(string type = null) |
| 3 | |
| 4 | // Dispatch erstellen |
| 5 | bool API_CreateDispatch(ulong playerId, string type, string message) |
| 6 | |
| 7 | // Dispatch schließen |
| 8 | bool API_CloseDispatch(int dispatchId) |
| 9 | |
| 10 | // Dispatch-Info abrufen |
| 11 | Dictionary<string, object> API_GetDispatchInfo(int dispatchId) |
Beispiel-Verwendung:
csharp
| 1 | [PluginReference] private Plugin Dispatch; |
| 2 | |
| 3 | void CreateCustomDispatch() |
| 4 | { |
| 5 | var dispatches = Dispatch?.Call("API_GetActiveDispatches", "medic"); |
| 6 | |
| 7 | bool success = Dispatch?.Call<bool>("API_CreateDispatch", |
| 8 | player.userID, "medic", "Need help at coordinates") ?? false; |
| 9 | } |
🗺️ Marker-System
- Beim Erstellen eines Dispatches wird automatisch ein Marker an der Position des Erstellers gesetzt
- Der Marker ist für alle Spieler mit der entsprechenden Permission sichtbar
- Marker werden beim Schließen des Dispatches entfernt
- Marker werden beim Server-Neustart automatisch aufgeräumt
💾 Daten-Persistenz
- Alle aktiven Dispatches werden in
oxide/data/Dispatch/ActiveDispatches.jsongespeichert - Dispatches bleiben nach Server-Restart erhalten
- Marker werden nach Neustart neu erstellt
🎨 UI-Anpassung
Die UI nutzt folgende Farb-Schema:
- Primary Color - Haupthintergrund und Header
- Secondary Color - Panel-Hintergründe
- Accent Color - Buttons und Hervorhebungen
- Text Color - Haupttextfarbe
- Success Color - Erfolgs-Meldungen und Status
- Danger Color - Fehler-Meldungen und Warnungen
Jeder Dispatch-Typ hat zusätzlich seine eigene Farbe für die visuelle Unterscheidung.
🐛 Troubleshooting
Benachrichtigungen werden nicht angezeigt
- Stelle sicher, dass das Notify-Plugin installiert ist
- Prüfe ob
notify.seePermission vergeben ist - Falls Notify nicht verfügbar ist, werden Nachrichten im Chat angezeigt
Dispatches werden nicht gespeichert
- Prüfe Schreibrechte im
oxide/data/Dispatch/Ordner - Prüfe Server-Logs auf Fehler
UI wird nicht angezeigt
- Prüfe ob
dispatch.usePermission vergeben ist - Prüfe Server-Logs auf UI-Fehler
- Versuche
/dispatch.uierneut
Discord Webhooks funktionieren nicht
- Prüfe ob die Webhook-URL korrekt ist
- Entferne "your_webhook_here" aus der Config
- Prüfe Discord-Server-Einstellungen
📝 Changelog
Version 1.0.0
- Initiales Release
- Vollständige Notify-Integration
- Dynamisches Dispatch-System
- Moderne UI mit anpassbaren Farben
- Discord Webhook Support
- Marker-System
- Daten-Persistenz
- API für Entwickler
🤝 Support
Bei Fragen oder Problemen:
- Prüfe die Config-Datei auf Fehler
- Schaue in die Server-Logs (
oxide/logs/) - Stelle sicher alle Permissions vergeben sind
📜 Lizenz
Dieses Plugin ist für die Verwendung auf deinem Rust-Server frei verfügbar.
Entwickelt mit ❤️ für die Rust-Community
Sponsored

RCONtrol
Command your Rust server. Live WebRCON console, performance and player monitoring, quick actions, groups and permissions, and plugin management.
Visit site ↗$23.22
Views4
Downloads0
Purchases0
Rating★ 0.0
Version1.0.0
PlatformRust
CategoryPlugins
CompatibleOxide
Size53 KB
PublishedSep 1, 2026
UpdatedSep 1, 2026
✓ Reviewed for safety and integrity