Vorlage:Karten: Unterschied zwischen den Versionen
WiMu (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
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 {{Karten|handicap = sonder}} die Sonderkarten. Mit {{Karten|autor = Dein Kamelname}} 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 440 Karten erzeugt, was zu extrem langen Ladezeiten und mitunter zu Timeout-Fehlern führen kann. Bitte die Vorlage sparsam und mit Vorsicht einsetzen.




