Vorlage:NUMBEROFCARDS: Unterschied zwischen den Versionen
WiMu (Diskussion | Beiträge) K |
WiMu (Diskussion | Beiträge) K (*daumendrück*) |
||
Zeile 1: | Zeile 1: | ||
− | {{#expr:{{#dpl: | + | <!-- |
− | + | -- Erstmal die Teilstring für das includematch definieren | |
+ | -- | ||
+ | -->{{#vardefine:nr|{{#if:{{{nr|}}}|.*\¦\s*nr\s*=\s*{{{nr}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:typ|{{#if:{{{typ|}}}|.*\¦\s*typ\s*=\s*{{{typ|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:hk|{{#if:{{{hk|}}}|.*\¦\s*hk\s*=\s*{{{hk|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:name|{{#if:{{{name|}}}|.*\¦\s*name\s*=\s*{{{name|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:bild|{{#if:{{{bild|}}}|.*\¦\s*bild\s*=\s*{{{bild|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:ap|{{#if:{{{ap|}}}|.*\¦\s*ap\s*=\s*{{{ap|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:dp|{{#if:{{{dp|}}}|.*\¦\s*dp\s*=\s*{{{dp|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:lp|{{#if:{{{lp|}}}|.*\¦\s*lp\s*=\s*{{{lp|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:d|{{#if:{{{d|}}}|.*\¦\s*d\s*=\s*{{{d|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:klasse|{{#if:{{{klasse|}}}|.*\¦\s*klasse\s*=\s*{{{klasse|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:rasse|{{#if:{{{rasse|}}}|.*\¦\s*rasse\s*=\s*{{{rasse|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:abwehr|{{#if:{{{abwehr|}}}|.*\¦\s*abwehr\s*=\s*{{{abwehr|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:text|{{#if:{{{text|}}}|.*\¦\s*text\s*=\s*{{{text|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:handicap|{{#if:{{{handicap|}}}|.*\¦\s*handicap\s*=\s*{{{handicap|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:autor|{{#if:{{{autor|}}}|.*\¦\s*autor\s*=\s*{{{autor|}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:datum|{{#if:{{{datum|}}}|.*\¦\s*datum\s*=\s*{{{datum|}}}\s*\}}}}<!-- | ||
+ | -- | ||
+ | -- Nun den string zusammensetzen | ||
+ | -- | ||
+ | -->{{#vardefine:includematch|/{{#var:typ}}{{#var:hk}}{{#var:name}}{{#var:bild}}{{#var:ap}}{{#var:dp}}{{#var:lp}}{{#var:d}}{{#var:klasse}}{{#var:rasse}}{{#var:angriff}}{{#var:abwehr}}{{#var:text}}{{#var:handicap}}{{#var:autor}}{{#var:datum}}n/}}<!-- | ||
+ | -- | ||
+ | -- | ||
+ | -- Jetzt das Ganze für includenotmatch | ||
+ | -- | ||
+ | -->{{#vardefine:nr!|{{#if:{{{nr!|{{{nr !|}}}}}}|.*\¦\s*nr\s*=\s*{{{nr!|{{{nr !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:typ!|{{#if:{{{typ!|{{{typ !|}}}}}}|.*\¦\s*typ\s*=\s*{{{typ!|{{{typ !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:hk!|{{#if:{{{hk!|{{{hk !|}}}}}}|.*\¦\s*hk\s*=\s*{{{hk!|{{{hk !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:name!|{{#if:{{{name!|{{{name !|}}}}}}|.*\¦\s*name\s*=\s*{{{name!|{{{name !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:bild!|{{#if:{{{bild!|{{{bild !|}}}}}}|.*\¦\s*bild\s*=\s*{{{bild!|{{{bild !|}}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:ap!|{{#if:{{{ap!|{{{ap !|}}}}}}|.*\¦\s*ap\s*=\s*{{{ap!|{{{ap !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:dp!|{{#if:{{{dp!|{{{dp !|}}}}}}|.*\¦\s*dp\s*=\s*{{{dp!|{{{dp !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:lp!|{{#if:{{{lp!|{{{lp !|}}}}}}|.*\¦\s*lp\s*=\s*{{{lp!|{{{lp !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:d!|{{#if:{{{d!|{{{d !|}}}}}}|.*\¦\s*d\s*=\s*{{{d!|{{{d !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:klasse!|{{#if:{{{klasse!|{{{klasse !|}}}}}}|.*\¦\s*klasse\s*=\s*{{{klasse!|{{{klasse !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:rasse!|{{#if:{{{rasse!|{{{rasse !|}}}}}}|.*\¦\s*rasse\s*=\s*{{{rasse!|{{{rasse !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:abwehr!|{{#if:{{{abwehr!|{{{abwehr !|}}}}}}|.*\¦\s*abwehr\s*=\s*{{{abwehr!|{{{abwehr !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:text!|{{#if:{{{text!|{{{text !|}}}}}}|.*\¦\s*text\s*=\s*{{{text!|{{{text !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:handicap!|{{#if:{{{handicap!|{{{handicap !|}}}}}}|.*\¦\s*handicap\s*=\s*{{{handicap!|{{{handicap !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:autor!|{{#if:{{{autor!|{{{autor !|}}}}}}|.*\¦\s*autor\s*=\s*{{{autor!|{{{autor !|}}}}}}\s*\}}}}<!-- | ||
+ | -->{{#vardefine:datum!|{{#if:{{{datum!|{{{datum !|}}}}}}|.*\¦\s*datum\s*=\s*{{{datum!|{{{datum !|}}}}}}\s*\}}}}<!-- | ||
+ | -- | ||
+ | -- Bei includenotmatch müssen wir erstmal prüfen, ob der string nicht leer ist | ||
+ | -- | ||
+ | -->{{#vardefine:includenotmatch|{{#if:{{#var:typ!}}{{#var:hk!}}{{#var:name!}}{{#var:bild!}}{{#var:ap!}}{{#var:dp!}}{{#var:lp!}}{{#var:d!}}{{#var:klasse!}}{{#var:rasse!}}{{#var:angriff!}}{{#var:abwehr!}}{{#var:text!}}{{#var:handicap!}}{{#var:autor!}}{{#var:datum!}}|/{{#var:typ!}}{{#var:hk!}}{{#var:name!}}{{#var:bild!}}{{#var:ap!}}{{#var:dp!}}{{#var:lp!}}{{#var:d!}}{{#var:klasse!}}{{#var:rasse!}}{{#var:angriff!}}{{#var:abwehr!}}{{#var:text!}}{{#var:handicap!}}{{#var:autor!}}{{#var:datum!}}n/}}}}<!-- | ||
+ | -- | ||
+ | -- Nun stecken wir das in die Datenbankabfrage; aber statt Karten spuckt | ||
+ | -- hier jeder Treffer nur "+1" aus. Das Zählen wir zusammen und erhalten | ||
+ | -- die Anzahl entsprechender Karten | ||
+ | -- | ||
+ | -->{{#expr:{{#dpl:mode=userformat | ||
|noresultsheader=0 | |noresultsheader=0 | ||
− | |||
|namespace=Projekt | |namespace=Projekt | ||
|titlematch=Ka-Mel-Oh!/Datenbank/% | |titlematch=Ka-Mel-Oh!/Datenbank/% | ||
|category=Ka-Mel-Oh!/Datenbank | |category=Ka-Mel-Oh!/Datenbank | ||
+ | |includematch={{#var:includematch}} | ||
+ | |includenotmatch={{#var:includenotmatch}} | ||
|include={Ka-Mel-Oh}!/NUMBEROFCARDS | |include={Ka-Mel-Oh}!/NUMBEROFCARDS | ||
}}}}<noinclude> | }}}}<noinclude> | ||
Zeile 13: | Zeile 65: | ||
<div class="hs-box" style="background-color:ivory;border:1px solid #ffa500; font-size:1; padding:-5px;"> | <div class="hs-box" style="background-color:ivory;border:1px solid #ffa500; font-size:1; padding:-5px;"> | ||
− | + | Diese Vorlage zeigt die aktuelle Anzahl an [[Projekt:Ka-Mel-Oh!|Ka-Mel-Oh!-Karten]] an, die sich in den Datenbanken ... | |
+ | |||
+ | {{#dpl: | ||
+ | |namespace=Projekt | ||
+ | |titlematch=Ka-Mel-Oh!/Datenbank/% | ||
+ | |category=Ka-Mel-Oh!/Datenbank | ||
+ | }} | ||
+ | |||
+ | ... befinden. Man kann ihr die gleichen Parameter übergeben wie der [[Vorlage:Ka-Mel-Oh!]]: | ||
+ | <pre> | ||
+ | {{NUMBEROFCARDS | ||
+ | | nr = | ||
+ | | typ = | ||
+ | | hk = | ||
+ | | name = | ||
+ | | bild = | ||
+ | | ap = | ||
+ | | dp = | ||
+ | | lp = | ||
+ | | d = | ||
+ | | klasse = | ||
+ | | rasse = | ||
+ | | angriff = | ||
+ | | abwehr = | ||
+ | | text = | ||
+ | | handicap = | ||
+ | | autor = | ||
+ | | datum = | ||
+ | }} | ||
+ | </pre> | ||
+ | Und erhält dann die Anzahl an Karten, die über die entsprechende Eigenschaft verfügen. Etwa ergibt <code><nowiki>{{NUMBEROFCARDS|typ = monster}}</nowiki></code> die Anzahl der Monster-Karten: <code>{{NUMBEROFCARDS|typ = monster}}</code> (ohne [[Zusammenrottung]]en und [[Mutation]]en, s.u.), <code><nowiki>{{NUMBEROFCARDS|hk = 1}}</nowiki></code> die Anzahl der ganz [[bösonders]] seltenen Karten: <code>{{NUMBEROFCARDS|hk = 1}}</code> (die mit dem [[Bild:Kartenhäufigkeit1.png|15px]]) oder <code><nowiki>{{NUMBEROFCARDS|handicap = sonder}}</nowiki></code> die Anzahl der Sonderkarten: <code>{{NUMBEROFCARDS|handicap = sonder}}</code>. Mit <code><nowiki>{{NUMBEROFCARDS|autor</nowiki> = {{USERNAME|''Dein Kamelname''}}}}</code> kannst Du dir die Anzahl der von dir gestaltetten Karten anzeigen lassen.<br>Diese Übergabeparameter lassen sich beliebig kombinieren, so ergibt <code><nowiki>{{NUMBEROFCARDS|ap = 20|dp = 20}}</nowiki></code> die Anzahl der Karten, die sowohl 20 Angriffs-, als auch 20 Defensivpunkte besitzen: <code>{{NUMBEROFCARDS|ap = 20|dp = 20}}</code>. | ||
+ | |||
+ | Durch Voranstellen eines <code>!</code> vor das <code>=</code> lassen sich Werte (wie in [[Wikipedia:de:JavaScript|JavaScript]]) auf ungleich überprüfen: | ||
+ | <pre> | ||
+ | {{NUMBEROFCARDS | ||
+ | | nr != | ||
+ | | typ != | ||
+ | | hk != | ||
+ | | name != | ||
+ | | bild != | ||
+ | | ap != | ||
+ | | dp != | ||
+ | | lp != | ||
+ | | d != | ||
+ | | klasse != | ||
+ | | rasse != | ||
+ | | angriff != | ||
+ | | abwehr != | ||
+ | | text != | ||
+ | | handicap != | ||
+ | | autor != | ||
+ | | datum != | ||
+ | }} | ||
+ | </pre> | ||
+ | <code><nowiki>{{NUMBEROFCARDS|typ != monster}}</nowiki></code> ergibt die Anzahl aller Karten, die keine Monster sind, also Items, Zusammenrottungs- bzw. Mutationsitems, Zusammenrottungen und Mutationen: <code>{{NUMBEROFCARDS|typ != monster}}</code>. Um nun die Anzahl an Monsterkarten inklusive der Mutations-Monster und Zusammenrottungen zu erhalten, lassen sich [[wikipedia:de:Regulärer Ausdruck|reguläre Ausrücke]] verwenden, z.B. <code><nowiki>{{NUMBEROFCARDS|typ = (zm-)?monster}}</nowiki></code>, <code><nowiki>{{NUMBEROFCARDS|typ = .*monster}}</nowiki></code> oder <code><nowiki>{{NUMBEROFCARDS|typ = (monster¦zm-monster)}}</nowiki></code>: <code>{{NUMBEROFCARDS|typ = (monster¦zm-monster)}}</code> | ||
+ | |||
+ | Das Prüfen auf Gleicheit und Ungleichheit lässt sich ebenfalls kombinieren; <code><nowiki>{{NUMBEROFCARDS|typ = monster|handicap != sonder}}</nowiki></code> gibt die Anzahl an ''spielbaren'' Monster-Karten an: <code>{{NUMBEROFCARDS|typ = monster|handicap != sonder}}</code> | ||
</div>[[Kategorie:Vorlagen für Ka-Mel-Oh!]]</noinclude> | </div>[[Kategorie:Vorlagen für Ka-Mel-Oh!]]</noinclude> |
Version vom 19. Februar 2009, 00:08 Uhr
Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
Diese Vorlage zeigt die aktuelle Anzahl an Ka-Mel-Oh!-Karten an, die sich in den Datenbanken ...
- Projekt:Ka-Mel-Oh!/Datenbank/3
- Projekt:Ka-Mel-Oh!/Datenbank/
- Projekt:Ka-Mel-Oh!/Datenbank/2
- Projekt:Ka-Mel-Oh!/Datenbank/1
... befinden. Man kann ihr die gleichen Parameter übergeben wie der Vorlage:Ka-Mel-Oh!:
{{NUMBEROFCARDS | nr = | typ = | hk = | name = | bild = | ap = | dp = | lp = | d = | klasse = | rasse = | angriff = | abwehr = | text = | handicap = | autor = | datum = }}
Und erhält dann die Anzahl an Karten, die über die entsprechende Eigenschaft verfügen. Etwa ergibt {{NUMBEROFCARDS|typ = monster}}
die Anzahl der Monster-Karten: Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
(ohne Zusammenrottungen und Mutationen, s.u.), {{NUMBEROFCARDS|hk = 1}}
die Anzahl der ganz bösonders seltenen Karten: Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
(die mit dem ) oder {{NUMBEROFCARDS|handicap = sonder}}
die Anzahl der Sonderkarten: Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
. Mit {{NUMBEROFCARDS|autor = []}}
kannst Du dir die Anzahl der von dir gestaltetten Karten anzeigen lassen.
Diese Übergabeparameter lassen sich beliebig kombinieren, so ergibt {{NUMBEROFCARDS|ap = 20|dp = 20}}
die Anzahl der Karten, die sowohl 20 Angriffs-, als auch 20 Defensivpunkte besitzen: Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
.
Durch Voranstellen eines !
vor das =
lassen sich Werte (wie in JavaScript) auf ungleich überprüfen:
{{NUMBEROFCARDS | nr != | typ != | hk != | name != | bild != | ap != | dp != | lp != | d != | klasse != | rasse != | angriff != | abwehr != | text != | handicap != | autor != | datum != }}
{{NUMBEROFCARDS|typ != monster}}
ergibt die Anzahl aller Karten, die keine Monster sind, also Items, Zusammenrottungs- bzw. Mutationsitems, Zusammenrottungen und Mutationen: Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
. Um nun die Anzahl an Monsterkarten inklusive der Mutations-Monster und Zusammenrottungen zu erhalten, lassen sich reguläre Ausrücke verwenden, z.B. {{NUMBEROFCARDS|typ = (zm-)?monster}}
, {{NUMBEROFCARDS|typ = .*monster}}
oder {{NUMBEROFCARDS|typ = (monster¦zm-monster)}}
: Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
Das Prüfen auf Gleicheit und Ungleichheit lässt sich ebenfalls kombinieren; {{NUMBEROFCARDS|typ = monster|handicap != sonder}}
gibt die Anzahl an spielbaren Monster-Karten an: Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“