Kategorien
Vorlage:Item/Layout/Werkstatt: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Bwoebi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
SniGG (Diskussion | Beiträge) (-VB) |
||
(11 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{#vardefine:werkstatt_kosten|{{#if:{{#regex:{{:Werkstatt/Rezepte}}|%\{{!}}- | {{#vardefine:itemname|{{{1|{{PAGENAME}}}}}}}<!-- | ||
\{{!}}[\x5B]{2}{{ | |||
\{{!}}[\ | PRODUKTIONSKOSTEN | ||
\{{!}}[^ | |||
]+? | -->{{#vardefine:werkstatt_kosten|<!-- | ||
\{{!}}\d+ | Überprüfe, ob überhaupt existent, wenn nein, leer lassen | ||
\{{!}}\d+ | |||
\{{!}}\d+%}}|%\{{!}}- | Existenzbedingung: | ||
\{{!}}[\x5B]{2}{{ | |- | ||
\{{!}}([^ | |[[{{#var:itemname}}]] | ||
]+?) | |||
\{{!}}(\d+) | -->{{#if:{{#regex:{{:Werkstatt/Rezepte}}|%\{{!}}- | ||
\{{!}}(\d+) | \{{!}}[\x5B]{2}{{#var:itemname}}[\x5D]{2}%}}|<!-- | ||
\{{!}}(\d+)%|$1, $2 [[Ölfass{{!}}Ölfässer]], $3 [[Larinit]]}}|%(, 0 [\x5B]{2}(Ölfass\{{!}}Ölfässer{{!}}Larinit)[\x5D]{2})%|}}|%, 1 [\x5B]{2}Ölfass\{{!}}Ölfässer[\x5D]{2}%|, 1 [[Ölfass]]}}|%([0-9])x%|$1}}|%, %| | |||
**}}}}}}<!-- | Ist existent: | ||
-->{{#vardefine:werkstatt_produkt|{{#if:{{#regex:{{:Werkstatt/Rezepte}}|%\{{!}}- | |||
\{{!}}[^ | -->{{#regex:<!-- | ||
]+? | |||
\{{!}}[^ | -->{{#regex:<!-- | ||
]+?[\x5B]{2}{{ | |||
\{{!}}[^ | -->{{#regex:<!-- | ||
]+? | |||
\{{!}}[^ | -->{{#regex:<!-- | ||
]+?[\x5B]{2}{{ | |||
\{{!}}[^ | -->{{#regex:<!-- | ||
]+? | |||
\{{!}}[^ | -->{{#regex:<!-- | ||
]+?[\x5B]{2}[^\x5D]+[\x5D]{2}) | |||
\{{!}}(\d+) | -->{{#regex:<!-- | ||
\{{!}}(\d+) | |||
\{{!}}(\d+)%|}}| | -->{{#regex:<!-- | ||
\{{!}}([\x5B]{2}[^\x5D]+[\x5D]{2}) | |||
\{{!}}[^ | -->{{#regex:<!-- | ||
]+? | |||
\{{!}}\d+ | Filtere zuerst Header und Footer heraus, d.h. | ||
\{{!}}\d+ | |||
\{{!}}\d+%|, $1}}|%(\{{!}}[-} ])%|}}|% | {|... | ||
!... | |||
**}}}}}}<noinclude>{{Dokumentation}}</noinclude> | |} | ||
-->{{:Werkstatt/Rezepte}}|<!-- | |||
-->%((\{{!}}}{{!}}{\{{!}}{{!}}!)[^\n]+)%<!-- | |||
und ersetze das durch nichts (Überflüssiges ist unbrauchbar) | |||
-->|<!-- | |||
-->}}|<!-- | |||
Filtere das Vorkommen heraus indem alles andere entfernt wird: | |||
Filter: | |||
|- | |||
|[[{{#var:itemname}}]] | |||
|(Eine Zeile Items) | |||
|(Ölfässer) | |||
|(Larinit) | |||
|(Produktionsdauer) | |||
-->%(\{{!}}- | |||
<!-- -->\{{!}}[\x5B]{2}(?!{{#var:itemname}})[^\x5D]+[\x5D]{2} | |||
<!-- -->\{{!}}[^\n]+? | |||
<!-- -->\{{!}}\d+ | |||
<!-- -->\{{!}}\d+ | |||
<!-- -->\{{!}}\d+)%<!-- | |||
-->|<!-- | |||
-->}}|<!-- | |||
Parse die einzelnen Werte | |||
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) | |||
-->\\\\, $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 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) | |||
-->%, %<!-- | |||
-->|<!-- | |||
Und ersetze durch eine neue Zeile, angeführt von 2 Sternchen (Einrückung) | |||
--> | |||
**<!-- | |||
-->}}<!-- | |||
Schließende Klammern vom #if und dem #vardefine ganz am Anfang: | |||
-->}}<!-- | |||
-->}}<!-- | |||
IST ZUTAT FÜR FOLGENDE PRODUKTE: | |||
-->{{#vardefine:werkstatt_produkt|<!-- | |||
Existenzbedingung: | |||
|- | |||
|... | |||
|...[[{{#var:itemname}}]] | |||
-->{{#if:{{#regex:{{:Werkstatt/Rezepte}}|%\{{!}}- | |||
\{{!}}[^\n]+? | |||
\{{!}}[^\n]+?[\x5B]{2}{{#var:itemname}}[\x5D]{2}%}}|<!-- | |||
Ist existent: | |||
-->{{#regex:<!-- | |||
-->{{#regex:<!-- | |||
-->{{#regex:<!-- | |||
-->{{#regex:<!-- | |||
-->{{#regex:<!-- | |||
-->{{#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