Zone Manager
Über Zone Manager Zone Manager ist ein fortschrittliches Plugin zur Verwaltung von Zonen im Spiel. Installation Füg das Plugin in den Order Plugins ein, dieser wird gefunden unter oxide\plugins oder…
Über Zone Manager
Zone Manager ist ein fortschrittliches Plugin zur Verwaltung von Zonen im Spiel.
Installation
Füg das Plugin in den Order Plugins ein, dieser wird gefunden unter oxide\plugins oder carbon\plugins
Download: Zone Manager
Berechtigungen
Dieses Plugin verwendet das Berechtigungssystem.
Um eine Berechtigung zuzuweisen, benutze für Oxide oxide.grant <Benutzer oder Gruppe> <Name oder Steam-ID> <Berechtigung> | für Carbon c.grant <Benutzer oder Gruppe> <Name oder Steam-ID> <Berechtigung>
Um eine Berechtigung zu entfernen, benutze für Oxide oxide.revoke <Benutzer oder Gruppe> <Name oder Steam-ID> <Berechtigung> | für Carbon c.revoke <Benutzer oder Gruppe> <Name oder Steam-ID> <Berechtigung>
- zonemanager.zone - Erlaubt den Zugriff auf Chat-/Konsolenbefehle.
- zonemanager.ignoreflag.<flagtype> - Erlaubt Spielern, jegliche in einer Zone gesetzten Flags zu ignorieren. Ersetze <flagtype> durch den Flag, den du ignorieren möchtest.
Achte darauf, Spielern nicht blindlings eine der Ignore-Flags zu gewähren! Wenn du unsicher bist, was die Gewährung einer Ignore-Flag bewirkt, schau einfach nach, was der Flag tut. Durch das Gewähren der Ignore-Flag-Berechtigung kann der Spieler den Effekt des Flags umgehen.
Chat-Befehle
Diese sind nur für Spieler mit Auth-Level 2 oder der Berechtigung zonemanager.zone zugänglich.
- /zone_add - Erstellt eine neue Zone an deinem Standort.
- /zone_edit <Zonen-ID> - Bearbeite die Zone mit der angegebenen ID.
- /zone_list - Listet alle Zonen mit den entsprechenden Zonen-IDs auf.
- /zone_remove <Zonen-ID> - Entfernt die Zone mit der angegebenen ID.
- /zone_wipe - Löscht alle Zonen.
- /zone_player <opt: Spieler-ID oder Name> - Zeigt Informationen über die Zonen an, in denen sich der angegebene Spieler befindet, und welche Flags sie derzeit haben.
- /zone_stats - Zeigt die Anzahl verschiedener Entitäten in allen Zonen an.
- /zone flags - Öffnet den UI-Flag-Editor.
- /zone <flag> <Wert> - Setzt das angegebene Feld oder den Flag.
Zonen-Flags
Zonen-Flags sind Bedingungen, die du auf eine Zone anwenden kannst. Um ein Zonen-Flag zu setzen, musst du zuerst die Zielzone bearbeiten. Du kannst dann Flags auf die Zone anwenden, indem du /zone <Option> <Wert> eingibst.
Du kannst mehrere Flags in einer Zeile anwenden, indem du das Muster fortsetzt (z. B. /zone eject true killsleepers true nobuild true).
Alternativ kannst du /zone flags eingeben, um ein GUI-Menü zu öffnen, in dem du Flags leicht umschalten kannst.
Flag-Typen
Hier sind alle verfügbaren Flags. Zuerst der Name des Flags, gefolgt von dem akzeptierten Wertetyp.
- autolights - true/false - Schaltet die Lichter automatisch je nach Zeit ein und aus (Zeiten können in der Konfiguration eingestellt werden).
- eject - true/false - Alle Spieler werden aus der Zone geworfen, wenn sie versuchen, sie zu betreten, es sei denn, sie stehen auf der Zonen-Whitelist oder haben die zugehörige Berechtigung.
- ejectsleepers - true/false - Spieler werden aus der Zone verschoben, wenn sie schlafen gehen.
- infinitetrapammo - true/false - Flammenwerfer, Geschütztürme und automatische Geschütztürme verbrauchen keinen Treibstoff.
- kill - true/false - Spieler werden getötet, wenn sie die Zone betreten.
- killsleepers - true/false - Spieler werden getötet, wenn sie schlafen gehen.
- lootself - true/false - Spieler können ihren eigenen Körper/Beutel plündern. Dieses Flag gilt nur, wenn das Flag NoPlayerLoot in einer Zone aktiv ist.
- noapctargeting - true/false - APCs werden Spieler in der Zone nicht anvisieren.
- nobleed - true/false - Verhindert, dass Spieler bluten.
- noboxloot - true/false - Verhindert, dass Spieler Kisten plündern.
- nobuild - true/false - Verhindert, dass Spieler bauen.
- nochat - true/false - Verhindert, dass Spieler den Chat benutzen.
- nocollect - true/false - Verhindert, dass Spieler Sammlerstücke aufsammeln.
- nocorpse - true/false - Entfernt Spielerleichen, wenn sie spawnen.
- nocraft - true/false - Deaktiviert das Crafting in der Zone.
- nocup - true/false - Verhindert, dass Spieler einen Werkzeugschrank platzieren.
- nodecay - true/false - Stoppt den Verfall von verfallbaren Entitäten.
- nodeploy - true/false - Verhindert, dass Spieler Gegenstände platzieren.
- nodooraccess - true/false - Verhindert, dass Spieler Türen öffnen.
- nodrop - true/false - Entfernt fallengelassene Gegenstände.
- nodrown - true/false - Verhindert, dass Spieler ertrinken.
- noentitypickup - true/false - Verhindert, dass Spieler Entitäten wie Türen, Schlösser usw. aufsammeln.
- nofalldamage - true/false - Verhindert, dass Spieler Fallschaden erleiden.
- nogather - true/false - Verhindert, dass Spieler Ressourcen sammeln.
- nohelitargeting - true/false - Verhindert, dass Helikopter Spieler anvisieren, und schickt sie an einen neuen Ort.
- nokits - true/false - Verhindert, dass Spieler Kits beanspruchen (Kits-Plugin).
- nolootspawns - true/false - Verhindert, dass Loot in der Zone spawnt.
- nonpcspawns - true/false - Verhindert, dass Tiere in der Zone spawnen.
- nonpctargeting - true/false - NPC-Spieler werden Spieler in der Zone nicht anvisieren.
- nooventoggle - true/false - Verhindert, dass Spieler Öfen/Lichter/Feuer usw. ein- und ausschalten.
- nopickup - true/false - Verhindert, dass Spieler fallengelassene Gegenstände aufsammeln.
- noplayerloot - true/false - Verhindert, dass Spieler andere Spieler plündern.
- nopve - true/false - Tiere werden gegen Spielerangriffe unverwundbar.
- noremove - true/false - Verhindert, dass Spieler das Entfernen-Werkzeug (RemoveTool-Plugin) verwenden.
- nosignupdates - true/false - Verhindert, dass Spieler Schilder aktualisieren.
- noshop - true/false - Verhindert, dass Spieler einen Shop benutzen (GUIShop/ServerRewards).
- nostability - true/false - Deaktiviert die Strukturstabilität.
- nostash - true/false - Verhindert, dass Spieler ein Versteck verstecken.
- nosuicide - true/false - Verhindert, dass Spieler den Selbstmord-Befehl verwenden.
- notp - true/false - Verhindert, dass Spieler Teleportation verwenden (Teleportation-Plugin).
- notrade - true/false - Verhindert, dass Spieler handeln (Trade-Plugin).
- noturrettargeting - true/false - Verhindert, dass Geschütztürme Spieler anvisieren (autoturret/flameturret/guntrap).
- noupgrade - true/false - Gebäude können nicht aufgewertet werden.
- novending - true/false - Verhindert, dass Spieler Verkaufsautomaten benutzen.
- novoice - true/false - Verhindert, dass Spieler Voice-Chat benutzen.
- nowounded - true/false - Überspringt den verwundeten Zustand, wenn ein Spieler stirbt.
- keepvehiclesin - true/false - Fahrzeuge innerhalb der Zone werden daran gehindert, die Zone zu verlassen.
- keepvehiclesout - true/false - Fahrzeuge werden daran gehindert, die Zone zu betreten.
- npcfreeze - true/false - Verhindert, dass Tiere sich bewegen.
- pvegod - true/false - Spieler haben PVE-Gottmodus.
- pvpgod - true/false - Spieler haben PVP-Gottmodus.
- sleepgod - true/false - Schlafende Spieler haben Gottmodus.
- undestr - true/false - Gebäude nehmen keinen Schaden.
Zonen-Optionen
Es gibt auch Zonen-Optionen, die auf die gleiche Weise wie ein Flag gesetzt/angepasst werden können.
- name - "Zonenname" - Setzt den Namen der Zone.
- id - "ID-Nummer" - Setzt die Zonen-ID.
- location - "here" oder "x y z" - Verwende "here", um die Position der Zone auf deine Position zu setzen, oder setze die Position manuell, indem du die Koordinaten (x y z) eingibst.
- radius - Zahlenwert - Setzt den Radius der Zone (bei Verwendung einer kugelförmigen Zone).
- size - "Breite Höhe Länge" - Setzt die Größe der Zone (für die Erstellung rechteckiger Zonen). Achte darauf, die Breite, Höhe und Länge als Zahlen einzugeben.
- rotation - "y-Rotation" oder kein Wert - Dreht eine rechteckige Zone auf den angegebenen Y-Wert, oder wenn kein Wert angegeben ist, wird sie in die Richtung gedreht, in die du schaust.
- radiation - Zahlenwert - Fügt dieser Zone Strahlung hinzu.
- safezone - true/false - Setzt die Zone als sichere Zone, in der keine Waffen gezogen und kein Spieler-zu-Spieler-Schaden verursacht werden kann.
- enter_message - "Beliebige Nachricht in Anführungszeichen" - Setzt eine Nachricht, die Spielern angezeigt wird, wenn sie die Zone betreten.
- leave_message - "Beliebige Nachricht in Anführungszeichen" - Setzt eine Nachricht, die Spielern angezeigt wird, wenn sie die Zone verlassen.
- ejectspawns - "Spawnfile-Name" - Bestimmt eine Spawn-Datei, um Spieler als Alternative zum Teleportieren außerhalb der Zone zu vertreiben.
- permission - "Berechtigungsname" - Weist dieser Zone eine Berechtigung zu, um Spieler ohne die Berechtigung am Betreten der Zone zu hindern.
- enabled - true/false - Aktiviert oder deaktiviert diese Zone.
- parentid - "Zonen-ID" - Setzt eine übergeordnete Zone.
Beispiel für die Zonen-Erstellung für ein Admin-Haus:
/zone_add
/zone nobuild true nodeploy true name "Admin House" undestr true
Hier haben wir eine neue Zone erstellt, sie "Admin House" genannt und die Flags nobuild, nodeploy und undestr auf true gesetzt. Dies verhindert, dass Spieler in der Zone bauen, Gegenstände platzieren und Gebäude beschädigen können.
Übergeordnete/untergeordnete Zonen
Standardmäßig erben kleinere Zonen innerhalb anderer Zonen die Flags von der größeren Zone sowie die Flags, die der kleineren Zone zugewiesen wurden.
Um dies zu umgehen, kannst du einer kleineren Zone eine übergeordnete Zonen-ID zuweisen, indem du den Befehl /zone parentid <zoneid> verwendest.
Das Plugin erkennt den Spieler immer noch als innerhalb beider Zonen, aber alle Flags der übergeordneten Zone (der größeren äußeren Zone) werden für diesen Spieler deaktiviert, wenn er die untergeordnete Zone (die kleinere Zone innerhalb der äußeren Zone) betritt.
Wenn du diese Funktion verwendest und bestimmte Flags aus der übergeordneten Zone weiterhin auf den Spieler angewendet werden sollen, wende einfach diese Flags auch auf die untergeordnete Zone an.
Konfiguration
Die Einstellungen und Optionen können in der Datei ZoneManager im Konfigurationsverzeichnis konfiguriert werden. Die Verwendung eines Editors und Validators wird empfohlen, um Formatierungsprobleme und Syntaxfehler zu vermeiden.
{
"Autolight Options": {
"Time to turn lights on": 18.0,
"Time to turn lights off": 6.0,
"Lights require fuel to activate automatically": true
},
"Notification Options": {
"Display notifications via PopupNotifications": false,
"Chat prefix": "[Zone Manager] :",
"Chat color (hex)": "#d85540"
},
"NPC players can deal player damage in zones with PvpGod flag": false,
"Allow decay damage in zones with Undestr flag": false,
"Version": {
"Major": 3,
"Minor": 0,
"Patch": 0
}
}
Alles anzeigen
Entwickler-API
- (bool) CreateOrUpdateZone(string ZoneID, string[] args, Vector3 position = default(Vector3)) - Erstellt oder aktualisiert eine Zone von einem externen Plugin.
- Parameter 1: Die gewünschte Zonen-ID (kann ein Name sein).
- Parameter 2: Die Optionen, wie du sie in /zone eingeben würdest.
- Parameter 3 (optional): Setzt oder bearbeitet die Position der Zone.
- Gibt true zurück, wenn die Zone gültig ist, oder false, wenn sie gespeichert, aber nicht erstellt wurde (einziger Grund wäre, dass keine Position für die Zone festgelegt wurde).
- (bool) EraseZone(string ZoneID) - Löscht eine Zone nach Zonen-ID oder Name.
- Gibt true zurück, wenn die Zone gelöscht wurde, oder false, wenn die Zone nicht existiert.
- (List<BasePlayer>) GetPlayersInZone(string ZoneID) - Gibt die Liste der Spieler in der angegebenen Zone zurück.
- (List<BaseEntity>) GetEntitiesInZone(string ZoneID) - Gibt die Liste der Entitäten in der angegebenen Zone zurück.
- (bool) IsPlayerInZone(string ZoneID, BasePlayer player) - Gibt true zurück, wenn sich der Spieler in der angegebenen Zone befindet, sonst false.
- (bool) IsEntityInZone(string ZoneID, BaseEntity entity) - Gibt true zurück, wenn sich die Entität in der angegebenen Zone befindet, sonst false.
- (bool) AddPlayerToZoneKeepinlist(string ZoneID, BasePlayer player) - "Inhaftiert" den Spieler in der angegebenen Zone und hindert ihn daran, sie zu verlassen. Wenn der Spieler sich nicht bereits in der Zone befindet, wird er automatisch in die Zone teleportiert.
- Stelle sicher, dass du den Spieler zur Zonen-Whitelist hinzufügst, bevor du ihn in die Zone zwingst, wenn der Flag "eject" auf true gesetzt ist!
- Gibt true zurück, wenn alles wie vorgesehen ablief, oder false, wenn die Zone nicht existiert.
- (bool) RemovePlayerFromZoneKeepinlist(string ZoneID, BasePlayer player) - Erlaubt zuvor "inhaftierten" Spielern, die Zone zu verlassen. Dies wird den Spieler nicht aus der Zone teleportieren.
- Gibt true zurück, wenn alles wie vorgesehen ablief, oder false, wenn die Zone nicht existiert.
- (void) SetZoneStatus(string zoneID, bool active) - Setzt die Zone mit der angegebenen ID auf aktiv oder inaktiv.
- (object) GetZoneRadius(string zoneID) - Gibt den Radius (float) zurück, oder null, wenn die Zone nicht existiert.
- (object) GetZoneSize(string zoneID) - Gibt die Größe (Vector3) zurück, oder null, wenn die Zone nicht existiert.
- (object) GetZoneName(string zoneID) - Gibt den Zonen-Namen (string) zurück, oder null, wenn die Zone nicht existiert.
- (object) CheckZoneID(string zoneID) - Gibt die Zonen-ID (string) zurück, wenn sie existiert, oder null, wenn die Zone nicht existiert.
- (object) GetZoneIDs() - Gibt eine string[] oder Zonen-IDs zurück, oder null, wenn keine Zonen existieren.
- (Vector3) GetZoneLocation(string zoneID) - Gibt die Position der angegebenen Zone zurück, oder Vector3.zero, wenn die Zone nicht existiert.
- (Dictionary<string, string>) ZoneFieldList(string zoneID) - Gibt die Zonendefinition der angegebenen Zone zurück. Dies umfasst alle Felder und Daten, die die Zone ausmachen.
- (bool) HasFlag(string zoneId, string flagString) - Gibt true zurück, wenn die Zone mit der angegebenen ID den angegebenen Flag hat, sonst false.
- (void) AddFlag(string zoneId, string flagString) - Fügt der Zone mit der angegebenen ID den angegebenen Flag hinzu.
- (void) RemoveFlag(string zoneId, string flagString) - Entfernt den angegebenen Flag von der Zone mit der angegebenen ID.
- Deaktivierte Flags sind temporär. Sie bleiben nach einem Reload nicht erhalten.
- (bool) HasDisabledFlag(string zoneId, string flagString) - Gibt true zurück, wenn die Zone mit der angegebenen ID den angegebenen Flag deaktiviert hat, sonst false.
- (void) AddDisabledFlag(string zoneId, string flagString) - Fügt der Zone mit der angegebenen ID den angegebenen deaktivierten Flag hinzu.
- (void) RemoveDisabledFlag(string zoneId, string flagString) - Entfernt den angegebenen deaktivierten Flag von der Zone mit der angegebenen ID.
- (bool) EntityHasFlag(BaseEntity entity, string flagString) - Gibt true zurück, wenn sich die Entität in einer beliebigen Zone mit dem angegebenen Flag befindet, sonst false.
- (bool) PlayerHasFlag(BasePlayer player, string flagString) - Gibt true zurück, wenn sich der Spieler in einer beliebigen Zone mit dem angegebenen Flag befindet, sonst false.
- (string[]) GetPlayerZoneIDs(BasePlayer player) - Gibt eine string[] der IDs der Zonen zurück, in denen sich der angegebene Spieler aktuell befindet, oder null, wenn keine gefunden wurden.
- (string[]) GetEntityZoneIDs(BaseEntity entity) - Gibt eine string[] der IDs der Zonen zurück, in denen sich die angegebene Entität aktuell befindet, oder null, wenn keine gefunden wurden.
Hooks
- void OnEnterZone(string ZoneID, BasePlayer player) - Wird aufgerufen, wenn ein Spieler eine Zone betritt.
- void OnExitZone(string ZoneID, BasePlayer player) - Wird aufgerufen, wenn ein Spieler eine Zone verlässt.
- void OnEntityEnterZone(string ZoneID, BaseEntity entity) - Wird aufgerufen, wenn eine Entität eine Zone betritt.
- void OnEntityExitZone(string ZoneID, BaseEntity entity) - Wird aufgerufen, wenn eine Entität eine Zone verlässt.
Plugin
https://umod.org/plugins/zone-manager
Angaben erfolgen ohne Gewähr auf Vollständigkeit, Richtigkeit und Aktualität.
Original-Tutorial des Plugins Zone Manager von k1lly0u
