News (06 Aug 2024): Das Wiki läuft jetzt auf einem neuen Server. Aufgrund eines Upgrades von PHP mussten die Wiki-Software und die DPL-Erweiterung aktualisiert werden. Bitte meldet Fehler auf der Hauptseiten-Diskussion.

Benutzer:Sammy/Sandkasten/3: Unterschied zwischen den Versionen

Aus GuildWiki
Zur Navigation springenZur Suche springen
(Kartenbeschreibung nicht mehr zwingend zu setzen)
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<includeonly>
<includeonly>
{{#if: {{{datum}}}
{{#if: {{{optionen|}}} |
| {{#switch: {{{angabe}}}
| {{#ifexpr: {{#if: {{{datum|}}} | 1 | 0}} = 0 or {{#ifeq: {{{datum|}}} | aktuell | 0 | 1}} = 0
    | #default = PARAMETERFEHLER: "angabe" ENTHÄLT UNGÜLTIGEN WERT
     | {{{{PAGENAME}}|datum={{{{PAGENAME}}|optionen=aktuellermontag}}|angabe={{{angabe|}}}}}
    | Gegenstand = {{{{PAGENAME}}|datum={{{datum}}}|angabe=gegenstand}}
    | {{#switch: {{{angabe|}}}
     | Menge
        | #default = PARAMETERFEHLER: "angabe" ENTHÄLT UNGÜLTIGEN WERT
    | Anzahl
        | anzahl = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=menge}}
    | anzahl = {{{{PAGENAME}}|datum={{{datum}}}|angabe=menge}}
        | karten-name = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenname}}
    | Dialog = {{{{PAGENAME}}|datum={{{datum}}}|angabe=dialog}}
        | karten-beschreibung = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenbeschreibung}}
    | Kartenname
    | Karten-Name
    | karten-name = {{{{PAGENAME}}|datum={{{datum}}}|angabe=kartenname}}
    | Gebietsname = {{{{PAGENAME}}|datum={{{datum}}}|angabe=gebietsname}}
    | Kartenbeschreibung
    | Karten-Beschreibung
    | karten-beschreibung = {{{{PAGENAME}}|datum={{{datum}}}|angabe=kartenbeschreibung}}


    | plural =
        | plural =
        {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=plural}}
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
         | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=plural}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
         | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=gegenstand}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gegenstand}}
            }}
         | kartenbeschreibung =
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gebietsname}}
            }}
         | extkartenbeschreibung =
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            }}
        | gegenstand
        | menge
        | dialog
        | kartenname
        | gebietsname =
            {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe={{{angabe|}}}}}
         }}
         }}
    | kartenbeschreibung =
        {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=kartenbeschreibung}}
        | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=kartenbeschreibung}}
        | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=gebietsname}}
    | gegenstand
    | menge
    | dialog
    | kartenname
    | gebietsname =
        {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe={{{angabe}}}}}
     }}
     }}
}}
}}
| {{#switch: {{{datum}}}
{{#if: {{{optionen|}}}
     | current =
| {{#switch: {{{optionen|}}}
     | aktuellermontag =
         {{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}}
         {{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}}
         | 0 = {{{{PAGENAME}}|datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}}|angabe={{{angabe}}}}}
         | 0 = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}}
         | 1 =  
         | 1 =  
             {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15
             {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15
             | {{{{PAGENAME}}|datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}}}}|angabe={{{angabe}}}}}
             | {{#time: d.m.Y | {{CURRENTTIMESTAMP}}}}
             | {{{{PAGENAME}}|datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}}|angabe={{{angabe}}}
             | {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}}
             }}
             }}
        | #default = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days  ago}}
         }}
         }}
    | #default = {{{{PAGENAME}}|datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days  ago}}|angabe={{{angabe}}}}}
     }}
     }}
}}</includeonly><noinclude>---------------------------------------
}}
</includeonly>
 
 
<noinclude>---------------------------------------
 
 
 
Diese Vorlage ist gedacht zur Vorschaltung vor die Nicholas-Datenbank, momentan untergebracht in [[Benutzer:Sammy/Sandkasten/2]].<br>
Übergeben werden können folgende Parameter:
* <code>optionen=</code>
:# <code>aktuellermontag</code><br>Gibt den aktuellen Nicholas-Montag in der Form dd.mm.yyyy zurück. Alle anderen Parameter werden ignoriert.
* <code>datum=</code>
:# <code>dd.mm.yyyy</code><br>Das Datum eines Nicholas-Standortwechsel-Tages in der Form dd.mm.yyyy.
:# <code>current</code><br>Ist gleichbedeutend mit dem Datum des aktuellen Nicholas-Montages.
:# ''Parameter ungesetzt''<br>Wenn der Parameter leergelassen oder erst gar nicht gesetzt wird, ist dies gleichbedeutend mit dem Wert "current".
* <code>angabe=</code>
:# <code>gegenstand</code> - Der Name des gesammelten Gegenstandes im Singular.
:# <code>plural</code> - [''optional''] Der Name des gesammelten Gegenstandes im Plural. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von <code>gegenstand</code> genommen.)
:# <code>menge</code> - Die Anzahl Gegenstände, die zum Eintauschen eines Geschenkes benötigt werden.
:# <code>anzahl</code> - Gleichbedeutend mit <code>menge</code>.
:# <code>dialog</code> - Nicholas' Dialog.
:# <code>kartenname</code> - Der Name der Bilddatei, welche die Karte und den Weg zu Nicholas darstellt.
:# <code>karten-name</code> - Gleichbedeutend mit <code>kartenname</code>.
:# <code>gebietsname</code> - Der Name des Artikels des Gebietes, in welchem Nicholas steht.
:# <code>kartenbeschreibung</code> - [''optional''] Ein Alternativtext für den Titel des Gebietes im Gebietslink. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von <code>gebietsname</code> genommen.)
:# <code>extkartenbeschreibung</code> - [''optional''] Ein Alternativtext für die Beschreibung der Karte, anstatt von <code>kartenbeschreibung</code>. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von <code>kartenbeschreibung</code> genommen.)


Diese Vorlage berechnet das Datum des aktuellen Gegenstands, den Nicholas der Reisende sammelt.<br>
Erklärung des Codes:
Erklärung des Codes:
  <nowiki>
  <nowiki>
{{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}} // Abfrage des aktuellen Wochentages (Sonntag = 0)
{{#if: {{{optionen|}}} |                                  // Sind Optionsparameter übergeben worden?
| 0 =                                         // Sonntag
|                                                        // Wenn nein:
     {{Benutzer:Sammy/Sandkasten/2             // --> Aufruf der Nicholas-Speicherseite
    {{#ifexpr:                                            // Wenn Parameter "datum" nicht gesetzt ist oder den Wert "aktuell" hat:
        |datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}} // --> mit Datum von vor 6 Tagen
        {{#if: {{{datum|}}} | 1 | 0}} = 0
         |angabe={{{angabe}}}}}                 // --> und Durchreichung des "angabe"-Parameters
        or {{#ifeq: {{{datum|}}} | aktuell | 0 | 1}} = 0
| 1 =                                         // Montag
                                                          // Rufe dich selbst auf mit dem aktuellen Montag (ermittelt über Selbst-
    {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15 // --> Ist es bereits nach 15 Uhr (UTC)?
                                                          //    aufruf mit Parameter "optionen=aktuellermontag") als Datum
    | {{Benutzer:Sammy/Sandkasten/2           // -->--> WENN JA: Aufruf der Nicholas-Speicherseite
    | {{{{PAGENAME}}|datum={{{{PAGENAME}}|optionen=aktuellermontag}}|angabe={{{angabe|}}}}}
         |datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}}}} // -->--> mit heutigem Datum
                                                          // Wenn das Datum feststeht:
         |angabe={{{angabe}}}}}                // -->--> und Durchreichung des "angabe"-Parameters
    | {{#switch: {{{angabe|}}}                            // Überprüfe Parameter "angabe" auf Wertegültigkeit:
    | {{Benutzer:Sammy/Sandkasten/2           // -->--> WENN NEIN: Aufruf der Nicholas-Speicherseite
        | #default = PARAMETERFEHLER: "angabe" ENTHÄLT UNGÜLTIGEN WERT // Parameter "angabe" hat keinen vorgesehenen Wert
        |datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}} // -->--> mit Datum von vor einer Woche
                                                          // Alternative Parameternamen
         |angabe={{{angabe}}}}}                 // -->--> und Durchreichung des "angabe"-Parameters
        | anzahl = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=menge}}
        | karten-name = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenname}}
        | karten-beschreibung = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenbeschreibung}}
                                                          // Wenn "plural" beim entsprechenden Eintrag nicht gesetzt ist, nimm
        | plural =                                        //     "gegenstand".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gegenstand}}
            }}
                                                          // Wenn "kartenbeschreibung" beim entsprechenden Eintrag nicht gesetzt
         | kartenbeschreibung =                            //    ist, nimm "gebietsname".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gebietsname}}
            }}
                                                          // Wenn "extkartenbeschreibung" beim entsprechenden Eintrag nicht gesetzt
        | extkartenbeschreibung =                         //     ist, nimm "kartenbeschreibung".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            }}
        | gegenstand                                      // Gültige Werte, die einfach durchgereicht werden.
        | menge
        | dialog
        | kartenname
        | gebietsname =
            {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe={{{angabe|}}}}}
        }}
    }}
}}
{{#if: {{{optionen|}}}                                    // Sind Optionsparameter übergeben worden?
| {{#switch: {{{optionen|}}}                              // Wenn ja: Überprüfe Parameter "optionen".
    | aktuellermontag =                                  // Wenn "optionen=aktuellermontag" gib aktuellen Nicholas-Montag zurück.
        {{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}}    // Überprüfung von Wochentag als numerischer Wert (Sonntag = 0):
         | 0 = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}} // Sonntag (0)
         | 1 =                                                   // Montag (1)
            {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15 // Wenn es nach 15 Uhr (UTC) ist -
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}}}}           // dann nimm heute,
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}} // ansonsten den Montag vor einer Woche.
            }}
                                                                // Für alle übrigen Tage: Nimm einfach den letzten Montag.
         | #default = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days  ago}}
        }}
     }}
     }}
| #default =                                  // Alle anderen Wochentage
    {{Benutzer:Sammy/Sandkasten/2              // --> Aufruf der Nicholas-Speicherseite
        |datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days ago}}
                                              // --> mit Datum von letztem Montag
        |angabe={{{angabe}}}}}                // --> und Durchreichung des "angabe"-Parameters
}}
}}
</nowiki>
</nowiki>
</noinclude>
</noinclude>

Aktuelle Version vom 6. Januar 2010, 23:34 Uhr




Diese Vorlage ist gedacht zur Vorschaltung vor die Nicholas-Datenbank, momentan untergebracht in Benutzer:Sammy/Sandkasten/2.
Übergeben werden können folgende Parameter:

  • optionen=
  1. aktuellermontag
    Gibt den aktuellen Nicholas-Montag in der Form dd.mm.yyyy zurück. Alle anderen Parameter werden ignoriert.
  • datum=
  1. dd.mm.yyyy
    Das Datum eines Nicholas-Standortwechsel-Tages in der Form dd.mm.yyyy.
  2. current
    Ist gleichbedeutend mit dem Datum des aktuellen Nicholas-Montages.
  3. Parameter ungesetzt
    Wenn der Parameter leergelassen oder erst gar nicht gesetzt wird, ist dies gleichbedeutend mit dem Wert "current".
  • angabe=
  1. gegenstand - Der Name des gesammelten Gegenstandes im Singular.
  2. plural - [optional] Der Name des gesammelten Gegenstandes im Plural. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von gegenstand genommen.)
  3. menge - Die Anzahl Gegenstände, die zum Eintauschen eines Geschenkes benötigt werden.
  4. anzahl - Gleichbedeutend mit menge.
  5. dialog - Nicholas' Dialog.
  6. kartenname - Der Name der Bilddatei, welche die Karte und den Weg zu Nicholas darstellt.
  7. karten-name - Gleichbedeutend mit kartenname.
  8. gebietsname - Der Name des Artikels des Gebietes, in welchem Nicholas steht.
  9. kartenbeschreibung - [optional] Ein Alternativtext für den Titel des Gebietes im Gebietslink. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von gebietsname genommen.)
  10. extkartenbeschreibung - [optional] Ein Alternativtext für die Beschreibung der Karte, anstatt von kartenbeschreibung. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von kartenbeschreibung genommen.)

Erklärung des Codes:

{{#if: {{{optionen|}}} |                                  // Sind Optionsparameter übergeben worden?
|                                                         // Wenn nein:
    {{#ifexpr:                                            // Wenn Parameter "datum" nicht gesetzt ist oder den Wert "aktuell" hat:
        {{#if: {{{datum|}}} | 1 | 0}} = 0
        or {{#ifeq: {{{datum|}}} | aktuell | 0 | 1}} = 0
                                                          // Rufe dich selbst auf mit dem aktuellen Montag (ermittelt über Selbst-
                                                          //     aufruf mit Parameter "optionen=aktuellermontag") als Datum
    | {{{{PAGENAME}}|datum={{{{PAGENAME}}|optionen=aktuellermontag}}|angabe={{{angabe|}}}}}
                                                          // Wenn das Datum feststeht:
    | {{#switch: {{{angabe|}}}                            // Überprüfe Parameter "angabe" auf Wertegültigkeit:
        | #default = PARAMETERFEHLER: "angabe" ENTHÄLT UNGÜLTIGEN WERT // Parameter "angabe" hat keinen vorgesehenen Wert
                                                          // Alternative Parameternamen
        | anzahl = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=menge}}
        | karten-name = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenname}}
        | karten-beschreibung = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenbeschreibung}}
                                                          // Wenn "plural" beim entsprechenden Eintrag nicht gesetzt ist, nimm
        | plural =                                        //     "gegenstand".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gegenstand}}
            }}
                                                          // Wenn "kartenbeschreibung" beim entsprechenden Eintrag nicht gesetzt
        | kartenbeschreibung =                            //     ist, nimm "gebietsname".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gebietsname}}
            }}
                                                          // Wenn "extkartenbeschreibung" beim entsprechenden Eintrag nicht gesetzt
        | extkartenbeschreibung =                         //     ist, nimm "kartenbeschreibung".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            }}
        | gegenstand                                      // Gültige Werte, die einfach durchgereicht werden.
        | menge
        | dialog
        | kartenname
        | gebietsname =
            {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe={{{angabe|}}}}}
        }}
    }}
}}
{{#if: {{{optionen|}}}                                    // Sind Optionsparameter übergeben worden?
| {{#switch: {{{optionen|}}}                              // Wenn ja: Überprüfe Parameter "optionen".
    | aktuellermontag =                                   // Wenn "optionen=aktuellermontag" gib aktuellen Nicholas-Montag zurück.
        {{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}}    // Überprüfung von Wochentag als numerischer Wert (Sonntag = 0):
        | 0 = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}} // Sonntag (0)
        | 1 =                                                    // Montag (1)
            {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15 // Wenn es nach 15 Uhr (UTC) ist -
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}}}}            // dann nimm heute,
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}} // ansonsten den Montag vor einer Woche.
            }}
                                                                 // Für alle übrigen Tage: Nimm einfach den letzten Montag.
        | #default = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days  ago}}
        }}
    }}
}}