Änderungen

Zur Navigation springen Zur Suche springen
keine Bearbeitungszusammenfassung
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>'
ReturnString = (ReturnString .. mw.smw.ask(value .. ',|?Kurzbeschreibung'))
+
-- Finde alle Zauber mit den entsprechenden Grad in der Zauberschule
end
+
local queryResult =  mw.smw.ask('[[Category::Zauber]][[' .. Schule ..'::' .. grad ..'|?Seitentitel=1|?Kurzbeschreibung=2|mainlabel=-')  
 +
local i = 1
 +
while i <= table.getn(queryResult) -- gehe durch die einzelnen Zauber eines Grades
 +
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
 +
ReturnString = ReturnString ..')</small><br>' -- Einige Formatierungen
 +
i = i + 1
 +
end
 +
grad = grad + 1
 +
end
 
return ReturnString
 
return ReturnString
 
end
 
end
    
return p
 
return p

Navigationsmenü