Zeile 1: |
Zeile 1: |
| --[[ | | --[[ |
− | Diese funktion nimmt eine komma separierte Liste von Zaubern (arg1)
| + | Sortiert Zauber einer Magieschule nach ihren Grad |
− | und sortiert sie nach ihren Grad in einer Magieschule (arg2)
| + | Todo: Ausgabe in Tabellenform |
| + | Test ob wirklich Fertigkeitentyp=Magieschule um lua fehler zu vermeiden |
| --]] | | --]] |
| | | |
Zeile 8: |
Zeile 9: |
| | | |
| function p.createList( frame ) | | function p.createList( frame ) |
− | local ZauberListe = frame.args['ZauberListe']
| |
| local Schule = frame.args['Schule'] | | local Schule = frame.args['Schule'] |
− | if ZauberListe == nil or Schule == nil-- Wenn Argument1 oder 2 Leer, endet der script hier | + | if Schule == nil |
− | then return nil | + | then return nil -- Schule leer hier beenden |
| end | | end |
− | --Liste ist nicht leer, für jeden Zauber Grad und Kurzbeschreibung in Erfahrung bringen
| + | local ReturnString = "<h2> Zauber der " .. Schule .."</h2>" -- String für die rückgabe |
− | local ReturnString = "" -- String für die rückgabe | + | local grad = 0 |
− | local ZauberSplit = mw.text.split(ZauberListe, ",") -- Zauber bei , trennen | + | while grad <= 5 do -- Für jeden Zaubergrad 0,1,2,3,4,5 folgendes durchführen |
− | for key,value in pairs(ZauberSplit) -- Über die Zauber table gehen ...
| + | -- Konstruiere eine Überschrift für Abschnitt |
− | do | + | ReturnString = ReturnString .. '<h3>Zaubergrad ' .. grad ..'</h3>' |
− | --[[
| + | -- Finde alle Zauber mit den entsprechenden Grad in der Zauberschule |
− | SemanticWiki API query wobei value der name des Zaubers ist
| + | local queryResult = mw.smw.ask('[[Category::Zauber]][[' .. Schule ..'::' .. grad ..'|?Seitentitel=1|?Kurzbeschreibung=2|mainlabel=-') |
− | Nummerierung der Ergebnisse spätere weiter Verwendung
| + | local i = 1 |
− | 1 Kurzbeschreibung
| + | while i <= table.getn(queryResult) -- gehe durch die einzelnen Zauber eines Grades |
− | 2 Grad in Magieschule
| + | do |
− | ]]--
| + | ReturnString = ReturnString .. '[['..queryResult[i][1] .. ']]<small> (' .. queryResult[i][2] -- nutze i um den Zauber in der Tabelle abzufragen, 1 ist die Titel, 2 Beschrebinung |
− | local queryResult = mw.smw.ask('[['.. value ..']]|?Kurzbeschreibung=1|mainlabel=-')
| + | ReturnString = ReturnString ..')</small><br>' -- Einige Formatierungen |
− | ReturnString = ReturnString .. value .. ' (' .. queryResult[1][1] .. ') ' | + | i = i + 1 |
− | end | + | end |
| + | grad = grad + 1 |
| + | end |
| return ReturnString | | return ReturnString |
| end | | end |
| | | |
| return p | | return p |