Modul:X: Unterschied zwischen den Versionen

Aus How to be a Hero
Zur Navigation springen Zur Suche springen
Murmelgrumpf (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Murmelgrumpf (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(323 dazwischenliegende Versionen derselben Benutzerin werden nicht angezeigt)
Zeile 1: Zeile 1:
local p = {} --local p = {} -- p steht für Paket (engl. package)
local p = {} --local p = {} -- p steht für Paket (engl. package)


function split (inputstr, sep)
require( "Module:Xfunc" )
 
    if sep == nil then
        sep = "%s"
    end
    local t={}
    for str in string.gmatch(string.gsub(inputstr,sep, "\0"),"%Z+") do
        table.insert(t, str)
    end
    return t
end
 
function copy(obj, seen)
  if type(obj) ~= 'table' then return obj end
  if seen and seen[obj] then return seen[obj] end
  local s = seen or {}
  local res = setmetatable({}, getmetatable(obj))
  s[obj] = res
  for k, v in pairs(obj) do res[copy(k, s)] = copy(v, s) end
  return res
end
function tabContains(tableasd, keaaay)
solution = nil --"key: "..keaaay.."\n\n"
    for numgasbr,crreasdnt in pairs(tableasd) do
if (tableasd[numgasbr] == keaaay) then
solution = numgasbr
end
--solution = solution..numgasbr..": "..crreasdnt[numgasbr].."\n\n"
end
return solution
end
 
function displaytablevert(taable)
endresutl=""
if (taable==nil or taable[1]==nil) then
return endresutl
end
for nnnn,entri in pairs(taable) do
endresutl=endresutl..entri.."\n"
end
return endresutl
end
 
function displaytablehor(taaable)
endresutal=""
if (taaable==nil or taaable[1]==nil) then
return endresutal
end
for nn,entria in pairs(taaable) do
endresutal=endresutal..entria.." - "
end
return endresutal
end
 
function displaytabletwo(taaaable)
endresutaal=""
if (taaaable==nil or taaaable[1]==nil) then
return endresutaal
end
for nnn,entriaa in pairs(taaaable) do
endresutaal=endresutaal..displaytablehor(entriaa).."\n\n"
end
return endresutaal
end
 
 
function gmatchtable(text, pattern)
ztable={}
for word in string.gmatch(text, pattern) do
table.insert(ztable,word)
end
return ztable
end
 
function tablelength(T)
  local count = 0
  if (T==nil or T[1]==nil) then
return 0
  end
  for _ in pairs(T) do count = count + 1 end
  return count
end
 
function getindexformat()
title = mw.title.new( "Indexformat", "Yggdrasil" )
content = title:getContent()
content = string.gsub(content, "</pre>.-<pre>" , "!!!")
content = string.gsub(content, "</pre>.*" , "")
content = string.gsub(content, ".*<pre>" , "")
content = string.gsub(content, "|" , "\n|")
content = split(content,"!!!")
return content
 
end
 
 
function getheader( title, namespace )
title = mw.title.new( title, namespace )
content = title:getContent()
content = string.gsub(content, "%=%=+", "§§§")
content = split("hallo"..content, "§§§")
iiii = 2
iiiii = 1
length = tablelength(content)
finaltext={}
while (iiii<=length) do
finaltext[iiiii] = content[iiii]
iiii = iiii + 2
iiiii = iiiii + 1
end
return finaltext
end
 
function getheaderlimit( title, namespace )
limiit = tonumber(string.sub(title, string.len(title)))
title = string.sub(title, 1, string.len(title)-2)
title = mw.title.new( title, namespace )
content = title:getContent()
curhead=""
while (0<=limiit) do
curhead = curhead.."%="
limiit = limiit-1
end
curhead = curhead.."+"
content = string.gsub(content, curhead, "no")
content = string.gsub(content, "%=%=+", "§§§")
content = split("hallo"..content, "§§§")
iiii = 2
iiiii = 1
length = tablelength(content)
endtext={}
while (iiii<=length) do
endtext[iiiii] = content[iiii]
iiii = iiii + 2
iiiii = iiiii + 1
end
return endtext
end
 
 
 
 
 
function cut( limit, realtext )
testtext = ""
realtext = removespaceinlink(realtext) --Die Schmiede
srealtext = split(realtext, " ") --Die|Schmiede(list)
i = 2; --2
testtext = testtext.."<br \>"..i..": "
text = display(removespaceinlink(realtext)) --Die Schmiede
stext = split(text, " ") --Die|Schmiede(list)
if(table.getn(stext)==1) then
if(string.len(stext[1])>limit) then
return "%@%"..text
else
return text.."%@%"
end
end
cuttext = stext[1] --Die
realcuttext = srealtext[1] --Die
nextwo = stext[2] --Schmiede
realnextwo = srealtext[2] --Schmiede
nextlen = string.len(nextwo)--8
textlen = string.len(text)--12
cuttextlen = string.len(cuttext)--3
set = true;
testtext = testtext.."<br \>"..i..": "..realcuttext
if(limit>=textlen)then --4>=12
return realtext.."%@%"
elseif(cuttextlen>limit) then--3>4
return "%@%"..realtext
 
else
while (cuttextlen+nextlen+1<=textlen+2) do --8+3+1<=12+2(12<=14)|14+3+1<=12+2(18<=14)
if(cuttextlen+nextlen+1>limit and set) then --8+3+1>4(12>4)|
set = false
cuttext = cuttext.."%@%" --"Die %@%"
realcuttext = realcuttext.."%@%" --"Die %@%"
else
cuttext = cuttext.." " --
realcuttext = realcuttext.." " --
end
-- testtext = testtext..tostring(i)..": "..realcuttext.."<br />"
i = i + 1 --3
cuttext = cuttext..nextwo -- "Die%@%Schmiede"
realcuttext = realcuttext..realnextwo -- "Die%@%Schmiede"
nextwo = stext[i]-- nil
realnextwo = srealtext[i]-- nil
if (nextwo ~= nil) then
nextlen = string.len(nextwo) -- 5
end
cuttextlen = string.len(cuttext) -- 14
testtext = testtext.."<br \>"..i..": "..realcuttext
end
realnextwo = srealtext[i]
if (realnextwo ~= nil) then
realcuttext = realcuttext.." "..realnextwo
end
end
testtext = testtext.."<br \>"..(i+1)..": "..realcuttext
return realcuttext
end
 
function headertotablelimit(title, namespace)
limiiiit = tonumber(string.sub(title, string.len(title)))-1
title = string.sub(title, 1, string.len(title)-2)
title = mw.title.new( title, namespace )
content = title.getContent(title)
original = headertotable(content)
neworiginal = {}
for nnnnn,entriii in ipairs(original) do
if (tablelength(entriii)<=limiiiit) then
neworiginal[nnnnn] = entriii
end
end
return neworiginal
end
 
function display ( text )
text = text:gsub("'", "")
lend = string.len(text)
ii=1
auf = {}
zu = {}
currentauf = string.find(text, "%[%[")
while (currentauf ~= nil) do
auf[ii] = currentauf;
if (string.find(string.sub(text,currentauf+2), "%[%[")~=nil)then
currentauf = currentauf+1+string.find(string.sub(text,currentauf+2), "%[%[")
else
currentauf = nil
end
ii=ii+1
end
ii=1
currentzu = string.find(text, "%|")
while (currentzu ~= nil) do
zu[ii] = currentzu;
if (string.find(string.sub(text,currentzu+2), "%|")~=nil)then
currentzu = currentzu+1+string.find(string.sub(text,currentzu+2), "%|")
else
currentzu = nil
end
ii=ii+1
end
offset = 0
if(table.getn(auf) == table.getn(zu))then
ii=1
while (table.getn(auf)>=ii) do
anfang = auf[ii]
ende = zu[ii]
tt, uu = string.find(string.sub(text, 1, anfang-offset+1), "%[%[(.+)%|")
text = string.gsub(string.sub(text, 1, anfang-offset+1), "%[%[(.+)%|", "")..string.sub(text,anfang-offset+2,string.len(text))
-- text = string.sub(text,1,anfang-offset+1)..string.sub(text,ende+1-offset,string.len(text))
if (tt ~= nil) and (uu ~= nil) then
offset = offset+uu-tt
end
ii=ii+1
end
text = string.gsub(text, "%[%[(.+)%|", "")
end
-- text = text:gsub("%[", "")
-- text = text:gsub("%|", "")
text = text:gsub("%]", "")
 
 
return text
end
 
function removespaceinlink(text)
iii=1
auf = {}
zu = {}
currentauf = string.find(text, "%[%[")
while (currentauf ~= nil) do
auf[iii] = currentauf;
if (string.find(string.sub(text,currentauf+2), "%[%[")~=nil)then
currentauf = currentauf+1+string.find(string.sub(text,currentauf+2), "%[%[")
else
currentauf = nil
end
iii=iii+1
end
iii=1
currentzu = string.find(text, "%]%]")
while (currentzu ~= nil) do
zu[iii] = currentzu;
if (string.find(string.sub(text,currentzu+2), "%]%]")~=nil)then
currentzu = currentzu+1+string.find(string.sub(text,currentzu+2), "%]%]")
else
currentzu = nil
end
iii=iii+1
end
if(table.getn(auf) == table.getn(zu))then
iii=1
while (table.getn(auf)>=iii) do
anfang = auf[iii]
ende = zu[iii]
text = string.sub(text,1,anfang-1)..string.gsub(string.sub(text,anfang,ende)," ","§")..string.sub(text,ende+1,string.len(text))
 
iii=iii+1
end
end
return text
end
 
function gethighest( tabhle )
highest = tabhle[1]
for numgbr,crregnt in ipairs(tabhle) do
if (highest<tabhle[numgbr]) then
highest=tabhle[numgbr]
end
end
return highest
end
 
function duptable( tabhdhle )
dupe = nil
nothertab = {}
for nuamgbr,craregnt in pairs(tabhdhle) do
if (tabContains(nothertab,craregnt)==nil) then
nothertab[nuamgbr] = craregnt
else
dupe = craregnt
end
end
return dupe
end
 
function schlagwortliste()
tiasdtasdfle = mw.title.new( "Schlagwortliste", "Yggdrasil" )
contegfgdfndasdat = tiasdtasdfle:getContent()
schlagworttable = {}
for thingis in string.gmatch(contegfgdfndasdat, "%{%{o%|.-%|") do
iuadiuh = string.sub(thingis,5,string.len(thingis)-1)
if (iuadiuh~="Name") then
table.insert(schlagworttable,iuadiuh)
end
end
 
return schlagworttable
 
end
 
function gegvorapi()
listxy = {}
gegtitle = mw.title.new( "Gegenstände", "Yggdrasil" )
gegcontent = gegtitle:getContent()
tabbbb = headertotable(gegcontent)
headerewnds = {}
tempzwweites = {}
tempzudreites = 0
tempzudreitasdafsaes = 0
for eiwnes,zwwweites in pairs(tabbbb) do
if (tablelength(zwwweites) == 3) then
tempzwweites = copy(zwwweites)
x,tempzudreites = string.find(gegcontent,"===="..tempzwweites[3].."====")
tempzudreitasdafsaes,x = string.find(gegcontent,"\n=", tempzudreites)
if (tempzudreitasdafsaes==nil) then
tempzudreitasdafsaes = string.len(gegcontent)
end
tempzwweites[4] = string.gsub(string.sub(gegcontent,tempzudreites+1,tempzudreitasdafsaes-1),"<.->","")
table.insert(listxy,tempzwweites)
end
end
return listxy -- 1:Category 2: Subcategory 3: Name 4:content
end
 
function gegapi()
catlist = {}
nosortlist = {}
unforlist = gegvorapi()
temptable = {}
temprest = ""
tempsplittable = {}
nothertempsplittable = {}
tempimg = nil
for numd, keyd in pairs(unforlist) do
temptable = {}
temptable["text"] = string.gsub(split(keyd[4], "\n%|\n")[2],"%}%}","")
temprest = split(keyd[4], "\n%|\n")[1]
tempimg = string.match(temprest,"img=.-\n")
if (tempimg~= nil) then
temptable["img"] = string.sub(tempimg,5)
end
temprest = string.gsub(string.gsub(temprest,"\n",""), "{{YggTab.-|!", "")
temprest = string.gsub(temprest, "{{YggTab|!", "|-|!")
temprest = split(temprest,"|%-|!")
for tri,asdf in pairs(temprest) do
tempsplittable = split(asdf,"|")
intindex = 2
nothertempsplittable = {}
while (intindex<=tablelength(tempsplittable)) do
table.insert(nothertempsplittable,tempsplittable[intindex])
intindex = intindex + 1
end
temptable[tempsplittable[1]] = copy(nothertempsplittable)
end
table.insert(nosortlist,temptable)
end
return nosortlist
end
 
--##################################################################################################################################################################
--##################################################################################################################################################################
--##################################################################################################################################################################
--##################################################################################################################################################################
--##################################################################################################################################################################
--##################################################################################################################################################################
 
 
function p.cutblock ( frame )
function p.cutblock ( frame )
text = frame.args[3]-- "Die Schmiede"
text = frame.args[3]-- "Die Schmiede"
Zeile 800: Zeile 354:
end
end
rettext=rettext..'|}'..stext[i-1]..'\n|style="width:20%; padding: 0; vertical-align:top;"|'..imgtext
rettext=rettext..'|}'..stext[i-1]..'\n|style="width:20%; padding: 0; vertical-align:top;"|'..imgtext
return rettext
return '{|style="width:100%;"\n|style="width:80%; padding: 0; vertical-align:top;"|\n'..rettext..'\n|}'
end
end


Zeile 825: Zeile 379:
end
end
return finaltext
return finaltext
end
function markheaders(content)
content = content.."\npuffercontent\n"
content = string.gsub(content, "=\n", "=\npuffercontent\n")
content = string.gsub(content, "\n=%s*([^%=]+)%s*=\n", "\n")
content = string.gsub(content, "\n==%s*([^%=]+)%s*==\n", "\n!Anfang2!%1!2Ende!\n")
content = string.gsub(content, "\n===%s*([^%=]+)%s*===\n", "\n!Anfang3!%1!3Ende!\n")
content = string.gsub(content, "\n====%s*([^%=]+)%s*====\n", "\n!Anfang4!%1!4Ende!\n")
content = string.gsub(content, "\n=====%s*([^%=]+)%s*=====\n", "\n!Anfang5!%1!5Ende!\n")
content = string.gsub(content, "\n======%s*([^%=]+)%s*======\n", "\n!Anfang6!%1!6Ende!\n")
return content
end
function onllyheaders(content)
content = markheaders(content)
content = string.gsub(content,"!.Ende!\n.-\n!Anfang", "\n\n")
content = string.gsub(content,".*!Anfang", "")
content = string.gsub(content,"!.Ende!.*", "")
return content
end
function headertotable(content)
testvar=""
content = onllyheaders(content)
firsthead=1
if (string.find(content, "1!")== nil) then
firsthead=firsthead+1
if (string.find(content, "2!")== nil) then
firsthead=firsthead+1
if (string.find(content, "3!")== nil) then
firsthead=firsthead+1
if (string.find(content, "4!")== nil) then
firsthead=firsthead+1
if (string.find(content, "5!")== nil) then
firsthead=firsthead+1
end
end
end
end
end
iiiiii={1,2,2,2,2,1}
content="puffer\n"..content.."\n\n2!Puffer"
iall=0
headersplit={}
headersplit[1] = split(content,tostring(firsthead).."!")
currenthead={}
finaltable={}
while (iiiiii[1]<tablelength(headersplit[1])-1) do--tablelength(headersplit[1])
iall=iall+1
currenthead[1] = string.gsub(gmatchtable(headersplit[1][iiiiii[1]+1], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1]..testvar}
headersplit[2] = split(headersplit[1][iiiiii[1]+1],tostring(firsthead+1).."!")
while (iiiiii[2]<=tablelength(headersplit[2])) do
iall=iall+1
currenthead[2] = string.gsub(gmatchtable(headersplit[2][iiiiii[2]], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1],currenthead[2]}
headersplit[3] = split(headersplit[2][iiiiii[2]],tostring(firsthead+2).."!")
while (iiiiii[3]<=tablelength(headersplit[3])) do
iall=iall+1
currenthead[3] = string.gsub(gmatchtable(headersplit[3][iiiiii[3]], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1],currenthead[2],currenthead[3]}
headersplit[4] = split(headersplit[3][iiiiii[3]],tostring(firsthead+3).."!")
while (iiiiii[4]<=tablelength(headersplit[4])) do
iall=iall+1
currenthead[4] = string.gsub(gmatchtable(headersplit[4][iiiiii[4]], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1],currenthead[2],currenthead[3],currenthead[4]}
headersplit[5] = split(headersplit[4][iiiiii[4]],tostring(firsthead+4).."!")
while (iiiiii[5]<=tablelength(headersplit[5])) do
iall=iall+1
currenthead[5] = string.gsub(gmatchtable(headersplit[5][iiiiii[5]], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1],currenthead[2],currenthead[3],currenthead[4],currenthead[5]}
iiiiii[5]=iiiiii[5]+1
end
iiiiii[5]=2
iiiiii[4]=iiiiii[4]+1
end
iiiiii[4]=2
iiiiii[3]=iiiiii[3]+1
end
iiiiii[3]=2
iiiiii[2]=iiiiii[2]+1
end
iiiiii[2]=2
iiiiii[1]=iiiiii[1]+1
end
return finaltable
end
end


Zeile 1.075: Zeile 522:


function p.test( frame )
function p.test( frame )
dieter = gegapi()[1]
dieter, dieter2 = gegapi()
dieter2 = dieter2["Kampfutensilien"]["Nahkampfwaffen"][1]
leresti = "Dinge:\n"
leresti = "Dinge:\n"
     for zahl,dingsi in  pairs(dieter) do
     for zahl,dingsi in  pairs(dieter2) do
         leresti = leresti.."*"..zahl..":"
         leresti = leresti.."*"..zahl..":"
if (dingsi[1]~=nil) then
if (dingsi[1]~=nil) then
Zeile 1.099: Zeile 547:
lengthi = tablelength(stext)
lengthi = tablelength(stext)
finalthing = ""
finalthing = ""
tempeins = stext[1]
tempzwei = stext[2]
tempdrei = stext[3]
tempvier = stext[4]
tempfunf = stext[5]
tempsech = stext[6]
tempsieb = stext[7]
tempacht = stext[8]
tempneun = stext[9]
if (lengthi==2) then
if (lengthi==2) then
finalthing = "*[[#"..stext[1].."|"..stext[1].."]] (Bei 1-50)\n*[[#"..stext[2].."|"..stext[2].."]] (Bei 51-100)"
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
finalthing = "*"..tempeins.." (bei 1-50)\n*"..tempzwei.." (bei 51-100)"
elseif(lengthi==3) then
elseif(lengthi==3) then
finalthing = "*[[#"..stext[1].."|"..stext[1].."]] (Bei 1-33)\n*[[#"..stext[2].."|"..stext[2].."]] (Bei 34-66)\n*[[#"..stext[3]
if (string.sub(stext[1],1,1)~="/") then
.."|"..stext[3].."]] (Bei 67-99)\n*Bei 100 Reroll"
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
finalthing = "*"..tempeins.." (Bei 1-33)\n*"..tempzwei.." (Bei 34-66)\n*"..tempdrei.." (Bei 67-99)\n*Bei 100: Reroll"
elseif(lengthi==4) then
elseif(lengthi==4) then
finalthing = "*[[#"..stext[1].."|"..stext[1].."]] (Bei 1-25)\n*[[#"..stext[2].."|"..stext[2].."]] (Bei 26-50)\n*[[#"..stext[3]
if (string.sub(stext[1],1,1)~="/") then
.."|"..stext[3].."]] (Bei 51-75)\n*[[#"..stext[4].."|"..stext[4].."]] (Bei 76-100)"
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
finalthing = "*"..tempeins.." (Bei 1-25)\n*"..tempzwei.." (Bei 26-50)\n*"..tempdrei.." (Bei 51-75)\n*"..tempvier.." (Bei 76-100)"
elseif(lengthi==5) then
elseif(lengthi==5) then
finalthing = "*[[#"..stext[1].."|"..stext[1].."]] (Bei 1-20)\n*[[#"..stext[2].."|"..stext[2].."]] (Bei 21-40)\n*[[#"..stext[3]
if (string.sub(stext[1],1,1)~="/") then
.."|"..stext[3].."]] (Bei 41-60)\n*[[#"..stext[4].."|"..stext[4].."]] (Bei 61-80)\n*[[#"..stext[5].."|"..stext[5].."]] (Bei 81-100)"
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
finalthing = "*"..tempeins.." (Bei 1-20)\n*"..tempzwei.." (Bei 21-40)\n*"..tempdrei.." (Bei 41-60)\n*"..tempvier.." (Bei 61-80)\n*"..tempfunf.." (Bei 81-100)"
elseif(lengthi==6) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
finalthing = "*"..tempeins.." (Bei 1-16)\n*"..tempzwei.." (Bei 17-32)\n*"..tempdrei.." (Bei 33-48)\n*"..tempvier.." (Bei 49-64)\n*"..tempfunf.." (Bei 65-80)\n*"..tempsech.." (Bei 81-96)\n*Bei 97-100: Reroll"
elseif(lengthi==7) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
finalthing = "*"..tempeins.." (Bei 1-14)\n*"..tempzwei.." (Bei 15-28)\n*"..tempdrei.." (Bei 29-42)\n*"..tempvier.." (Bei 43-56)\n*"..tempfunf.." (Bei 57-70)\n*"..tempsech.." (Bei 71-84)\n*"..tempsieb.." (Bei 85-98)\n*Bei 99-100: Reroll"
elseif(lengthi==8) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
if (string.sub(stext[8],1,1)~="/") then
tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
else
tempacht = string.sub(tempacht,2)
end
finalthing = "*"..tempeins.." (Bei 1-12)\n*"..tempzwei.." (Bei 13-24)\n*"..tempdrei.." (Bei 25-36)\n*"..tempvier.." (Bei 37-48)\n*"..tempfunf.." (Bei 49-60)\n*"..tempsech.." (Bei 61-72)\n*"..tempsieb.." (Bei 73-84)\n*"..tempacht.." (Bei 85-96)\n*Bei 97-100: Reroll"
elseif(lengthi==9) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
if (string.sub(stext[8],1,1)~="/") then
tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
else
tempacht = string.sub(tempacht,2)
end
if (string.sub(stext[9],1,1)~="/") then
tempneun = "[[#"..tempneun.."|"..tempneun.."]]"
else
tempneun = string.sub(tempneun,2)
end
finalthing = "*"..tempeins.." (Bei 1-11)\n*"..tempzwei.." (Bei 12-22)\n*"..tempdrei.." (Bei 23-33)\n*"..tempvier.." (Bei 34-44)\n*"..tempfunf.." (Bei 45-55)\n*"..tempsech.." (Bei 56-66)\n*"..tempsieb.." (Bei 67-77)\n*"..tempacht.." (Bei 78-88)\n*"..tempneun.." (Bei 89-99)\n*Bei 100: Reroll"
else
else
finalthing = "Die Anzahl an ausgewählten Optionen wird nicht unterstützt. Erkundige dich, dass du alles richtig geschrieben hast. Falls dir das Maximum von 5 Optionen nicht reicht wende dich bitte an [[Benutzerin:Murmelgrumpf]]"
finalthing = "Die Anzahl an ausgewählten Optionen wird nicht unterstützt. Erkundige dich, dass du alles richtig geschrieben hast. Falls dir das Maximum von 9 Optionen nicht reicht wende dich bitte an [[Benutzerin:Murmelgrumpf]]"
end
return finalthing
end
function p.optionsnodice( frame )
stext = split (frame.args[1], "§§§")
lengthi = tablelength(stext)
finalthing = ""
tempeins = stext[1]
tempzwei = stext[2]
tempdrei = stext[3]
tempvier = stext[4]
tempfunf = stext[5]
tempsech = stext[6]
tempsieb = stext[7]
tempacht = stext[8]
tempneun = stext[9]
if (lengthi==2) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei
elseif(lengthi==3) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei
elseif(lengthi==4) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier
elseif(lengthi==5) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf
elseif(lengthi==6) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech
elseif(lengthi==7) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb
elseif(lengthi==8) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
if (string.sub(stext[8],1,1)~="/") then
tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
else
tempacht = string.sub(tempacht,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb.."\n*"..tempacht
elseif(lengthi==9) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
if (string.sub(stext[8],1,1)~="/") then
tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
else
tempacht = string.sub(tempacht,2)
end
if (string.sub(stext[9],1,1)~="/") then
tempneun = "[[#"..tempneun.."|"..tempneun.."]]"
else
tempneun = string.sub(tempneun,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb.."\n*"..tempacht.."\n*"..tempneun
else
finalthing = "Die Anzahl an ausgewählten Optionen wird nicht unterstützt. Erkundige dich, dass du alles richtig geschrieben hast. Falls dir das Maximum von 9 Optionen nicht reicht wende dich bitte an [[Benutzerin:Murmelgrumpf]]"
end
end
return finalthing
return finalthing
end
end
function p.kampf( frame )
function p.kampf( frame )
     stext = split (frame.args[1], "§§§")
     stext = split (frame.args[1], "§§§")
Zeile 1.136: Zeile 1.072:
for nudmbr,crdrent in ipairs(stext) do
for nudmbr,crdrent in ipairs(stext) do
curthing = split (stext[nudmbr], ":")
curthing = split (stext[nudmbr], ":")
eendrest = eendrest.."\n'''"..curthing[1]..":'''\n\n„''"..curthing[2].."''“\n"
eendrest = eendrest.."\n'''"..curthing[1]..":'''\n\n„"..curthing[2].."“\n"
end
end
eendrest = string.gsub(eendrest, "(\n[\n%s]*)", "''%1''")
return eendrest
return eendrest
end
end
Zeile 1.164: Zeile 1.101:
function p.vid( frame )
function p.vid( frame )
stext = split (frame.args[2], "§§§")
stext = split (frame.args[2], "§§§")
seend = "Hier kannst du das Abenteuer von ["..frame.args[1].."] noch ein mal nachschauen! Viel Spaß! :)\n"..'{|class="wikitable"\n|-\n'
seend = "Hier kannst du das Abenteuer von ["..frame.args[1].."] noch einmal nachschauen! Viel Spaß! :)\n"..'{|class="wikitable"\n|-\n'
     for nuudmbr,curdrent in ipairs(stext) do
     for nuudmbr,curdrent in ipairs(stext) do
seend = seend.."!Teil "..tostring(nuudmbr).."\n"
seend = seend.."!Teil "..tostring(nuudmbr).."\n"
Zeile 1.170: Zeile 1.107:
seend = seend.."|-\n"
seend = seend.."|-\n"
     for nuudmbr,curdrent in ipairs(stext) do
     for nuudmbr,curdrent in ipairs(stext) do
seend = seend.."|"..curdrent.."\n"
seend = seend.."|"..frame:callParserFunction('#tag:youtube', curdrent).."\nFalls das Video nicht richtig angezeigt wird, kannst du es ["..curdrent.." hier] finden.\n"
end
end
seend = seend.."|-\n|}\n"
seend = seend.."|-\n|}\n"
Zeile 1.210: Zeile 1.147:
eerndrest=""
eerndrest=""
if(tabContains(stext,"Szene")) then  
if(tabContains(stext,"Szene")) then  
eerndrest = eerndrest.."'''<span style='color:#BB0011;'>Szenen und Interaktionen:</span>'''\n\nSzenen geben Handlung vor, welche die Spieler meist passiv miterleben. Interaktionen sind aktive Szenen, die eine Interaktion mit den Spielern erfordern.\n\n\n"
eerndrest = eerndrest.."'''Szenen:'''\nSzenen geben Handlung und Orte vor, die die Spieler meist passiv miterleben.\n\n"
end
if(tabContains(stext,"Orte")) then
eerndrest = eerndrest.."'''Raum- und Ortsbeschreibungen:'''\n\nCharakterisieren Lokalitäten, die von den Helden betreten werden können.\n\n\n"
end
end
if(tabContains(stext,"Box")) then  
if(tabContains(stext,"Inter")) then  
eerndrest = eerndrest.."<div class='box'>'''Boxen:'''</div>\n\nBoxen stehen für Spielleiterhinweise und beinhalten meist Hintergrundinformationen, welche die Spieler nicht haben können.\n\n\n"
eerndrest = eerndrest.."'''<span style='color:#BB0011;'>Interaktionen:</span>'''\nInteraktionen sind aktive Szenen, die eine Interaktion mit den Spielern erfordern.\n\n"
end
end
if(tabContains(stext,"Cursiv")) then  
if(tabContains(stext,"Kursiv")) then  
eerndrest = eerndrest.."''Cursive Texte:''\n\nCursive Texte können wörtlich vorgetragen werden und beinhalten meist direkte Rede oder Beschreibungen.\n\n\n"
eerndrest = eerndrest.."''Kursive Texte:''\nKursive Texte können wörtlich vorgetragen werden und beinhalten meist direkte Rede oder Beschreibungen.\n\n"
end
end
if(tabContains(stext,"Probe")) then  
if(tabContains(stext,"Probe")) then  
eerndrest = eerndrest.."'''<span style='color:#31B404;'>Proben:</span>'''\n\nSteht für mögliche Talentwürfe, welche die Spieler ablegen müssen.\n\n\n"
eerndrest = eerndrest.."'''<span style='color:#31B404;'>Proben:</span>'''\nSteht für mögliche Talentwürfe, welche die Spieler ablegen müssen.\n\n"
end
end
if(tabContains(stext,"Moral")) then  
if(tabContains(stext,"Moral")) then  
eerndrest = eerndrest.."'''<span style='color:#00b8ff;'>Moral:</span>'''\n\nBeinhaltet Situationen, an denen die Spieler moralische Fragen beantworten müssen, die sich auf den Verlauf des Abenteuers auswirken können.\n\n\n"
eerndrest = eerndrest.."'''<span style='color:#00b8ff;'>Moral:</span>'''\nBeinhaltet Situationen, an denen die Spieler moralische Fragen beantworten müssen, die sich auf den Verlauf des Abenteuers auswirken können.\n\n"
end
end
if(tabContains(stext,"Module")) then  
if(tabContains(stext,"Module")) then  
eerndrest = eerndrest.."'''<span style='color:#4B088A;'>Module:</span>'''\n\nBeinhalten Regeln, die zusätzlich zum Grundregelwerk in diesem Abenteuer verwendet werden.\n\n\n"
eerndrest = eerndrest.."'''<span style='color:#4B088A;'>Module:</span>'''\nBeinhalten Regeln, die zusätzlich zum Grundregelwerk in diesem Abenteuer verwendet werden.\n\n"
end
end
return eerndrest
if(tabContains(stext,"Module2")) then
eerndrest = eerndrest.."'''<span style='color:#0014ff;'>Module 2:</span>'''\nBeinhaltet ebenfalls Regeln, eines anderen Modul allerdings, die farblich vom ersten Modul abgegrenzt sind.\n\n"
end
if(tabContains(stext,"Box")) then
eerndrest = eerndrest.."<div class='box'>'''Boxen:''' Boxen stehen für Spielleiterhinweise und beinhalten meist Hintergrundinformationen, welche die Spieler nicht haben können.</div>\n\n"
end
return string.sub(eerndrest,0,string.len(eerndrest)-2)
end
end


function p.ygggegerror ( frame )
function p.ygggegerror ( frame )
displayedtext = "\n\n----\n\n"
displayedtext = "\n\n----\n\n"
titasdfle = mw.title.new( "Gegenstände", "Yggdrasil" )
listeeins, listezwei = gegapi()
contendasdat = titasdfle:getContent()
tabbb = headertotable(contendasdat)
headerends = {}
headerends = {}
for eines,zweites in pairs(tabbb) do
schlagworte = schlagwortliste()
if (tablelength(zweites) == 3) then
for eines,zweites in pairs(listeeins) do
table.insert(headerends,zweites[3])
table.insert(headerends,listeeins[eines]["Name"])
end
for qfsdf,zweihgfhgtes in pairs(listeeins[eines]["Schlagwörter"]) do
if (tabContains(schlagworte,zweihgfhgtes)==nil) then
displayedtext = displayedtext..'<span style="color:red;"><big><big><big> Falsches Schlagwort gefunden: "'..zweihgfhgtes..'"'..", unter: '''("..listeeins[eines]["Category"].." - "..listeeins[eines]["Subcategory"].." - "..listeeins[eines]["Name"]..")'''!Bitte Ändern!</big></big></big>"..'</span>\n\n----\n\n'
end
end
end
end
dupeeee = duptable(headerends)
dupeeeetab = duptable(headerends)
if (dupeeee~=nil) then
for zup,dupeeee in pairs(dupeeeetab) do
displayedtext = displayedtext..'<span style="color:red;"><big><big><big><big><big><big><big><big>Duplikat gefunden: "'..dupeeee..'" !Bitte Ändern!</big></big></big></big></big></big></big></big></span>\n\n----\n\n'
if (dupeeee~=nil) then
displayedtext = displayedtext..'<span style="color:red;"><big><big><big>Duplikat gefunden: "'..listeeins[dupeeee[1]]["Name"]..'"'..", unter: '''("..listeeins[dupeeee[1]]["Category"]..' - '..listeeins[dupeeee[1]]["Subcategory"]..")''' und unter: '''("..listeeins[dupeeee[2]]["Category"]..' - '..listeeins[dupeeee[2]]["Subcategory"]..")''' !Bitte Ändern!</big></big></big>"..'</span>\n\n----\n\n'
end
end
end
return displayedtext
return displayedtext


end
end
function p.testzwei ( frame )
return frame.args["test"]
end
function p.cur ( frame )
thingtext = frame.args[1]
thingtext = string.gsub(thingtext, "(\n+)", "''%1''")
return thingtext
end
function p.probe ( frame )
return "'''<span style='color:#31B404;'>"..string.gsub(frame.args[1], "(\n+)" , "</span>'''%1'''<span style='color:#31B404;'>").."</span>'''"
end
function p.taglist ( frame )
currenttagstate = frame.args[2]
currentcatstate = frame.args[3]
currentsite = frame.args[1]
allsetcats = categorylist()
allsetags = schlagwortliste()
if (string.len(currenttagstate)~=tablelength(allsetags)) then
currenttagstate = zeros(tablelength(allsetags))
end
if (string.len(currentcatstate)~=doubletablelength(allsetcats)) then
currentcatstate = zeros(doubletablelength(allsetcats))
end
sefinalendtext = '{|class="tagholder"\n|style="width:40%"|\n'
tagstatelength = string.len(currenttagstate)
catstatelength = string.len(currentcatstate)
countcat = 1
for curcatname,cursubcats in pairs(allsetcats) do
cursublength = tablelength(cursubcats)
catstdif = catstatelength-cursublength+1
sefinalendtext = sefinalendtext..'{|class="'..nummulttran(currentcatstate,catstdif,catstatelength)..'"\n|'..nummulttranlinkopen(currentcatstate,catstdif,catstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..currenttagstate..'&catstate='..multchangebinall(currentcatstate, catstdif, catstatelength).." "..curcatname..":]</span>\n"
nowcatstatelength = catstatelength-cursublength
while (catstatelength>nowcatstatelength) do
cursubcatname = allsetcats[curcatname][catstatelength-nowcatstatelength]
sefinalendtext = sefinalendtext..'{|class="'..numtrancat(currentcatstate,catstatelength)..'"\n|'..numtranlinkopen(currentcatstate,catstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..currenttagstate..'&catstate='..changebin(currentcatstate,catstatelength).." "..cursubcatname.."]</span>\n|}\n"--..numtranlinkopen(
catstatelength = catstatelength-1
end
sefinalendtext = sefinalendtext.."\n|}"
if (countcat%2==0) then
sefinalendtext = sefinalendtext.."\n<div>\n\n</div>\n"
else
sefinalendtext = sefinalendtext.."\n"
end
countcat=countcat+1
end
sefinalendtext = sefinalendtext..'|style="width:40%"|\n'
    while (tagstatelength>0) do
        sefinalendtext=sefinalendtext..'{|class="'..numtran(currenttagstate,tagstatelength)..'"\n|'..numtranlinkopen(currenttagstate,tagstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..changebin(currenttagstate,tagstatelength)..'&catstate='..currentcatstate.." "..allsetags[tagstatelength]..' •]</span>\n|}\n'
tagstatelength = tagstatelength-1
end
    sefinalendtext=sefinalendtext..'|style="width:20%"|\n'
senosort, secatliste= getpartapi(currenttagstate,currentcatstate)
sefinalendtext=sefinalendtext..'|-\n|colspan="5" align="left"|\n'
yggtabaapie = getyggtabapi(currenttagstate,currentcatstate)
descuu = getdes()
for nasf, dgasd in pairs(yggtabaapie) do
sefinalendtext = sefinalendtext.."=="..nasf.."==\n\n<big><big>"..descuu[nasf].."</big></big>\n\n"
for nassfsf, dgadasd in pairs(dgasd) do
sefinalendtext = sefinalendtext.."==="..nassfsf.."===\n\n<big><big>"..descuu[nassfsf].."</big></big>\n\n"
for nasfgjsfsf, dgagdfgdasd in pairs(dgadasd) do
sefinalendtext = sefinalendtext.."===="..nasfgjsfsf.."====\n\n"
frargs = {[1] = dgagdfgdasd["TabID"], [2] = dgagdfgdasd["Img"]}
rfr = frame
rfr.args = frargs
sefinalendtext = sefinalendtext..p.yggtab(rfr).."\n\n"
end
end
end
sefinalendtext = sefinalendtext.."|}"
--resulttext = yggtabaapie["log"]
return sefinalendtext.."\n\n"
end
function p.kampflist ( frame )
seendthingi = '{|style="display: inline-block;"\n|'..string.gsub(frame.args[1], "§§§",'\n|}\n{|style="display: inline-block;"\n|')..'\n|}'
return seendthingi
end
function p.howhlp ( frame )
if (frame.args[1]=="") then
return "'''None'''"
else
--return frame.args[1]
return "*[[Spielwiese:HowHlp/"..string.sub(frame.args[1],7):gsub("§§§","]]\n*[[Spielwiese:HowHlp/").."]]"
end
end
function p.testi ( frame )
return getdes()["Kampfutensilien"]
end
function p.abenteuersort( frame )
output = ""
categories = mw.ext.dpl.getFullpagenames({["category"] =  "AbenteuerBack" })
for i,v in ipairs(categories) do
      output = output..v.."<br \>"
    end
return output
end




return p
return p
--§§§

Aktuelle Version vom 12. Oktober 2021, 20:40 Uhr

Die Dokumentation für dieses Modul kann unter Modul:X/Doku erstellt werden

local p = {} --local p = {} -- p steht für Paket (engl. package)

require( "Module:Xfunc" )
function p.cutblock ( frame )
	text = frame.args[3]-- "Die Schmiede"
	width = tonumber(frame.args[2]) -- 4
	height = tonumber(frame.args[1]) -- 12
	block = ""
	textlen = string.len(text) -- 12
	tempsplit = {}
	
	
	while (height>0 and textlen>=width) do -- 12>0 and 12>=4|11>0 and 11>=4
		tempsplit = split(cut(width, text), "%%%@%%") -- ("Die", "Schmiede")| (
		block = block..tempsplit[1].." " -- "Die "
		text = tempsplit[2] -- "Schmiede"
		height = height-1 -- 11
		if (text==nil) then
			text = ""
		end
		textlen = string.len(text) -- 8
	end
	if (height>0) then
		block = block.." "..text
		text = ""
	end
	
	result = block.."%@%"..text
	result = string.gsub(result, "%§", " ")
	return result


end

function p.cut( frame )
	testtext = ""
	realtext = frame.args[2] --Die Schmiede
	realtext = removespaceinlink(realtext) --Die Schmiede
	srealtext = split(realtext, " ") --Die|Schmiede(list)
	i = 2; --2
	testtext = testtext.."<br \>"..i..": "
	limit = tonumber(frame.args[1]) --4
	text = display(removespaceinlink(realtext)) --Die Schmiede
	stext = split(text, " ") --Die|Schmiede(list)
	
	if(table.getn(stext)==1) then
		if(string.len(stext[1])>limit) then
			return "%@%"..text
		else
			return text.."%@%"
		end
	end
	
	cuttext = stext[1] --Die
	realcuttext = srealtext[1] --Die
	
	nextwo = stext[2] --Schmiede
	realnextwo = srealtext[2] --Schmiede
	
	nextlen = string.len(nextwo)--8
	textlen = string.len(text)--12
	cuttextlen = string.len(cuttext)--3
	
	set = true;
	testtext = testtext.."<br \>"..i..": "..realcuttext
	
	if(limit>=textlen)then --4>=12
		return realtext.."%@%"
	
	elseif(cuttextlen>limit) then--3>4
		return "%@%"..realtext
	
	
	

	else
		while (cuttextlen+nextlen+1<=textlen+2) do --8+3+1<=12+2(12<=14)|14+3+1<=12+2(18<=14)
			
			if(cuttextlen+nextlen+1>limit and set) then --8+3+1>4(12>4)|
				set = false
				cuttext = cuttext.."%@%" --"Die %@%"
				realcuttext = realcuttext.."%@%" --"Die %@%"
				
			else
				cuttext = cuttext.." " --
				realcuttext = realcuttext.." " --
				
			end
			-- testtext = testtext..tostring(i)..": "..realcuttext.."<br />"
			i = i + 1 --3
			
			cuttext = cuttext..nextwo -- "Die%@%Schmiede"
			realcuttext = realcuttext..realnextwo -- "Die%@%Schmiede"
			
			nextwo = stext[i]-- nil
			realnextwo = srealtext[i]-- nil
			
			if (nextwo ~= nil) then
				nextlen = string.len(nextwo) -- 5
			end
			cuttextlen = string.len(cuttext) -- 14
			testtext = testtext.."<br \>"..i..": "..realcuttext
			
		end
		realnextwo = srealtext[i]
		if (realnextwo ~= nil) then
			realcuttext = realcuttext.." "..realnextwo
		end
	end
	testtext = testtext.."<br \>"..(i+1)..": "..realcuttext
	return realcuttext
end

function p.display ( frame )
	text = frame.args[1]
	text = text:gsub("'", "")
	lend = string.len(text)
	i=1
	auf = {}
	zu = {}
	currentauf = string.find(text, "%[%[")
	while (currentauf ~= nil) do
		auf[i] = currentauf;
		if (string.find(string.sub(text,currentauf+2), "%[%[")~=nil)then
			currentauf = currentauf+1+string.find(string.sub(text,currentauf+2), "%[%[")
		else
			currentauf = nil
		end
		
		i=i+1
	end
	
	i=1
	currentzu = string.find(text, "%|")
	while (currentzu ~= nil) do
		zu[i] = currentzu;
		if (string.find(string.sub(text,currentzu+2), "%|")~=nil)then
			currentzu = currentzu+1+string.find(string.sub(text,currentzu+2), "%|")
		else
			currentzu = nil
		end
		i=i+1
	end
	
	offset = 0
	
	if(table.getn(auf) == table.getn(zu))then
		
		 i=1
		 while (table.getn(auf)>=i) do
			anfang = auf[i]
			ende = zu[i]
			tt, uu = string.find(string.sub(text, 1, anfang-offset+1), "%[%[(.+)%|")
			text = string.gsub(string.sub(text, 1, anfang-offset+1), "%[%[(.+)%|", "")..string.sub(text,anfang-offset+2,string.len(text))
			-- text = string.sub(text,1,anfang-offset+1)..string.sub(text,ende+1-offset,string.len(text))
			if (tt ~= nil) and (uu ~= nil) then
				offset = offset+uu-tt
			end
			i=i+1
		 end
		 text = string.gsub(text, "%[%[(.+)%|", "")
	end
	
	-- text = text:gsub("%[", "")
	-- text = text:gsub("%|", "")
	text = text:gsub("%]", "")


	return text
end



function p.split ( frame )
	spl = split(frame.args[1],frame.args[2])
	i=1
	t=""
	while(i<=tablelength(spl)) do
		t = t..spl[i].."\n\n"
		i=i+1
	end

    return t	
end

function p.removespaceinlink(frame)
	text = frame.args[1]
	i=1
	auf = {}
	zu = {}
	currentauf = string.find(text, "%[%[")
	while (currentauf ~= nil) do
		auf[i] = currentauf;
		if (string.find(string.sub(text,currentauf+2), "%[%[")~=nil)then
			currentauf = currentauf+1+string.find(string.sub(text,currentauf+2), "%[%[")
		else
			currentauf = nil
		end
		
		i=i+1
	end
	
	i=1
	currentzu = string.find(text, "%]%]")
	while (currentzu ~= nil) do
		zu[i] = currentzu;
		if (string.find(string.sub(text,currentzu+2), "%]%]")~=nil)then
			currentzu = currentzu+1+string.find(string.sub(text,currentzu+2), "%]%]")
		else
			currentzu = nil
		end
		i=i+1
	end
	if(table.getn(auf) == table.getn(zu))then
		i=1
		while (table.getn(auf)>=i) do
			anfang = auf[i]
			ende = zu[i]
			text = string.sub(text,1,anfang-1)..string.gsub(string.sub(text,anfang,ende)," ","§")..string.sub(text,ende+1,string.len(text))

			i=i+1
		end
	end
	
	return text
end






function p.size ( frame )
	text = frame.args[1]
	return textSize(text)
end





function p.size ( frame )
	text = frame.args[1]
	return textSize(text)
end

function p.findg( frame )
	text = frame.args[1]
	d,s,r = string.find(text, "g")
	return d,s,r

end

function p.indexold
( frame )
	text = frame.args[1]
	stext = split (text, "§§§")
	currentpage = ""
	currentheaders= nil
	finish = ""
	i = 1
	inde = 1
	while (i<=tablelength(stext)) do
		currentpage = stext[i]
		currentheaders = getheaderlimit(currentpage, "Yggdrasil")
		currentpage = string.sub(currentpage, 1, string.len(currentpage)-2)
		headlen = tablelength(currentheaders)
		inde = 1
		while (inde<=headlen) do
			finish = finish.."|[[Yggdrasil:"..currentpage.."#"..currentheaders[inde].."|"..currentheaders[inde].."]]\n|[[Yggdrasil:"..currentpage.."|"..currentpage.."]]\n|-\n"
			
			inde=inde+1
		end
		
		i=i+1
	end
	
	--text = frame.args[1]
	--stext = split (text, "\n")
	--ending = ""
	
	--for i = 1,tablelength(stext),1 do 
	--	currentsplit = split (stext[i], "%>")
	--	leng = tablelength(currentsplit)
	--	ending = ending.."|[[Yggdrasil:"..currentsplit[2].."#"..currentsplit[1].."|"..currentsplit[1].."]]\n|[[Yggdrasil:"..currentsplit[2].."|"..currentsplit[2].."]]\n|-\n"
	--end
	
	return finish
end


function p.yggrassen( frame )
	text = frame.args[1]
	stext = split (text, "\n")
	haupttext = split (text, "'''Nebenrassen'''")[1]
	nebentext = split (text, "'''Nebenrassen'''")[2]
	shaupttext = split (haupttext, "\n")
	snebentext = split (nebentext, "\n")
	ending = "!<big>Hauptrassen</big>\n|-\n"
	
	for i = 2,tablelength(stext),1 do 
		if (stext[i]=="'''Nebenrassen'''") then
			ending = ending.."!<big>Nebenrassen</big>\n|-\n"
		else
			ending = ending.."|<big>'''[[#"..stext[i].."|"..stext[i].."]]'''</big>\n|-\n"
		end
	end
	
	
	

	return ending

end



function p.yggtab( frame )
	text = frame.args[1]
	img = frame.args[2]
	stext = split (text, "§§§")
	exist = true
	imgtext = ''
	if (img~=nil and img~='' and img~='{{{img}}}') then
		imgtext='<div id="yggimg">[[Datei:'..img..']]</div>\n'
		
	end
	i=1
	rettext='{|class="wikitable" style="width: 32%; float:right; margin-top: 0; margin-bottom: 0px;"\n|-\n'
	while (stext[i+1]~=nil) do
		rettext=rettext..'!style="width:32%; padding: 10px;" |'..string.sub(stext[i],2,string.len(stext[i]))..'\n'
		i=i+1
		if (stext[i+1]~=nil and stext[i]~='-') then
			rettext=rettext..'|style="width:68%; padding: 10px;" |'
		end
		
		while (stext[i+1]~=nil and stext[i]~='-') do
			if(string.sub(stext[i],1,1)=='/') then
				rettext=rettext..string.sub(stext[i],2)
			elseif(string.find(stext[i],'#')~=nil) then
				found=string.find(stext[i],'#')
				rettext=rettext..'[[Yggdrasil:'..string.sub(stext[i],1,found-1)..'#'..string.sub(stext[i],found+1,string.len(stext[i]))..'|'..string.sub(stext[i],found+1,string.len(stext[i]))..']]'
				
			else
				rettext=rettext..'[[#'..stext[i]..'|'..stext[i]..']]'
			end
			rettext=rettext..'\n\n'
			i=i+1
		end

		rettext=rettext..'|-\n'
		i=i+1
		
	end
	rettext=rettext..'|}'..stext[i-1]..'\n|style="width:20%; padding: 0; vertical-align:top;"|'..imgtext
	return '{|style="width:100%;"\n|style="width:80%; padding: 0; vertical-align:top;"|\n'..rettext..'\n|}'
end

function p.getpage( frame )
	title = mw.title.new( frame.args[1], frame.args[2] )
	content = title:getContent()
	return content
end

function p.getheader( frame )
	title = mw.title.new( frame.args[1], frame.args[2] )
	content = title:getContent()
	--content = string.gsub(content, "([$$$]+)", "DIESER CHARACTER WIRD NICHT UNTERSTÜTZT")
	content = string.gsub(content, "%=%=+", "§§§")
	content = split("hallo"..content, "§§§")
	i = 2
	length = tablelength(content)
	finaltext=""
	while (i<=length) do
		if (string.match(content[i], "[^[(%s)(%d)(%a)]]")==nil) then
			finaltext = finaltext..content[i].."\n\n"
		end
		i = i + 2
	end
	return finaltext
end



function p.index( frame )
	--content = displaytablevert(getindexformat())
	text = frame.args[1]
	stext = split (text, "§§§")
	currentpage = ""
	currentheaders= nil
	finish = ""
	tempfinish =""
	i = 1
	inde = 1
	while (i<=tablelength(stext)) do
		currentpage = stext[i]
		currentheaders = headertotablelimit(currentpage, "Yggdrasil")
		currentpage = string.sub(currentpage, 1, string.len(currentpage)-2)
		headlen = tablelength(currentheaders)
		inde = 1
		while (inde<=headlen) do
			if (tablelength(currentheaders[inde])==1) then
				tempfinish = getindexformat()[1]
				tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
				
				tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
				
			elseif(tablelength(currentheaders[inde])==2) then
				tempfinish = getindexformat()[2]
				tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
				tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
				
				tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
				
			elseif(tablelength(currentheaders[inde])==3) then
				tempfinish = getindexformat()[3]
				tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
				tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
				tempfinish = string.gsub(tempfinish, "{{{h3}}}", currentheaders[inde][3])
				
				tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h3 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][3].."|"..currentheaders[inde][3].."]]")
				
			elseif(tablelength(currentheaders[inde])==4) then
				tempfinish = getindexformat()[4]
				tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
				tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
				tempfinish = string.gsub(tempfinish, "{{{h3}}}", currentheaders[inde][3])
				tempfinish = string.gsub(tempfinish, "{{{h4}}}", currentheaders[inde][4])
				
				tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h3 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][3].."|"..currentheaders[inde][3].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h4 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][4].."|"..currentheaders[inde][4].."]]")
				
			elseif(tablelength(currentheaders[inde])==5) then
				tempfinish = getindexformat()[5]
				tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
				tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
				tempfinish = string.gsub(tempfinish, "{{{h3}}}", currentheaders[inde][3])
				tempfinish = string.gsub(tempfinish, "{{{h4}}}", currentheaders[inde][4])
				tempfinish = string.gsub(tempfinish, "{{{h5}}}", currentheaders[inde][5])
				
				tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h3 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][3].."|"..currentheaders[inde][3].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h4 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][4].."|"..currentheaders[inde][4].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h5 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][5].."|"..currentheaders[inde][5].."]]")
				
			elseif(tablelength(currentheaders[inde])==6) then
				tempfinish = getindexformat()[6]
				tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
				tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
				tempfinish = string.gsub(tempfinish, "{{{h3}}}", currentheaders[inde][3])
				tempfinish = string.gsub(tempfinish, "{{{h4}}}", currentheaders[inde][4])
				tempfinish = string.gsub(tempfinish, "{{{h5}}}", currentheaders[inde][5])
				tempfinish = string.gsub(tempfinish, "{{{h6}}}", currentheaders[inde][6])
				
				tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h3 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][3].."|"..currentheaders[inde][3].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h4 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][4].."|"..currentheaders[inde][4].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h5 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][5].."|"..currentheaders[inde][5].."]]")
				tempfinish = string.gsub(tempfinish, "{{{h6 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][6].."|"..currentheaders[inde][6].."]]")
				
				
				
			end
			if(tablelength(currentheaders[inde])~=0) then
				if (currentpage=="Religion") then
					currentpagedis = "Religion/Äscher"
				elseif(currentpage=="Religion2") then
					currentpagedis = "Religion/Lacerta"
				elseif(currentpage=="Religion2") then
					currentpagedis = "Religion/Lichtalben"
				elseif(currentpage=="Religion2") then
					currentpagedis = "Religion/Dunkelalben"
				elseif(currentpage=="Religion2") then
					currentpagedis = "Religion/Dweorgo"
				elseif(currentpage=="Religion2") then
					currentpagedis = "Religion/Andere"
				else
					currentpagedis = currentpage
				end
			
				tempfinish = "|"..string.gsub(string.gsub(tempfinish, "{{{page}}}", currentpagedis),"\n", "",1)
				tempfinish = string.gsub(tempfinish, "{{{page link}}}", "[[Yggdrasil:"..currentpage.."|"..currentpagedis.."]]")
				finish = finish..tempfinish.."\n|-\n"
			end
			inde=inde+1
		end
		
		i=i+1
	end
	
	return finish

--<h2>

end

function p.religion( frame )
	ull = ""
	if (frame.args[1]=="1") then
		ull = '{{YggRegister|!Religion:Äscher|Religion2:Lacerta|Religion3:Lichtalben|Religion4:Dubkelalben|Religion5:Dweorgo|Religion6:Andere}}'
	elseif (frame.args[1]=="2") then
		ull = '{{YggRegister|Religion:Äscher|!Religion2:Lacerta|Religion3:Lichtalben|Religion4:Dubkelalben|Religion5:Dweorgo|Religion6:Andere}}'
	elseif (frame.args[1]=="3") then
		ull = '{{YggRegister|Religion:Äscher|Religion2:Lacerta|!Religion3:Lichtalben|Religion4:Dubkelalben|Religion5:Dweorgo|Religion6:Andere}}'
	elseif (frame.args[1]=="4") then
		ull = '{{YggRegister|Religion:Äscher|Religion2:Lacerta|Religion3:Lichtalben|!Religion4:Dubkelalben|Religion5:Dweorgo|Religion6:Andere}}'
	elseif (frame.args[1]=="5") then
		ull = '{{YggRegister|Religion:Äscher|Religion2:Lacerta|Religion3:Lichtalben|Religion4:Dubkelalben|!Religion5:Dweorgo|Religion6:Andere}}'
	elseif (frame.args[1]=="6") then
		ull = '{{YggRegister|Religion:Äscher|Religion2:Lacerta|Religion3:Lichtalben|Religion4:Dubkelalben|Religion5:Dweorgo|!Religion6:Andere}}'
	end
	return ull
end


function p.test( frame )
	dieter, dieter2 = gegapi()
	dieter2 = dieter2["Kampfutensilien"]["Nahkampfwaffen"][1]
	leresti = "Dinge:\n"
    for zahl,dingsi in  pairs(dieter2) do
        leresti = leresti.."*"..zahl..":"
		if (dingsi[1]~=nil) then
			for zahfgsal,didfsdhngsi in  pairs(dingsi) do
				leresti = leresti.." - "..didfsdhngsi
			end
		else
			leresti = leresti.." "..dingsi
		end
		leresti = leresti.."\n"
	end
	
	
	return leresti
	

end

function p.options( frame )
	stext = split (frame.args[1], "§§§")
	lengthi = tablelength(stext)
	finalthing = ""
	tempeins = stext[1]
	tempzwei = stext[2]
	tempdrei = stext[3]
	tempvier = stext[4]
	tempfunf = stext[5]
	tempsech = stext[6]
	tempsieb = stext[7]
	tempacht = stext[8]
	tempneun = stext[9]
	if (lengthi==2) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		finalthing = "*"..tempeins.." (bei 1-50)\n*"..tempzwei.." (bei 51-100)"
	elseif(lengthi==3) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		finalthing = "*"..tempeins.." (Bei 1-33)\n*"..tempzwei.." (Bei 34-66)\n*"..tempdrei.." (Bei 67-99)\n*Bei 100: Reroll"
	elseif(lengthi==4) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		finalthing = "*"..tempeins.." (Bei 1-25)\n*"..tempzwei.." (Bei 26-50)\n*"..tempdrei.." (Bei 51-75)\n*"..tempvier.." (Bei 76-100)"
	elseif(lengthi==5) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		finalthing = "*"..tempeins.." (Bei 1-20)\n*"..tempzwei.." (Bei 21-40)\n*"..tempdrei.." (Bei 41-60)\n*"..tempvier.." (Bei 61-80)\n*"..tempfunf.." (Bei 81-100)"
	elseif(lengthi==6) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		if (string.sub(stext[6],1,1)~="/") then
			tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
		else
			tempsech = string.sub(tempsech,2)
		end
		finalthing = "*"..tempeins.." (Bei 1-16)\n*"..tempzwei.." (Bei 17-32)\n*"..tempdrei.." (Bei 33-48)\n*"..tempvier.." (Bei 49-64)\n*"..tempfunf.." (Bei 65-80)\n*"..tempsech.." (Bei 81-96)\n*Bei 97-100: Reroll"
	elseif(lengthi==7) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		if (string.sub(stext[6],1,1)~="/") then
			tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
		else
			tempsech = string.sub(tempsech,2)
		end
		if (string.sub(stext[7],1,1)~="/") then
			tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
		else
			tempsieb = string.sub(tempsieb,2)
		end
		finalthing = "*"..tempeins.." (Bei 1-14)\n*"..tempzwei.." (Bei 15-28)\n*"..tempdrei.." (Bei 29-42)\n*"..tempvier.." (Bei 43-56)\n*"..tempfunf.." (Bei 57-70)\n*"..tempsech.." (Bei 71-84)\n*"..tempsieb.." (Bei 85-98)\n*Bei 99-100: Reroll"
	elseif(lengthi==8) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		if (string.sub(stext[6],1,1)~="/") then
			tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
		else
			tempsech = string.sub(tempsech,2)
		end
		if (string.sub(stext[7],1,1)~="/") then
			tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
		else
			tempsieb = string.sub(tempsieb,2)
		end
		if (string.sub(stext[8],1,1)~="/") then
			tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
		else
			tempacht = string.sub(tempacht,2)
		end
		finalthing = "*"..tempeins.." (Bei 1-12)\n*"..tempzwei.." (Bei 13-24)\n*"..tempdrei.." (Bei 25-36)\n*"..tempvier.." (Bei 37-48)\n*"..tempfunf.." (Bei 49-60)\n*"..tempsech.." (Bei 61-72)\n*"..tempsieb.." (Bei 73-84)\n*"..tempacht.." (Bei 85-96)\n*Bei 97-100: Reroll"
	elseif(lengthi==9) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		if (string.sub(stext[6],1,1)~="/") then
			tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
		else
			tempsech = string.sub(tempsech,2)
		end
		if (string.sub(stext[7],1,1)~="/") then
			tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
		else
			tempsieb = string.sub(tempsieb,2)
		end
		if (string.sub(stext[8],1,1)~="/") then
			tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
		else
			tempacht = string.sub(tempacht,2)
		end
		if (string.sub(stext[9],1,1)~="/") then
			tempneun = "[[#"..tempneun.."|"..tempneun.."]]"
		else
			tempneun = string.sub(tempneun,2)
		end
		finalthing = "*"..tempeins.." (Bei 1-11)\n*"..tempzwei.." (Bei 12-22)\n*"..tempdrei.." (Bei 23-33)\n*"..tempvier.." (Bei 34-44)\n*"..tempfunf.." (Bei 45-55)\n*"..tempsech.." (Bei 56-66)\n*"..tempsieb.." (Bei 67-77)\n*"..tempacht.." (Bei 78-88)\n*"..tempneun.." (Bei 89-99)\n*Bei 100: Reroll"
	else
		finalthing = "Die Anzahl an ausgewählten Optionen wird nicht unterstützt. Erkundige dich, dass du alles richtig geschrieben hast. Falls dir das Maximum von 9 Optionen nicht reicht wende dich bitte an [[Benutzerin:Murmelgrumpf]]"
	end
	return finalthing
	
end
function p.optionsnodice( frame )
	stext = split (frame.args[1], "§§§")
	lengthi = tablelength(stext)
	finalthing = ""
	tempeins = stext[1]
	tempzwei = stext[2]
	tempdrei = stext[3]
	tempvier = stext[4]
	tempfunf = stext[5]
	tempsech = stext[6]
	tempsieb = stext[7]
	tempacht = stext[8]
	tempneun = stext[9]
	if (lengthi==2) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		finalthing = "*"..tempeins.."\n*"..tempzwei
	elseif(lengthi==3) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei
	elseif(lengthi==4) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier
	elseif(lengthi==5) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf
	elseif(lengthi==6) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		if (string.sub(stext[6],1,1)~="/") then
			tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
		else
			tempsech = string.sub(tempsech,2)
		end
		finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech
	elseif(lengthi==7) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		if (string.sub(stext[6],1,1)~="/") then
			tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
		else
			tempsech = string.sub(tempsech,2)
		end
		if (string.sub(stext[7],1,1)~="/") then
			tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
		else
			tempsieb = string.sub(tempsieb,2)
		end
		finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb
	elseif(lengthi==8) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		if (string.sub(stext[6],1,1)~="/") then
			tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
		else
			tempsech = string.sub(tempsech,2)
		end
		if (string.sub(stext[7],1,1)~="/") then
			tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
		else
			tempsieb = string.sub(tempsieb,2)
		end
		if (string.sub(stext[8],1,1)~="/") then
			tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
		else
			tempacht = string.sub(tempacht,2)
		end
		finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb.."\n*"..tempacht
	elseif(lengthi==9) then
		if (string.sub(stext[1],1,1)~="/") then
			tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
		else
			tempeins = string.sub(tempeins,2)
		end
		if (string.sub(stext[2],1,1)~="/") then
			tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
		else
			tempzwei = string.sub(tempzwei,2)
		end
		if (string.sub(stext[3],1,1)~="/") then
			tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
		else
			tempdrei = string.sub(tempdrei,2)
		end
		if (string.sub(stext[4],1,1)~="/") then
			tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
		else
			tempvier = string.sub(tempvier,2)
		end
		if (string.sub(stext[5],1,1)~="/") then
			tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
		else
			tempfunf = string.sub(tempfunf,2)
		end
		if (string.sub(stext[6],1,1)~="/") then
			tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
		else
			tempsech = string.sub(tempsech,2)
		end
		if (string.sub(stext[7],1,1)~="/") then
			tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
		else
			tempsieb = string.sub(tempsieb,2)
		end
		if (string.sub(stext[8],1,1)~="/") then
			tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
		else
			tempacht = string.sub(tempacht,2)
		end
		if (string.sub(stext[9],1,1)~="/") then
			tempneun = "[[#"..tempneun.."|"..tempneun.."]]"
		else
			tempneun = string.sub(tempneun,2)
		end
		finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb.."\n*"..tempacht.."\n*"..tempneun
	else
		finalthing = "Die Anzahl an ausgewählten Optionen wird nicht unterstützt. Erkundige dich, dass du alles richtig geschrieben hast. Falls dir das Maximum von 9 Optionen nicht reicht wende dich bitte an [[Benutzerin:Murmelgrumpf]]"
	end
	return finalthing
	
end
function p.kampf( frame )
    stext = split (frame.args[1], "§§§")
	lengthi = tablelength(stext)
	curthing = ""
	eendrest = ""
	for nudmbr,crdrent in ipairs(stext) do
		curthing = split (stext[nudmbr], ">")
		eendrest = eendrest.."|"..curthing[1].."\n|"..curthing[2].."\n|"..curthing[3].."\n|-\n"
	end
	return eendrest
end

function p.dia( frame )
    stext = split (frame.args[1], "§§§")
	lengthi = tablelength(stext)
	curthing = ""
	eendrest = ""
	for nudmbr,crdrent in ipairs(stext) do
		curthing = split (stext[nudmbr], ":")
		eendrest = eendrest.."\n'''"..curthing[1]..":'''\n\n„"..curthing[2].."“\n"
	end
	eendrest = string.gsub(eendrest, "(\n[\n%s]*)", "''%1''")
	return eendrest
end
function p.image( frame )
	imaage = "[[Datei:"..frame.args[1]
	if (frame.args[2]~=nil) then
		imaage = imaage.."|"..frame.args[2]
	end
	if (frame.args[3]~=nil) then
		imaage = imaage.."|"..frame.args[3]
	end
	if (frame.args[4]~=nil) then
		imaage = imaage.."|"..frame.args[4]
	end
	if (frame.args[5]~=nil) then
		imaage = imaage.."|"..frame.args[5]
	end
	if (frame.args[6]~=nil) then
		imaage = imaage.."|"..frame.args[6]
	end
	imaage = imaage.."]]"
	return imaage
end


function p.vid( frame )
	stext = split (frame.args[2], "§§§")
	seend = "Hier kannst du das Abenteuer von ["..frame.args[1].."] noch einmal nachschauen! Viel Spaß! :)\n"..'{|class="wikitable"\n|-\n'
    for nuudmbr,curdrent in ipairs(stext) do
		seend = seend.."!Teil "..tostring(nuudmbr).."\n"
	end
	seend = seend.."|-\n"
    for nuudmbr,curdrent in ipairs(stext) do
		seend = seend.."|"..frame:callParserFunction('#tag:youtube', curdrent).."\nFalls das Video nicht richtig angezeigt wird, kannst du es ["..curdrent.." hier] finden.\n"
	end
	seend = seend.."|-\n|}\n"
	return seend
end

function p.talents( frame )
	handeln = split (frame.args[1], "\n")
	wissen = split (frame.args[2], "\n")
	soziales = split (frame.args[3], "\n")
    lenlist = {}
	lenlist[1] = tablelength(handeln)
	lenlist[2] = tablelength(wissen)
	lenlist[3] = tablelength(soziales)
	highesst = gethighest(lenlist)
	intex = 1
	selast = ""
	while (intex<=highesst) do
		selast = selast.."|"
		if (handeln[intex]~=nil) then
			selast = selast..handeln[intex]
		end
		selast = selast.."\n|"
		if (wissen[intex]~=nil) then
			selast = selast..wissen[intex]
		end
		selast = selast.."\n|"
		if (soziales[intex]~=nil) then
			selast = selast..soziales[intex]
		end
		selast = selast.."\n|-\n"
		intex = intex+1
	end
	return selast
end

function p.description( frame )
    stext = split (frame.args[1], "§§§")
	eerndrest=""
	if(tabContains(stext,"Szene")) then 
		eerndrest = eerndrest.."'''Szenen:'''\nSzenen geben Handlung und Orte vor, die die Spieler meist passiv miterleben.\n\n"
	end
	if(tabContains(stext,"Inter")) then 
		eerndrest = eerndrest.."'''<span style='color:#BB0011;'>Interaktionen:</span>'''\nInteraktionen sind aktive Szenen, die eine Interaktion mit den Spielern erfordern.\n\n"
	end
	if(tabContains(stext,"Kursiv")) then 
		eerndrest = eerndrest.."''Kursive Texte:''\nKursive Texte können wörtlich vorgetragen werden und beinhalten meist direkte Rede oder Beschreibungen.\n\n"
	end
	if(tabContains(stext,"Probe")) then 
		eerndrest = eerndrest.."'''<span style='color:#31B404;'>Proben:</span>'''\nSteht für mögliche Talentwürfe, welche die Spieler ablegen müssen.\n\n"
	end
	if(tabContains(stext,"Moral")) then 
		eerndrest = eerndrest.."'''<span style='color:#00b8ff;'>Moral:</span>'''\nBeinhaltet Situationen, an denen die Spieler moralische Fragen beantworten müssen, die sich auf den Verlauf des Abenteuers auswirken können.\n\n"
	end
	if(tabContains(stext,"Module")) then 
		eerndrest = eerndrest.."'''<span style='color:#4B088A;'>Module:</span>'''\nBeinhalten Regeln, die zusätzlich zum Grundregelwerk in diesem Abenteuer verwendet werden.\n\n"
	end
	if(tabContains(stext,"Module2")) then 
		eerndrest = eerndrest.."'''<span style='color:#0014ff;'>Module 2:</span>'''\nBeinhaltet ebenfalls Regeln, eines anderen Modul allerdings, die farblich vom ersten Modul abgegrenzt sind.\n\n"
	end
	if(tabContains(stext,"Box")) then 
		eerndrest = eerndrest.."<div class='box'>'''Boxen:''' Boxen stehen für Spielleiterhinweise und beinhalten meist Hintergrundinformationen, welche die Spieler nicht haben können.</div>\n\n"
	end
	return string.sub(eerndrest,0,string.len(eerndrest)-2)
end

function p.ygggegerror ( frame )
	displayedtext = "\n\n----\n\n"
	listeeins, listezwei = gegapi()
	headerends = {}
	schlagworte = schlagwortliste()
	for eines,zweites in pairs(listeeins) do
		table.insert(headerends,listeeins[eines]["Name"])
		for qfsdf,zweihgfhgtes in pairs(listeeins[eines]["Schlagwörter"]) do
			if (tabContains(schlagworte,zweihgfhgtes)==nil) then
				displayedtext = displayedtext..'<span style="color:red;"><big><big><big> Falsches Schlagwort gefunden: "'..zweihgfhgtes..'"'..", unter: '''("..listeeins[eines]["Category"].." - "..listeeins[eines]["Subcategory"].." - "..listeeins[eines]["Name"]..")'''!Bitte Ändern!</big></big></big>"..'</span>\n\n----\n\n'
			end
		end
	end
	dupeeeetab = duptable(headerends)
	for zup,dupeeee in pairs(dupeeeetab) do
		if (dupeeee~=nil) then
			displayedtext = displayedtext..'<span style="color:red;"><big><big><big>Duplikat gefunden: "'..listeeins[dupeeee[1]]["Name"]..'"'..", unter: '''("..listeeins[dupeeee[1]]["Category"]..' - '..listeeins[dupeeee[1]]["Subcategory"]..")''' und unter: '''("..listeeins[dupeeee[2]]["Category"]..' - '..listeeins[dupeeee[2]]["Subcategory"]..")''' !Bitte Ändern!</big></big></big>"..'</span>\n\n----\n\n'
		end
	end
	
	
	return displayedtext

end

function p.testzwei ( frame )

	
	return frame.args["test"]
end

function p.cur ( frame )
	thingtext = frame.args[1]
	thingtext = string.gsub(thingtext, "(\n+)", "''%1''")
	return thingtext
end

function p.probe ( frame )
	return "'''<span style='color:#31B404;'>"..string.gsub(frame.args[1], "(\n+)" , "</span>'''%1'''<span style='color:#31B404;'>").."</span>'''"
end

function p.taglist ( frame )
	currenttagstate = frame.args[2]
	currentcatstate = frame.args[3]
	currentsite = frame.args[1]
	allsetcats = categorylist()
	allsetags = schlagwortliste()
	if (string.len(currenttagstate)~=tablelength(allsetags)) then
		currenttagstate = zeros(tablelength(allsetags))
	end
	if (string.len(currentcatstate)~=doubletablelength(allsetcats)) then
		currentcatstate = zeros(doubletablelength(allsetcats))
	end
	
	
	sefinalendtext = '{|class="tagholder"\n|style="width:40%"|\n'
	tagstatelength = string.len(currenttagstate)
	catstatelength = string.len(currentcatstate)
	countcat = 1
	
	for curcatname,cursubcats in pairs(allsetcats) do
		cursublength = tablelength(cursubcats)
		catstdif = catstatelength-cursublength+1
		
		sefinalendtext = sefinalendtext..'{|class="'..nummulttran(currentcatstate,catstdif,catstatelength)..'"\n|'..nummulttranlinkopen(currentcatstate,catstdif,catstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..currenttagstate..'&catstate='..multchangebinall(currentcatstate, catstdif, catstatelength).." "..curcatname..":]</span>\n" 
		nowcatstatelength = catstatelength-cursublength
		while (catstatelength>nowcatstatelength) do
			cursubcatname = allsetcats[curcatname][catstatelength-nowcatstatelength]
			sefinalendtext = sefinalendtext..'{|class="'..numtrancat(currentcatstate,catstatelength)..'"\n|'..numtranlinkopen(currentcatstate,catstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..currenttagstate..'&catstate='..changebin(currentcatstate,catstatelength).." "..cursubcatname.."]</span>\n|}\n"--..numtranlinkopen(
			catstatelength = catstatelength-1
		end
		sefinalendtext = sefinalendtext.."\n|}"
		if (countcat%2==0) then
			sefinalendtext = sefinalendtext.."\n<div>\n\n</div>\n"
		
		else
			sefinalendtext = sefinalendtext.."\n"
		end
		countcat=countcat+1
			
	end
	
	sefinalendtext = sefinalendtext..'|style="width:40%"|\n'
    while (tagstatelength>0) do
        sefinalendtext=sefinalendtext..'{|class="'..numtran(currenttagstate,tagstatelength)..'"\n|'..numtranlinkopen(currenttagstate,tagstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..changebin(currenttagstate,tagstatelength)..'&catstate='..currentcatstate.." "..allsetags[tagstatelength]..' •]</span>\n|}\n'
		tagstatelength = tagstatelength-1
	end
		
    sefinalendtext=sefinalendtext..'|style="width:20%"|\n'

	senosort, secatliste= getpartapi(currenttagstate,currentcatstate)
	
	sefinalendtext=sefinalendtext..'|-\n|colspan="5" align="left"|\n'
	
	
	
	
	
	yggtabaapie = getyggtabapi(currenttagstate,currentcatstate)
	descuu = getdes()
	for nasf, dgasd in pairs(yggtabaapie) do
		sefinalendtext = sefinalendtext.."=="..nasf.."==\n\n<big><big>"..descuu[nasf].."</big></big>\n\n"
		for nassfsf, dgadasd in pairs(dgasd) do
			sefinalendtext = sefinalendtext.."==="..nassfsf.."===\n\n<big><big>"..descuu[nassfsf].."</big></big>\n\n"
			for nasfgjsfsf, dgagdfgdasd in pairs(dgadasd) do
				sefinalendtext = sefinalendtext.."===="..nasfgjsfsf.."====\n\n"
				frargs = {[1] = dgagdfgdasd["TabID"], [2] = dgagdfgdasd["Img"]}
				rfr = frame
				rfr.args = frargs
				sefinalendtext = sefinalendtext..p.yggtab(rfr).."\n\n"
			end
		end
	end
	sefinalendtext = sefinalendtext.."|}"
	--resulttext = yggtabaapie["log"]
	
	return sefinalendtext.."\n\n"
end

function p.kampflist ( frame )
	seendthingi = '{|style="display: inline-block;"\n|'..string.gsub(frame.args[1], "§§§",'\n|}\n{|style="display: inline-block;"\n|')..'\n|}'
	return seendthingi
end 

function p.howhlp ( frame )
	if (frame.args[1]=="") then
		return "'''None'''"
	else
		--return frame.args[1]
		return "*[[Spielwiese:HowHlp/"..string.sub(frame.args[1],7):gsub("§§§","]]\n*[[Spielwiese:HowHlp/").."]]"
	end
end

function p.testi ( frame )
	return getdes()["Kampfutensilien"]
	
end

function p.abenteuersort( frame )
	output = ""
	categories = mw.ext.dpl.getFullpagenames({["category"] =  "AbenteuerBack" })
	for i,v in ipairs(categories) do
      output = output..v.."<br \>"
    end
	return output
end




return p
--§§§