Vorlage:NUMBEROFCARDS: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
K
K (*daumendrück*)
Zeile 1: Zeile 1:
{{#expr:{{#dpl:
+
<!--
|debug=0
+
--    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
|mode=userformat
 
 
|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;">
Die Vorlage wird gerade umgebaut ... bis dahin funktionieren keine Übergabeparameter
+
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 ...

... 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 Kartenhäufigkeit1.png) 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 „[“