Vorlage:Karten: Unterschied zwischen den Versionen
WiMu (Diskussion | Beiträge) |
WiMu (Diskussion | Beiträge) K (rev ... warum funktioniert das hier mit 30 Variablen und ewig vielen if-Konstruktionen, aber ein bisserl for-next-schleifiges, da raucht die Kamelo ab?) |
||
Zeile 1: | Zeile 1: | ||
− | <includeonly>{{#dpl:mode=userformat | + | <!-- |
+ | -- 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/s}}<!-- | ||
+ | -- | ||
+ | -- | ||
+ | -- 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/s}}}}<!-- | ||
+ | -- | ||
+ | -- Nun stecken wir das in die Datenbankabfrage; aber statt Karten spuckt | ||
+ | -- hier jeder Treffer nur die Kartennummern aus | ||
+ | -- | ||
+ | --><includeonly>{{#dpl:mode=userformat | ||
|noresultsheader=Es wurden keine entsprechenden Karten gefunden. | |noresultsheader=Es wurden keine entsprechenden Karten gefunden. | ||
|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= | + | |includematch={{#var:includematch}} |
− | {{ | + | |includenotmatch={{#var:includenotmatch}} |
− | + | |include={Ka-Mel-Oh}!¦size={{{size|100}}}¦float={{{float|left}}} | |
− | + | }}</includeonly><noinclude> | |
− | + | ---- | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |includenotmatch={{# | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |include={Ka-Mel-Oh} | ||
− | }}</includeonly>< | ||
− | <pre> | + | |
− | {{Karten|typ = | + | <div class="hs-box" style="background-color:ivory;border:1px solid #ffa500; font-size:1; padding:-5px;"> |
+ | Diese Vorlage erzeugt [[Projekt:Ka-Mel-Oh!|Ka-Mel-Oh!-Karten]] mit bestimmten Eigenschaften, 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> | ||
+ | {{Karten | ||
+ | | nr = | ||
+ | | typ = | ||
+ | | hk = | ||
+ | | name = | ||
+ | | bild = | ||
+ | | ap = | ||
+ | | dp = | ||
+ | | lp = | ||
+ | | d = | ||
+ | | klasse = | ||
+ | | rasse = | ||
+ | | angriff = | ||
+ | | abwehr = | ||
+ | | text = | ||
+ | | handicap = | ||
+ | | autor = | ||
+ | | datum = | ||
+ | }} | ||
</pre> | </pre> | ||
+ | Und erhält dann die Karten, die über die entsprechende Eigenschaft verfügen. Etwa ergibt <code><nowiki>{{Karten|typ = monster}}</nowiki></code> alle Monster-Karten (ohne [[Zusammenrottung]]en und [[Mutation]]en, s.u.), <code><nowiki>{{Karten|hk = 1}}</nowiki></code> die ganz [[bösonders]] seltenen Karten (die mit dem [[Bild:Kartenhäufigkeit1.png|15px]]) oder <code><nowiki>{{Karten|handicap = sonder}}</nowiki></code> die Sonderkarten. Mit <code><nowiki>{{Karten|autor</nowiki> = {{USERNAME|''Dein Kamelname''}}}}</code> kannst du alle von dir gestalteten Karten anzeigen lassen.<br>Diese Übergabeparameter lassen sich beliebig kombinieren, so ergibt <code><nowiki>{{Karten|ap = 20|dp = 20}}</nowiki></code> alle Karten, die sowohl 20 Angriffs-, als auch 20 Defensivpunkte besitzen. Beispiel: {{Karten|ap = 20|dp = 20}}{{clear}} | ||
− | + | Durch Voranstellen eines <code>!</code> vor das <code>=</code> lassen sich Werte (wie in [[Wikipedia:de:JavaScript|JavaScript]]) auf ungleich überprüfen: | |
+ | <pre> | ||
+ | {{Karten | ||
+ | | nr != | ||
+ | | typ != | ||
+ | | hk != | ||
+ | | name != | ||
+ | | bild != | ||
+ | | ap != | ||
+ | | dp != | ||
+ | | lp != | ||
+ | | d != | ||
+ | | klasse != | ||
+ | | rasse != | ||
+ | | angriff != | ||
+ | | abwehr != | ||
+ | | text != | ||
+ | | handicap != | ||
+ | | autor != | ||
+ | | datum != | ||
+ | }} | ||
+ | </pre> | ||
+ | <code><nowiki>{{Karten|typ != monster}}</nowiki></code> ergibt die Karten, die keine Monster sind, also Items, Zusammenrottungs- bzw. Mutationsitems, Zusammenrottungen und Mutationen. Um die 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>{{Karten|typ = (zm-)?monster}}</nowiki></code>, <code><nowiki>{{Karten|typ = .*monster}}</nowiki></code> oder <code><nowiki>{{Karten|typ = (monster¦zm-monster)}}</nowiki></code>. | ||
− | {{Karten|typ = monster|ap = 20|dp = 20 | + | Das Prüfen auf Gleicheit und Ungleichheit lässt sich ebenfalls kombinieren; <code><nowiki>{{Karten|typ = monster|handicap != sonder}}</nowiki></code> ergibt alle ''spielbaren'' Monster-Karten. |
+ | |||
+ | Mit <code><nowiki>{{Karten| ... |size = x}}</nowiki></code> lassen sich die ausgegebenen Karten skalieren, wobei <code>x</code> für Prozent steht. Beispiel <code><nowiki>{{Karten|ap = 20|dp = 20|size = 50}}</nowiki></code>: | ||
+ | |||
+ | {{Karten|ap = 20|dp = 20|size = 50}} | ||
{{clear}} | {{clear}} | ||
+ | Mit <code><nowiki>{{Karten| ... |float = y}}</nowiki></code> lässt sich das Text-Umbruchs-Verhalten der Karten bestimmen: | ||
+ | *<code>float = left</code> → Karten sind links ausgerichtet und nachfolgender Text steht ggf. rechts neben den Karten (standard-Einstellung) | ||
+ | *<code>float = right</code> → Karten sind rechts ausgerichtet und nachfolgender Text steht ggf. links neben den Karten | ||
+ | *<code>float = none</code> → jede einzelne(!) Karte erzeugt einen Zeilenumbruch. Das ist bei der Anzeige mehrer Karten unschön. | ||
+ | |||
+ | ===Wichtig!=== | ||
+ | |||
+ | Bitte für einzelne Karten [[Vorlage:Karte]] verwenden. | ||
− | + | Die Vorlage hat bislang noch keine Sicherheits-features, d.h. ohne Angabe von Such-Parametern werden alle {{NUMBEROFCARDSS}} Karten erzeugt, was zu extrem langen Ladezeiten und mitunter zu Timeout-Fehlern führen kann. Bitte die Vorlage sparsam und mit Vorsicht einsetzen. | |
− | + | </div>[[Kategorie:Vorlagen für Ka-Mel-Oh!]]</noinclude> |
Version vom 4. Mai 2009, 16:28 Uhr
Diese Vorlage erzeugt Ka-Mel-Oh!-Karten mit bestimmten Eigenschaften, 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!:
{{Karten | nr = | typ = | hk = | name = | bild = | ap = | dp = | lp = | d = | klasse = | rasse = | angriff = | abwehr = | text = | handicap = | autor = | datum = }}Und erhält dann die Karten, die über die entsprechende Eigenschaft verfügen. Etwa ergibt
{{Karten|typ = monster}}
alle Monster-Karten (ohne Zusammenrottungen und Mutationen, s.u.), {{Karten|hk = 1}}
die ganz bösonders seltenen Karten (die mit dem ) oder {{Karten|handicap = sonder}}
die Sonderkarten. Mit {{Karten|autor = []}}
kannst du alle von dir gestalteten Karten anzeigen lassen.Diese Übergabeparameter lassen sich beliebig kombinieren, so ergibt
{{Karten|ap = 20|dp = 20}}
alle Karten, die sowohl 20 Angriffs-, als auch 20 Defensivpunkte besitzen. Beispiel: Amateur- Wrestler |
Klasse: | Wrestler |
Rasse: | Mensch |
Angriff: | Würgen |
Abwehr: | Wegschubsen |
Je anderen Wrestler auf dem Spielfeld erhöhen sich die AP und senken sich die DP dieser Karte um 5 Punkte. Das geht nur dreimal.
Dornröschen |
Klasse: | Rosaceae |
Rasse: | Kampfblume |
Angriff: | Kampfdornen |
Abwehr: | Wachkoma |
Wie alle Kampfblumen kann sie erst angreifen, nachdem sie einen Schlag einstecken musste.
Dromedar Trooper |
Klasse: | Sturmsoldat |
Rasse: | Kamelfanatiker |
Angriff: | Lasermaschinengewehr |
Abwehr: | Gummirüstung |
Topflady |
Klasse: | Handtaschenbesitzer |
Rasse: | Aliensoldatin |
Angriff: | Handtaschenüberzieher |
Abwehr: | Deggel zu |
Doppelkapst |
Klasse: | Bifax |
Rasse: | Janus |
Angriff: | Exkommunikation |
Abwehr: | Säligsprechung |
Verdoppelt die LPs des Kapstes und halbiert die APs des Gegenkapstes.
Durch Voranstellen eines !
vor das =
lassen sich Werte (wie in JavaScript) auf ungleich überprüfen:
{{Karten | nr != | typ != | hk != | name != | bild != | ap != | dp != | lp != | d != | klasse != | rasse != | angriff != | abwehr != | text != | handicap != | autor != | datum != }}
{{Karten|typ != monster}}
ergibt die Karten, die keine Monster sind, also Items, Zusammenrottungs- bzw. Mutationsitems, Zusammenrottungen und Mutationen. Um die Monsterkarten inklusive der Mutations-Monster und Zusammenrottungen zu erhalten, lassen sich reguläre Ausrücke verwenden, z.B. {{Karten|typ = (zm-)?monster}}
, {{Karten|typ = .*monster}}
oder {{Karten|typ = (monster¦zm-monster)}}
.
Das Prüfen auf Gleicheit und Ungleichheit lässt sich ebenfalls kombinieren; {{Karten|typ = monster|handicap != sonder}}
ergibt alle spielbaren Monster-Karten.
Mit {{Karten| ... |size = x}}
lassen sich die ausgegebenen Karten skalieren, wobei x
für Prozent steht. Beispiel {{Karten|ap = 20|dp = 20|size = 50}}
:
Amateur- Wrestler |
Klasse: | Wrestler |
Rasse: | Mensch |
Angriff: | Würgen |
Abwehr: | Wegschubsen |
Je anderen Wrestler auf dem Spielfeld erhöhen sich die AP und senken sich die DP dieser Karte um 5 Punkte. Das geht nur dreimal.
Dornröschen |
Klasse: | Rosaceae |
Rasse: | Kampfblume |
Angriff: | Kampfdornen |
Abwehr: | Wachkoma |
Wie alle Kampfblumen kann sie erst angreifen, nachdem sie einen Schlag einstecken musste.
Dromedar Trooper |
Klasse: | Sturmsoldat |
Rasse: | Kamelfanatiker |
Angriff: | Lasermaschinengewehr |
Abwehr: | Gummirüstung |
Topflady |
Klasse: | Handtaschenbesitzer |
Rasse: | Aliensoldatin |
Angriff: | Handtaschenüberzieher |
Abwehr: | Deggel zu |
Doppelkapst |
Klasse: | Bifax |
Rasse: | Janus |
Angriff: | Exkommunikation |
Abwehr: | Säligsprechung |
Verdoppelt die LPs des Kapstes und halbiert die APs des Gegenkapstes.
Mit {{Karten| ... |float = y}}
lässt sich das Text-Umbruchs-Verhalten der Karten bestimmen:
float = left
→ Karten sind links ausgerichtet und nachfolgender Text steht ggf. rechts neben den Karten (standard-Einstellung)float = right
→ Karten sind rechts ausgerichtet und nachfolgender Text steht ggf. links neben den Kartenfloat = none
→ jede einzelne(!) Karte erzeugt einen Zeilenumbruch. Das ist bei der Anzeige mehrer Karten unschön.
Wichtig!
Bitte für einzelne Karten Vorlage:Karte verwenden.
Die Vorlage hat bislang noch keine Sicherheits-features, d.h. ohne Angabe von Such-Parametern werden alle Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“ Karten erzeugt, was zu extrem langen Ladezeiten und mitunter zu Timeout-Fehlern führen kann. Bitte die Vorlage sparsam und mit Vorsicht einsetzen.