Kategorien
Vorlage:Item/Layout/Werkstatt: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Bwoebi (Diskussion | Beiträge) (Part 1 leserlicher gemacht & kommentiert) |
SniGG (Diskussion | Beiträge) (-VB) |
||
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 12: | Zeile 12: | ||
-->{{#if:{{#regex:{{:Werkstatt/Rezepte}}|%\{{!}}- | -->{{#if:{{#regex:{{:Werkstatt/Rezepte}}|%\{{!}}- | ||
\{{!}}[\x5B]{2}{{#var:itemname}}[\x5D]{2}%}}|<!-- | \{{!}}[\x5B]{2}{{#var:itemname}}[\x5D]{2}%}}|<!-- | ||
Ist existent: | Ist existent: | ||
-->{{#regex: | -->{{#regex:<!-- | ||
-->{{#regex:<!-- | -->{{#regex:<!-- | ||
Zeile 26: | Zeile 27: | ||
-->{{#regex:<!-- | -->{{#regex:<!-- | ||
Filtere das Vorkommen heraus: | -->{{#regex:<!-- | ||
-->{{#regex:<!-- | |||
-->{{#regex:<!-- | |||
Filtere zuerst Header und Footer heraus, d.h. | |||
{|... | |||
!... | |||
|} | |||
-->{{:Werkstatt/Rezepte}}|<!-- | |||
-->%((\{{!}}}{{!}}{\{{!}}{{!}}!)[^\n]+)%<!-- | |||
und ersetze das durch nichts (Überflüssiges ist unbrauchbar) | |||
-->|<!-- | |||
-->}}|<!-- | |||
Filtere das Vorkommen heraus indem alles andere entfernt wird: | |||
Filter: | Filter: | ||
|- | |- | ||
|[[{{#var:itemname}} | |[[{{#var:itemname}}]] | ||
|(Eine Zeile Items) | |(Eine Zeile Items) | ||
|(Ölfässer) | |(Ölfässer) | ||
Zeile 36: | Zeile 57: | ||
|(Produktionsdauer) | |(Produktionsdauer) | ||
-->%(\{{!}}- | |||
<!-- -->\{{!}}[\x5B]{2}(?!{{#var:itemname}})[^\x5D]+[\x5D]{2} | |||
<!-- | <!-- -->\{{!}}[^\n]+? | ||
<!-- | <!-- -->\{{!}}\d+ | ||
<!-- -->\{{!}}\d+ | |||
<!-- | <!-- -->\{{!}}\d+)%<!-- | ||
<!-- | -->|<!-- | ||
<!-- | -->}}|<!-- | ||
Parse die einzelnen Werte | Parse die einzelnen Werte | ||
Zeile 50: | Zeile 70: | ||
Selber Filter wie davor, jetzt nur eben ersetzen | Selber Filter wie davor, jetzt nur eben ersetzen | ||
-->%\{{!}}- | |||
<!-- | <!-- -->\{{!}}[\x5B]{2}{{#var:itemname}}[\x5D]{2} | ||
<!-- | <!-- -->\{{!}}([^\n]+?) | ||
<!-- -->\{{!}}(\d+) | |||
<!-- | <!-- -->\{{!}}(\d+) | ||
<!-- | <!-- -->\{{!}}(\d+)%<!-- | ||
<!-- | -->|<!-- | ||
Schreibe die Zutaten in einen String (mit Nullen und so weiter) | Schreibe die Zutaten in einen String (mit Nullen und so weiter) | ||
-->\\\\, $1, $2 [[Ölfass{{!}}Ölfässer]], $3 [[Larinit]]<!-- | |||
-->}}|<!-- | |||
Streiche die Nullen | |||
-->%(, 0 [\x5B]{2}(Ölfass\{{!}}Ölfässer{{!}}Larinit)[\x5D]{2})%<!-- | |||
-->|<!-- | |||
Ersetze alle "0 Ölfässer" bzw. "0 Larinit" durch nichts | |||
-->}}|<!-- | |||
Entferne die das Plural bei nur einem Ölfass | |||
-->%, 1 [\x5B]{2}Ölfass\{{!}}Ölfässer[\x5D]{2}%|<!-- | |||
Aus 1 Ölfässer mache 1 Ölfass | |||
-->, 1 [[Ölfass]]<!-- | |||
-->}}|<!-- | -->}}|<!-- | ||
Ersetze (z.B.) 1x [[Reparatur-Zange]] | |||
-->%( | -->%([0-9])x%<!-- | ||
-->|<!-- | -->|<!-- | ||
durch 1 [[Reparatur-Zange]] | |||
-->$1<!-- | |||
-->}}|<!-- | -->}}|<!-- | ||
Ersetze die \\ (am Anfang noch Pseudotrennzeichen) | |||
-->%(?!^\\\\)\\\\%<!-- | |||
-->|<!-- | |||
durch ein ''oder'' für weitere Optionen | |||
--> | --><br /><span style="margin-left: -25px;">''oder''</span><!-- | ||
-->}}|<!-- | -->}}|<!-- | ||
Ersetze ( | Ersetze sämtliche überflüssigen Zeichen (und Zeilen: | ||
|... | |||
\n (Zeilenumbruch) | |||
\\ (temporäres Zeichen zum Trennen verschiedener Herstellungsmethoden) | |||
-->%([ | -->%(\n\{{!}}[^\n]+{{!}}\n{{!}}\\\\)%<!-- | ||
--> | -->|<!-- | ||
-->}}|<!-- | -->}}|<!-- | ||
Entferne die Kommas (nötig um den Anfang einer Zutatenliste zu markieren) | Entferne die Kommas (nötig um den Anfang einer Zutatenliste zu markieren) | ||
-->%, %<!-- | |||
-->|<!-- | |||
Und ersetze durch eine neue Zeile, angeführt von 2 Sternchen | Und ersetze durch eine neue Zeile, angeführt von 2 Sternchen (Einrückung) | ||
--> | --> | ||
Zeile 98: | Zeile 145: | ||
-->}}<!-- | -->}}<!-- | ||
-->}}<!-- | -->}}<!-- | ||
IST ZUTAT FÜR FOLGENDE PRODUKTE: | IST ZUTAT FÜR FOLGENDE PRODUKTE: | ||
-->{{#vardefine:werkstatt_produkt|{{#if:{{#regex:{{:Werkstatt/Rezepte}}|%\{{!}}- | -->{{#vardefine:werkstatt_produkt|<!-- | ||
\{{!}}[^ | |||
]+? | Existenzbedingung: | ||
\{{!}}[^ | |- | ||
]+?[\x5B]{2}{{#var:itemname}}[\x5D]{2}%}}| | |... | ||
\{{!}}[^ | |...[[{{#var:itemname}}]] | ||
]+? | |||
\{{!}}[^ | -->{{#if:{{#regex:{{:Werkstatt/Rezepte}}|%\{{!}}- | ||
]+?[\x5B]{2}{{#var:itemname}}[\x5D]{2})(\{{!}}- | \{{!}}[^\n]+? | ||
\{{!}}[^ | \{{!}}[^\n]+?[\x5B]{2}{{#var:itemname}}[\x5D]{2}%}}|<!-- | ||
]+? | |||
\{{!}}[^ | Ist existent: | ||
]+?[\x5B]{2}[^\x5D]+[\x5D]{2}) | |||
\{{!}}(\d+) | -->{{#regex:<!-- | ||
\{{!}}(\d+) | |||
\{{!}}(\d+)%|}}| | -->{{#regex:<!-- | ||
\{{!}}([\x5B]{2}[^\x5D]+[\x5D]{2}) | |||
\{{!}}[^ | -->{{#regex:<!-- | ||
]+? | |||
\{{!}}\d+ | -->{{#regex:<!-- | ||
\{{!}}\d+ | |||
\{{!}}\d+%|, $1}}|%(\{{!}}[-} ])%|}}|% | -->{{#regex:<!-- | ||
**}}}}}}<noinclude> | -->{{#regex:<!-- | ||
Filtere zuerst Header und Footer heraus, d.h. | |||
{|... | |||
!... | |||
|} | |||
-->{{:Werkstatt/Rezepte}}|<!-- | |||
-->%((\{{!}}}{{!}}{\{{!}}{{!}}!)[^\n]+)%<!-- | |||
und ersetze das durch nichts (Überflüssiges ist unbrauchbar) | |||
-->|<!-- | |||
-->}}|<!-- | |||
Filtere alle Zeilen die NICHT dem Muster | |||
|- | |||
|... | |||
|...[[{{#var:itemname}}]] | |||
entsprechen | |||
-->%(?!\{{!}}- | |||
<!-- -->\{{!}}[^\n]+? | |||
<!-- -->\{{!}}[^\n]+?[\x5B]{2}{{#var:itemname}}[\x5D]{2})<!-- | |||
-->(\{{!}}- | |||
<!-- -->\{{!}}[^\n]+? | |||
<!-- -->\{{!}}[^\n]+?[\x5B]{2}[^\x5D]+[\x5D]{2}) | |||
<!-- -->\{{!}}(\d+) | |||
<!-- -->\{{!}}(\d+) | |||
<!-- -->\{{!}}(\d+)%<!-- | |||
-->|<!-- | |||
heraus und ersetze durch nichts | |||
-->}}|<!-- | |||
Filtere die Itemnamen heraus nach dem Muster | |||
|- | |||
|[[''Itemname'']] | |||
|... | |||
|... | |||
|... | |||
|... | |||
-->%\{{!}}- | |||
<!-- -->\{{!}}([\x5B]{2}[^\x5D]+[\x5D]{2}) | |||
<!-- -->\{{!}}[^\n]+? | |||
<!-- -->\{{!}}\d+ | |||
<!-- -->\{{!}}\d+ | |||
<!-- -->\{{!}}\d+%<!-- | |||
-->|<!-- | |||
und schreibe diesen in einen kommapräfixierten und -separierten String | |||
-->, $1<!-- | |||
-->}}|<!-- | |||
Entferne alle noch übrig gebliebene |- und |} | |||
-->%(\{{!}}[-} ])%<!-- | |||
-->|<!-- | |||
(Ersetze durch nichts) | |||
-->}}|<!-- | |||
Entferne alle Zeilenumbrüche | |||
-->%\n%<!-- | |||
-->|<!-- | |||
(Ersetze durch nichts) | |||
-->}}|<!-- | |||
Entferne die trennenden Kommas | |||
-->%(, )%<!-- | |||
-->|<!-- | |||
Und ersetze durch eine neue Zeile, angeführt von 2 Sternchen (Einrückung) | |||
--> | |||
**<!-- | |||
-->}}<!-- | |||
Schließende Klammern vom #if und dem #vardefine ganz am Anfang: | |||
-->}}<!-- | |||
-->}}<!-- | |||
--><noinclude>{{Dokumentation}}</noinclude> |
Aktuelle Version vom 27. September 2013, 19:00 Uhr
[Bearbeiten] Dokumentation
Diese Vorlage schreibt in eine Variable sämtliche Kosten, die zur Herstellung eines Items benötigt werden. Die Daten stammen dabei aus dem Artikel Werkstatt/Rezepte.
Verwendung[Bearbeiten]
Diese Vorlage wird mit {{Item/Layout/Werkstatt|1}} eingebunden.
Die Kosten werden mit {{#var:werkstatt_kosten}} ausgegeben.
Parameter[Bearbeiten]
- 1: Der Name des Items. Optional, Standard: Seitenname