Hilfe:Erweiterung »WorldMap«/def-obj

Aus Zelda: Breath of the Wild
Wechseln zu: Navigation, Suche

Wiimm hat eine Mediawiki-Erweiterung namens »WorldMap« für dieses Wiki erstellt. Ein Teil dieser Erweiterung verwaltet Eigenschaften von Objekten mit Standort auf der Karte. Objekte sind u.a. Schreine und Türmeen.

Die Eigenschaften werden mit der Funktion {{#def-obj: ... }} auf einer speziellen Seite festgelegt und können auf anderen Seiten mit {{#get-obj: ... }} abgerufen werden. Die Funktion {{#list-obj: ... }} erstellt eine Liste aller definierten Objekte.


Idee

Mit dem neuen Kartengenerator besteht nun die Möglichkeit, Teil-Karten mit Markierungen in allen Artikeln einzublenden. Nun wäre es schön, wenn man in diesem Teilkarten auf Wunsch auch die Standorte z.B. aller Schreine einblenden könnte. Dazu muss eine Daten-Tabelle für Objekte und Positionen definiert werden. Wäre es nicht praktisch, wenn man allen Wiki-Editoren die Möglichkeit gibt, derartige Listen zu führen und die Daten aus den Listen zu extrahieren?

Genau aus dieser Idee heraus sind die Wiki-Parser-Funktionen #def-obj, #def-obj und #def-obj entstanden.

Parser-Funktion »#def-obj«

Mit der Parser-Funktion »#def-obj« werden Objekte definiert.

Syntax: {{#def-obj: Typ:Name ! Attribut:Wert ... }}
Typ 
Der Objekttyp zum Namen. Es ist ein freier Name, z.B. »Schrein« oder »Turm«.
Name 
Der Eigenname des Objektes, z.B. »Zitadelle der Zeit« .
Attribut=Wert 
Eine Liste von Attributen, die alle durch Ausrufezeichen voneinander getrennt sind.
Attribute
Name Beispiel Bechreibung
region region:Vergessenes Plateaus Hiermit wird das Gebiet, in dem sich das Objekte befindet, festgelegt.
pos pos:R17g Hiermit wird der Standort eines Objektes als Punkt auf der Karte festgelegt.
area area:R17g-r18x Hiermit wird der Bereich eines Gebietes als rechteckiger Ausschnitt der Karte festgelegt. Diese Alternative zu pos wird nur für Gebiete verwendet.
info info:Freier Text. Ein freier Text, der in der Datenbank abgelegt wird um ihn später auf der Karte anzuzeigen. Der Text darf einfache Wiki-Links enthalten.
index index:1 Ist Index gesetzt, dann wird jedem Namen eine Nummer in Klammern angehängt. So wird z.B. aus »Hyrule« in der Datenbank der Name »Hyrule (1)«. Dieses ist wichtig, da in der Objekt-Datenbank nur eindeutige Namen vorkommen können, aber z.B. Schatztruhen keinen Namen besitzen und stattdessen Gebietsnamen zur Identifizierung verwendet werden.

Parser-Funktion »#gef-obj«

Mit der Parser-Funktion »#get-obj« werden Attribute von Objekten abgerufen.

Syntax: 
  {{#get-obj: Typ | Name | Attribut }}
  {{#get-obj: Typ | Name | Attribut | Ersatzwert }}
Typ 
Der Objekttyp zum Namen.
Name 
Der Eigenname des Objektes.
Attribut 
Das Attribut, dessen Wert abgerufen werden soll. Möglich sind: region, pos, area, info
Ersatzwert 
Wert, der zurückgegeben wird, wenn das Objekt nicht gefunden wurde. Ohne Angabe wird ein leerer Text geliefert.

Parser-Funktion »#list-obj«

Mit der Parser-Funktion »#list-obj« wird eine Liste der definierten Objekte erzeugt:

Syntax:
  {{#list-obj:FORMAT | Option1=Wert1 | Option2=Wert2 }}
  {{#list-obj:FORMAT ! Option1:Wert1 ! Option2:Wert2 }}

FORMAT legt das Ausgabeformat fest und die Optionen die Einzelheiten der Ausgabe. Bei einem unbekannten Format wird ein Fragezeichen ausgegeben. Unbekannte Attribute werden stillschweigend ignoriert.

Wichtig ist, dass die einzelnen Attribute durch ein Pipe-Zeichen (»|«) oder durch ein Ausrufezeichen (»!«) voneinander getrennt sind. Beide Zeichen können auch gemischt verwendet werden. Das Ausrufezeichen hat den Vorteil, dass es keine Parameter beim Aufruf von Vorlagen trennt. Anführungszeichen werden nicht benötigt und sollen auch nicht genutzt werden, da alles bis zum nächsten Trennzeichen zum Attribut gehört.

Außerdem kann der Doppelpunkt (»:«) als Alternative zum Gleichheitszeichen (»=«) verwendet werden. Auch dieses vereinfacht die Nutzung mit Vorlagen, bei denen das Gleichheitszeichen eine Sonderbedeutung hat.

Format der Ausgabe

Formate der Ausgabe
Format Beschreibung
table Es werden Tabellen-Zeilen als Wiki-Text ausgeliefert. Mit den Optionen class und region werden die Objekte ausgewählt. Option select legt die Spalten inkl. Reihenfolge fest.

Vorlage:Liste der Objekte nutzt diese Art der Darstellung und erzeugt auch die Tabellen-Umgebung mitsamt Spalten-Köpfen an.

wikilinks Für jedes Objekt wird eine Zeile im Format »* [[NAME]]« ausgegeben. Es wird also eine Liste mit WIki-Links erzeugt. Mit den Optionen class und region werden die Objekte ausgewählt.
count Anstatt die Objekte auszugeben werden sie gezählt und das Ergebnis als unvormatierte Dezimalzahl ausgegeben. Mit den Optionen class und region werden die Objekte ausgewählt.

Optionen

Optionen der Ausgabe
Option Typ Beispiel Beschreibung
class Filter class:Schrein Anstatt alle Objekte anzuzeigen, werden nur Objekte der angegeben Klasse bzw. Gruppe angezeigt.
region Filter region:Hyrule Anstatt alle Objekte anzuzeigen, werden nur Objekte der angegebens Gebietes angezeigt. region kann mit class kombiniert werden, um z.B. alle Schreine eine Gebiets anzuzeigen.
select Format select:Liste Komma-separierte Liste mit den Spalten, die in der Tabelle enthalten sind. Dieses Option ist nur für das Format »table« relevant.
debug Format debug:1 Anstatt der normalen Ausgabe wird eine Text-Ausgabe der übergebeben und erkannten Optionen ausgegeben.

Option »select«

Regeln zur Definition

  • Die neuen Definitionen werden erst mit dem Abspeichern der Seite vollzogen.
  • Beim Abspeichern der Seite werden alle Objekte des selben Typs gelöscht. So bleiben nur die neu definierten Objekte erhalten. Das bedeutet auch, dass man Objekte eines Typs nicht auf mehreren verschiedenen Seiten definieren kann.
  • Auf einer Seite können mehrere Objekttypen definiert werden.
  • Manche Objekttypen sind intern geschützt, so dass sie nur von einer genau festgelegten Seite definiert werden können. Dieser Schutz wird immer dann eingerichtet, wenn die Seite für die Definitionen feststeht.
  • Für den Abruf der Daten gibt es keine Einschränkungen.

Bisherige Listen mit Objekt-Definitionen

Die folgende Liste zeigt alle Listen von Definitionen. Die Verwaltung geschieht üblicherweise über eine Vorlage (z.B. Vorlage:Def-Schrein), die dann die Definition durchführt und gleichzeitig einen Tabellen-Eintrag für die optische Anzeige der aufrufenden Seite erzeugt.

Der aktuelle Stand der internen Objekt-Datenbank kann durch die »Liste der Objekte« abgerufen werden.