WikiFormatierungsWorkshop: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 21: | Zeile 21: | ||
==Neuer Abschnitt== | ==Neuer Abschnitt== | ||
local p = {} --local p = {} -- p steht für Paket (engl. package) | |||
function split (inputstr, sep) | |||
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 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 tabcontainstab(tableoneooop, tabletwoooop) | |||
seanwsrer = true | |||
if (tabletwoooop[1]~=nil) then | |||
for numberindexthingiu, currenttableslothi in pairs(tabletwoooop) do | |||
if (tabContains(tableoneooop,currenttableslothi) == nil) then | |||
seanwsrer = false | |||
end | |||
end | |||
end | |||
return seanwsrer | |||
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 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 = {} | |||
nothertab = {} | |||
for nuamgbr,craregnt in pairs(tabhdhle) do | |||
reallycontains = tabContains(nothertab,craregnt) | |||
if (reallycontains==nil) then | |||
nothertab[nuamgbr] = craregnt | |||
else | |||
tempdupetable = {reallycontains,nuamgbr} | |||
table.insert(dupe,tempdupetable) | |||
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 zeros(intedhfgjdgkztger) | |||
resdgsgst = "" | |||
while (intedhfgjdgkztger>0) do | |||
resdgsgst=resdgsgst.."0" | |||
intedhfgjdgkztger=intedhfgjdgkztger-1 | |||
end | |||
return resdgsgst | |||
end | |||
function ones(intedhfgjdfasgkztger) | |||
resdgsasdgst = "" | |||
while (intedhfgjdfasgkztger>0) do | |||
resdgsasdgst=resdgsasdgst.."1" | |||
intedhfgjdfasgkztger=intedhfgjdfasgkztger-1 | |||
end | |||
return resdgsasdgst | |||
end | |||
function gegapi() | |||
catlist = {} | |||
nosortlist = {} | |||
unforlist = gegvorapi() | |||
temptable = {} | |||
temprest = "" | |||
tempsplittable = {} | |||
nothertempsplittable = {} | |||
tempimg = nil | |||
for numd, keyd in pairs(unforlist) do | |||
temptable = {} | |||
if (catlist[keyd[1]] == nil) then | |||
catlist[keyd[1]] = {} | |||
end | |||
if (catlist[keyd[1]][keyd[2]] == nil) then | |||
catlist[keyd[1]][keyd[2]] = {} | |||
end | |||
if (catlist[keyd[1]][keyd[2]][numd] == nil) then | |||
catlist[keyd[1]][keyd[2]][numd] = {} | |||
end | |||
temptable["Category"] = keyd[1] | |||
temptable["Subcategory"] = keyd[2] | |||
temptable["Name"] = keyd[3] | |||
catlist[keyd[1]][keyd[2]][numd]["Name"] = keyd[3] | |||
temptable["Text"] = string.gsub(string.gsub(split(keyd[4], "\n%|\n")[2],"%}%}",""),"\n\n","") | |||
catlist[keyd[1]][keyd[2]][numd]["Text"] = temptable["Text"] | |||
temprest = split(keyd[4], "\n%|\n")[1] | |||
tempimg = string.match(temprest,"img=.-\n") | |||
anothertemp = "" | |||
if (tempimg~= nil) then | |||
temptable["Img"] = string.sub(tempimg,5) | |||
catlist[keyd[1]][keyd[2]][numd]["Img"] = temptable["Img"] | |||
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 | |||
anothertemp = tempsplittable[intindex] | |||
if (string.find(anothertemp,"/")==1) then | |||
anothertemp = string.sub(anothertemp,2) | |||
elseif (string.find(anothertemp,":")~=nil) then | |||
anothertemp = "[[Yggdrasil:"..split(anothertemp,":")[1].."|"..split(anothertemp,":")[2].."]]" | |||
end | |||
table.insert(nothertempsplittable,anothertemp) | |||
intindex = intindex + 1 | |||
end | |||
temptable[tempsplittable[1]] = copy(nothertempsplittable) | |||
catlist[keyd[1]][keyd[2]][numd][tempsplittable[1]] = temptable[tempsplittable[1]] | |||
if (tempsplittable[1]=="Schlagwörter") then | |||
temptable[tempsplittable[1]] = split(temptable[tempsplittable[1]][1],", ") | |||
catlist[keyd[1]][keyd[2]][numd][tempsplittable[1]] = temptable[tempsplittable[1]] | |||
end | |||
end | |||
table.insert(nosortlist,temptable) | |||
end | |||
return nosortlist, catlist | |||
end | |||
function changebin(binaasdasfgggary, integeeer) | |||
binaaasdfhry = binaasdasfgggary | |||
tochange = string.sub(binaaasdfhry, integeeer, integeeer) | |||
if(tochange == "1") then | |||
binaaasdfhry = string.sub(binaaasdfhry,1,integeeer-1).."0"..string.sub(binaaasdfhry,integeeer+1) | |||
elseif(tochange == "0") then | |||
binaaasdfhry = string.sub(binaaasdfhry,1,integeeer-1).."1"..string.sub(binaaasdfhry,integeeer+1) | |||
end | |||
return binaaasdfhry | |||
end | |||
function multchangebin(binaaghdfghsdgggary, integeeerstart, integeeerend) | |||
while (integeeerstart<=integeeerend) do | |||
binaaghdfghsdgggary = changebin(binaaghdfghsdgggary,integeeerstart) | |||
integeeerstart = integeeerstart+1 | |||
end | |||
return binaaghdfghsdgggary | |||
end | |||
function multset(binaafgdhjhsdgggary, numbertoset, integerstart, integerend) | |||
if (numbertoset == "1") then | |||
binaafgdhjhsdgggary = string.sub(binaafgdhjhsdgggary, 0, integerstart-1)..ones(integerend-integerstart+1)..string.sub(binaafgdhjhsdgggary, integerend+1) | |||
elseif(numbertoset == "0") then | |||
binaafgdhjhsdgggary = string.sub(binaafgdhjhsdgggary, 0, integerstart-1)..zeros(integerend-integerstart+1)..string.sub(binaafgdhjhsdgggary, integerend+1) | |||
end | |||
return binaafgdhjhsdgggary | |||
end | |||
function multchangebinall(binaasdgggary, integerstart, integerend) | |||
izgovouv = string.sub(binaasdgggary, integerstart, integerend) | |||
if (izgovouv~=ones(integerend-integerstart+1)) then | |||
binaasdgggary = multset(binaasdgggary, "1",integerstart, integerend) | |||
else | |||
binaasdgggary = multset(binaasdgggary, "0",integerstart, integerend) | |||
end | |||
return binaasdgggary | |||
end | |||
function tran(integedasfr) | |||
integerotut = integedasfr | |||
if (integedasfr=="1") then | |||
integerotut = "tagselected" | |||
elseif (integedasfr=="0") then | |||
integerotut = "tagunselected" | |||
end | |||
return integerotut | |||
end | |||
function trancat(integdfghedasfr) | |||
integerdfghotut = integdfghedasfr | |||
if (integdfghedasfr=="1") then | |||
integerdfghotut = "catselected" | |||
elseif (integdfghedasfr=="0") then | |||
integerdfghotut = "catunselected" | |||
end | |||
return integerdfghotut | |||
end | |||
function tranlinkopen(integasdedasfr) | |||
integerasdotut = integasdedasfr | |||
if (integasdedasfr=="1") then | |||
integerasdotut = '<span class="linkwhite">' | |||
elseif (integasdedasfr=="0") then | |||
integerasdotut = '<span class="linkred">' | |||
end | |||
return integerasdotut | |||
end | |||
function multtran(intedfgsdggedasfr) | |||
integerodfghdfghtut = intedfgsdggedasfr | |||
if (intedfgsdggedasfr==ones(string.len(intedfgsdggedasfr))) then | |||
integerodfghdfghtut = "tagselected" | |||
else | |||
integerodfghdfghtut = "tagunselected" | |||
end | |||
return integerodfghdfghtut | |||
end | |||
function multtranlinkopen(intedsdfgsdfgfgsdggedasfr) | |||
asdfintegerodfghdfghtut = intedsdfgsdfgfgsdggedasfr | |||
if (intedsdfgsdfgfgsdggedasfr==ones(string.len(intedsdfgsdfgfgsdggedasfr))) then | |||
asdfintegerodfghdfghtut = '<span class="linkwhite">' | |||
else | |||
asdfintegerodfghdfghtut = '<span class="linkred">' | |||
end | |||
return asdfintegerodfghdfghtut | |||
end | |||
function getint(binnnarry, ineetger) | |||
return string.sub(binnnarry,ineetger,ineetger) | |||
end | |||
function getmultint(binnnarry, ineetgerstarti, inteegerendi) | |||
return string.sub(binnnarry,ineetgerstarti,inteegerendi) | |||
end | |||
function numtran(binsnnafsffarry, ineeggsdgtger) | |||
return tran(getint(binsnnafsffarry, ineeggsdgtger)) | |||
end | |||
function numtrancat(binsnsdfnafsffarry, ineegfdfggsdgtger) | |||
return trancat(getint(binsnsdfnafsffarry, ineegfdfggsdgtger)) | |||
end | |||
function numtranlinkopen(binhfghsnnarry, ineegdfsdhgtger) | |||
return tranlinkopen(getint(binhfghsnnarry, ineegdfsdhgtger)) | |||
end | |||
function nummulttran(binsnwrtzeghnarry, ineegsgdfsdhftgereins, ineegsgdfsdhftgerzwei) | |||
return multtran(getmultint(binsnwrtzeghnarry, ineegsgdfsdhftgereins, ineegsgdfsdhftgerzwei)) | |||
end | |||
function nummulttranlinkopen(binsnnarry, ineegtgereins, ineegtgerzwei) | |||
return multtranlinkopen(getmultint(binsnnarry, ineegtgereins, ineegtgerzwei)) | |||
end | |||
function categorylist() | |||
gegasdtitle = mw.title.new( "Gegenstände", "Yggdrasil" ) | |||
gegconfsatent = gegasdtitle:getContent() | |||
tabbfghbb = headertotable(gegconfsatent) | |||
lastlist = {} | |||
for eiwnes,zwwweites in pairs(tabbfghbb) do | |||
if (tablelength(zwwweites) == 1) then | |||
lastlist[zwwweites[1]] = {} | |||
end | |||
if (tablelength(zwwweites) == 2) then | |||
table.insert(lastlist[zwwweites[1]],zwwweites[2]) | |||
end | |||
end | |||
return lastlist --Kategorie-->stringlist:subcategories | |||
end | |||
function doubletablelength(taaabaaabaal) | |||
seendlength = 0 | |||
for iaubgs,aousbd in pairs(taaabaaabaal) do | |||
seendlength = seendlength+tablelength(aousbd) | |||
end | |||
return seendlength | |||
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 | |||
function turnstring (stringtoturn) | |||
turnedstring = "" | |||
while (string.len(stringtoturn)>0) do | |||
turnedstring = string.sub(stringtoturn,1,1)..turnedstring | |||
stringtoturn = string.sub(stringtoturn,2) | |||
end | |||
return turnedstring | |||
end | |||
function turntable (tabletoturn) | |||
turnedtable = {} | |||
intexi = tablelength(tabletoturn) | |||
intexinnorm = 1 | |||
while (intexi>0) do | |||
turnedtable[intexi] = tabletoturn[intexinnorm] | |||
intexi = intexi-1 | |||
intexinnorm = intexinnorm+1 | |||
end | |||
return turnedtable | |||
end | |||
function relevanttags( tttagstate ) | |||
aaltags = schlagwortliste() | |||
endtags = {} | |||
iindexii = 1 | |||
realiindexii = 1 | |||
while (iindexii<=string.len(tttagstate)) do | |||
if (string.sub(tttagstate,iindexii,iindexii)=="1") then | |||
endtags[realiindexii] = aaltags[iindexii] | |||
realiindexii = realiindexii+1 | |||
end | |||
iindexii = iindexii+1 | |||
end | |||
return endtags | |||
end | |||
function relevantcats( cccatstate ) | |||
-- cccatstate = turnstring(cccatstate) | |||
aallcats = categorylist() | |||
endcats = {} | |||
endcats["log"] = "" | |||
iiindexiii = string.len(cccatstate) | |||
for scatname, ssubcatnames in pairs(aallcats) do | |||
endcats["log"] = endcats["log"]..scatname..": \n\n" | |||
for subcatindex, ssubcatname in pairs(turntable(ssubcatnames)) do | |||
if (string.sub(cccatstate,iiindexiii,iiindexiii)=="1") then | |||
if (endcats[scatname] == nil) then | |||
endcats[scatname] = {} | |||
end | |||
table.insert(endcats[scatname], ssubcatname) | |||
endcats["log"] = endcats["log"]..ssubcatname.." "..string.sub(cccatstate,iiindexiii,iiindexiii).."\n\n" | |||
end | |||
iiindexiii = iiindexiii-1 | |||
end | |||
cccatstate = string.sub(cccatstate,1, iiindexiii) | |||
iiindexiii = string.len(cccatstate) | |||
end | |||
return endcats | |||
end | |||
function getpartapi(ttagstate, ccatstate) | |||
nosorttlist, cattlist = getapi() | |||
end | |||
--################################################################################################################################################################## | |||
--################################################################################################################################################################## | |||
--################################################################################################################################################################## | |||
--################################################################################################################################################################## | |||
--################################################################################################################################################################## | |||
--################################################################################################################################################################## | |||
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 ein mal 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.."|"..curdrent.."\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,"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[1] | |||
currentcatstate = frame.args[2] | |||
allsetcats = categorylist() | |||
allsetags = schlagwortliste() | |||
if (string.len(currenttagstate)~=tablelength(allsetags)) then | |||
currenttagstate = zeros(tablelength(allsetags)) | |||
end | |||
if (string.len(currentcatstate)~=doubletablelength(allsetcats)) then | |||
currentcatstate = ones(doubletablelength(allsetcats)) | |||
end | |||
currentsite = "Tagtest" | |||
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' | |||
sefinalendtext=sefinalendtext..'|}' | |||
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.testi ( frame ) | |||
return "{{YggTab}}" | |||
end | |||
return p |
Version vom 17. Juni 2020, 16:09 Uhr
Alle Objekte, welche primär für den Kampf gedacht sind
Szenen: Szenen geben Handlung und Orte vor, die die Spieler meist passiv miterleben.
Interaktionen: Interaktionen sind aktive Szenen, die eine Interaktion mit den Spielern erfordern.
Kursive Texte: Kursive Texte können wörtlich vorgetragen werden und beinhalten meist direkte Rede oder Beschreibungen.
Proben: Steht für mögliche Talentwürfe, welche die Spieler ablegen müssen.
Moral: Beinhaltet Situationen, an denen die Spieler moralische Fragen beantworten müssen, die sich auf den Verlauf des Abenteuers auswirken können.
Module: Beinhalten Regeln, die zusätzlich zum Grundregelwerk in diesem Abenteuer verwendet werden.
sdfg
Neuer Abschnitt
fsgsdg
Neuer Abschnitt
Neuer Abschnitt
Neuer Abschnitt
local p = {} --local p = {} -- p steht für Paket (engl. package)
function split (inputstr, sep)
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 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 tabcontainstab(tableoneooop, tabletwoooop) seanwsrer = true if (tabletwoooop[1]~=nil) then for numberindexthingiu, currenttableslothi in pairs(tabletwoooop) do if (tabContains(tableoneooop,currenttableslothi) == nil) then seanwsrer = false end end end return seanwsrer 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 getindexformat() title = mw.title.new( "Indexformat", "Yggdrasil" ) content = title:getContent()
content = string.gsub(content, ".-
" , "!!!") content = string.gsub(content, "
.*" , "") content = string.gsub(content, ".*
" , "") 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.."
"..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.."
"..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.."
" 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.."
"..i..": "..realcuttext end realnextwo = srealtext[i] if (realnextwo ~= nil) then realcuttext = realcuttext.." "..realnextwo end end testtext = testtext.."
"..(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 = {} nothertab = {} for nuamgbr,craregnt in pairs(tabhdhle) do reallycontains = tabContains(nothertab,craregnt) if (reallycontains==nil) then nothertab[nuamgbr] = craregnt else tempdupetable = {reallycontains,nuamgbr} table.insert(dupe,tempdupetable) 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 zeros(intedhfgjdgkztger) resdgsgst = "" while (intedhfgjdgkztger>0) do resdgsgst=resdgsgst.."0" intedhfgjdgkztger=intedhfgjdgkztger-1 end return resdgsgst end function ones(intedhfgjdfasgkztger) resdgsasdgst = "" while (intedhfgjdfasgkztger>0) do resdgsasdgst=resdgsasdgst.."1" intedhfgjdfasgkztger=intedhfgjdfasgkztger-1 end return resdgsasdgst end function gegapi() catlist = {} nosortlist = {} unforlist = gegvorapi() temptable = {} temprest = "" tempsplittable = {} nothertempsplittable = {} tempimg = nil for numd, keyd in pairs(unforlist) do temptable = {} if (catlist[keyd[1]] == nil) then catlist[keyd[1]] = {} end if (catlist[keyd[1]][keyd[2]] == nil) then catlist[keyd[1]][keyd[2]] = {} end if (catlist[keyd[1]][keyd[2]][numd] == nil) then catlist[keyd[1]][keyd[2]][numd] = {} end temptable["Category"] = keyd[1] temptable["Subcategory"] = keyd[2] temptable["Name"] = keyd[3] catlist[keyd[1]][keyd[2]][numd]["Name"] = keyd[3] temptable["Text"] = string.gsub(string.gsub(split(keyd[4], "\n%|\n")[2],"%}%}",""),"\n\n","") catlist[keyd[1]][keyd[2]][numd]["Text"] = temptable["Text"] temprest = split(keyd[4], "\n%|\n")[1] tempimg = string.match(temprest,"img=.-\n") anothertemp = "" if (tempimg~= nil) then temptable["Img"] = string.sub(tempimg,5) catlist[keyd[1]][keyd[2]][numd]["Img"] = temptable["Img"] 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 anothertemp = tempsplittable[intindex] if (string.find(anothertemp,"/")==1) then anothertemp = string.sub(anothertemp,2) elseif (string.find(anothertemp,":")~=nil) then anothertemp = "[[Yggdrasil:"..split(anothertemp,":")[1].."|"..split(anothertemp,":")[2].."]]" end table.insert(nothertempsplittable,anothertemp) intindex = intindex + 1 end temptable[tempsplittable[1]] = copy(nothertempsplittable) catlist[keyd[1]][keyd[2]][numd][tempsplittable[1]] = temptable[tempsplittable[1]] if (tempsplittable[1]=="Schlagwörter") then temptable[tempsplittable[1]] = split(temptable[tempsplittable[1]][1],", ") catlist[keyd[1]][keyd[2]][numd][tempsplittable[1]] = temptable[tempsplittable[1]] end end table.insert(nosortlist,temptable) end return nosortlist, catlist end function changebin(binaasdasfgggary, integeeer) binaaasdfhry = binaasdasfgggary tochange = string.sub(binaaasdfhry, integeeer, integeeer) if(tochange == "1") then binaaasdfhry = string.sub(binaaasdfhry,1,integeeer-1).."0"..string.sub(binaaasdfhry,integeeer+1) elseif(tochange == "0") then binaaasdfhry = string.sub(binaaasdfhry,1,integeeer-1).."1"..string.sub(binaaasdfhry,integeeer+1) end return binaaasdfhry end function multchangebin(binaaghdfghsdgggary, integeeerstart, integeeerend) while (integeeerstart<=integeeerend) do binaaghdfghsdgggary = changebin(binaaghdfghsdgggary,integeeerstart) integeeerstart = integeeerstart+1 end return binaaghdfghsdgggary end function multset(binaafgdhjhsdgggary, numbertoset, integerstart, integerend) if (numbertoset == "1") then binaafgdhjhsdgggary = string.sub(binaafgdhjhsdgggary, 0, integerstart-1)..ones(integerend-integerstart+1)..string.sub(binaafgdhjhsdgggary, integerend+1) elseif(numbertoset == "0") then binaafgdhjhsdgggary = string.sub(binaafgdhjhsdgggary, 0, integerstart-1)..zeros(integerend-integerstart+1)..string.sub(binaafgdhjhsdgggary, integerend+1) end return binaafgdhjhsdgggary end function multchangebinall(binaasdgggary, integerstart, integerend) izgovouv = string.sub(binaasdgggary, integerstart, integerend) if (izgovouv~=ones(integerend-integerstart+1)) then binaasdgggary = multset(binaasdgggary, "1",integerstart, integerend) else binaasdgggary = multset(binaasdgggary, "0",integerstart, integerend) end return binaasdgggary end function tran(integedasfr) integerotut = integedasfr if (integedasfr=="1") then integerotut = "tagselected" elseif (integedasfr=="0") then integerotut = "tagunselected" end return integerotut end function trancat(integdfghedasfr) integerdfghotut = integdfghedasfr if (integdfghedasfr=="1") then integerdfghotut = "catselected" elseif (integdfghedasfr=="0") then integerdfghotut = "catunselected" end return integerdfghotut end function tranlinkopen(integasdedasfr) integerasdotut = integasdedasfr if (integasdedasfr=="1") then integerasdotut = '' elseif (integasdedasfr=="0") then integerasdotut = '' end return integerasdotut end function multtran(intedfgsdggedasfr) integerodfghdfghtut = intedfgsdggedasfr if (intedfgsdggedasfr==ones(string.len(intedfgsdggedasfr))) then integerodfghdfghtut = "tagselected" else integerodfghdfghtut = "tagunselected" end return integerodfghdfghtut end function multtranlinkopen(intedsdfgsdfgfgsdggedasfr) asdfintegerodfghdfghtut = intedsdfgsdfgfgsdggedasfr if (intedsdfgsdfgfgsdggedasfr==ones(string.len(intedsdfgsdfgfgsdggedasfr))) then asdfintegerodfghdfghtut = '' else asdfintegerodfghdfghtut = '' end return asdfintegerodfghdfghtut end function getint(binnnarry, ineetger) return string.sub(binnnarry,ineetger,ineetger) end function getmultint(binnnarry, ineetgerstarti, inteegerendi) return string.sub(binnnarry,ineetgerstarti,inteegerendi) end function numtran(binsnnafsffarry, ineeggsdgtger) return tran(getint(binsnnafsffarry, ineeggsdgtger)) end function numtrancat(binsnsdfnafsffarry, ineegfdfggsdgtger) return trancat(getint(binsnsdfnafsffarry, ineegfdfggsdgtger)) end function numtranlinkopen(binhfghsnnarry, ineegdfsdhgtger) return tranlinkopen(getint(binhfghsnnarry, ineegdfsdhgtger)) end function nummulttran(binsnwrtzeghnarry, ineegsgdfsdhftgereins, ineegsgdfsdhftgerzwei) return multtran(getmultint(binsnwrtzeghnarry, ineegsgdfsdhftgereins, ineegsgdfsdhftgerzwei)) end function nummulttranlinkopen(binsnnarry, ineegtgereins, ineegtgerzwei) return multtranlinkopen(getmultint(binsnnarry, ineegtgereins, ineegtgerzwei)) end function categorylist() gegasdtitle = mw.title.new( "Gegenstände", "Yggdrasil" ) gegconfsatent = gegasdtitle:getContent() tabbfghbb = headertotable(gegconfsatent) lastlist = {} for eiwnes,zwwweites in pairs(tabbfghbb) do if (tablelength(zwwweites) == 1) then lastlist[zwwweites[1]] = {} end if (tablelength(zwwweites) == 2) then table.insert(lastlist[zwwweites[1]],zwwweites[2]) end end return lastlist --Kategorie-->stringlist:subcategories end function doubletablelength(taaabaaabaal) seendlength = 0 for iaubgs,aousbd in pairs(taaabaaabaal) do seendlength = seendlength+tablelength(aousbd) end return seendlength 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 function turnstring (stringtoturn) turnedstring = "" while (string.len(stringtoturn)>0) do turnedstring = string.sub(stringtoturn,1,1)..turnedstring stringtoturn = string.sub(stringtoturn,2) end return turnedstring end function turntable (tabletoturn) turnedtable = {} intexi = tablelength(tabletoturn) intexinnorm = 1 while (intexi>0) do turnedtable[intexi] = tabletoturn[intexinnorm] intexi = intexi-1 intexinnorm = intexinnorm+1 end return turnedtable end function relevanttags( tttagstate ) aaltags = schlagwortliste() endtags = {} iindexii = 1 realiindexii = 1 while (iindexii<=string.len(tttagstate)) do if (string.sub(tttagstate,iindexii,iindexii)=="1") then endtags[realiindexii] = aaltags[iindexii] realiindexii = realiindexii+1 end iindexii = iindexii+1 end return endtags end function relevantcats( cccatstate ) -- cccatstate = turnstring(cccatstate) aallcats = categorylist() endcats = {} endcats["log"] = "" iiindexiii = string.len(cccatstate) for scatname, ssubcatnames in pairs(aallcats) do endcats["log"] = endcats["log"]..scatname..": \n\n" for subcatindex, ssubcatname in pairs(turntable(ssubcatnames)) do if (string.sub(cccatstate,iiindexiii,iiindexiii)=="1") then if (endcats[scatname] == nil) then endcats[scatname] = {} end table.insert(endcats[scatname], ssubcatname) endcats["log"] = endcats["log"]..ssubcatname.." "..string.sub(cccatstate,iiindexiii,iiindexiii).."\n\n" end iiindexiii = iiindexiii-1 end cccatstate = string.sub(cccatstate,1, iiindexiii) iiindexiii = string.len(cccatstate) end return endcats end function getpartapi(ttagstate, ccatstate) nosorttlist, cattlist = getapi() end --################################################################################################################################################################## --################################################################################################################################################################## --################################################################################################################################################################## --################################################################################################################################################################## --################################################################################################################################################################## --################################################################################################################################################################## 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.."
"..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.."
"..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.."
" 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.."
"..i..": "..realcuttext end realnextwo = srealtext[i] if (realnextwo ~= nil) then realcuttext = realcuttext.." "..realnextwo end end testtext = testtext.."
"..(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|"..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 = "!Hauptrassen\n|-\n" for i = 2,tablelength(stext),1 do if (stext[i]=="Nebenrassen") then ending = ending.."!Nebenrassen\n|-\n" else ending = ending.."|[[#"..stext[i].."|"..stext[i].."]]\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='\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}}}", ""..currentpagedis.."") finish = finish..tempfinish.."\n|-\n" end inde=inde+1 end i=i+1 end return finish --end function p.religion( frame ) ull = "" if (frame.args[1]=="1") then ull = ' Dinge: *Schaden: - Schaden *Name: Nasdfgsdhame *Text: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. *Schlagwörter: - Abenteuerausrüstung - Lebend *Erwerb: - Erwerb *Kosten: - Geld
' elseif (frame.args[1]=="2") then ull = ' Dinge: *Schaden: - Schaden *Name: Nasdfgsdhame *Text: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. *Schlagwörter: - Abenteuerausrüstung - Lebend *Erwerb: - Erwerb *Kosten: - Geld
' elseif (frame.args[1]=="3") then ull = ' Dinge: *Schaden: - Schaden *Name: Nasdfgsdhame *Text: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. *Schlagwörter: - Abenteuerausrüstung - Lebend *Erwerb: - Erwerb *Kosten: - Geld
' elseif (frame.args[1]=="4") then ull = ' Dinge: *Schaden: - Schaden *Name: Nasdfgsdhame *Text: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. *Schlagwörter: - Abenteuerausrüstung - Lebend *Erwerb: - Erwerb *Kosten: - Geld
' elseif (frame.args[1]=="5") then ull = ' Dinge: *Schaden: - Schaden *Name: Nasdfgsdhame *Text: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. *Schlagwörter: - Abenteuerausrüstung - Lebend *Erwerb: - Erwerb *Kosten: - Geld
' elseif (frame.args[1]=="6") then ull = ' Dinge: *Schaden: - Schaden *Name: Nasdfgsdhame *Text: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. *Schlagwörter: - Abenteuerausrüstung - Lebend *Erwerb: - Erwerb *Kosten: - Geld
' 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = ""..tempfunf.."" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = ""..tempfunf.."" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = ""..tempsech.."" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = ""..tempfunf.."" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = ""..tempsech.."" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then tempsieb = ""..tempsieb.."" else tempsieb = string.sub(tempsieb,2) end if (string.sub(stext[8],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = ""..tempfunf.."" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = ""..tempsech.."" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then tempsieb = ""..tempsieb.."" else tempsieb = string.sub(tempsieb,2) end if (string.sub(stext[8],1,1)~="/") then tempacht = ""..tempacht.."" else tempacht = string.sub(tempacht,2) end if (string.sub(stext[9],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = ""..tempfunf.."" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = ""..tempfunf.."" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = ""..tempsech.."" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = ""..tempfunf.."" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = ""..tempsech.."" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then tempsieb = ""..tempsieb.."" else tempsieb = string.sub(tempsieb,2) end if (string.sub(stext[8],1,1)~="/") then 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.."" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = ""..tempzwei.."" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = ""..tempdrei.."" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = ""..tempvier.."" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = ""..tempfunf.."" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = ""..tempsech.."" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then tempsieb = ""..tempsieb.."" else tempsieb = string.sub(tempsieb,2) end if (string.sub(stext[8],1,1)~="/") then tempacht = ""..tempacht.."" else tempacht = string.sub(tempacht,2) end if (string.sub(stext[9],1,1)~="/") then 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 ein mal 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.."|"..curdrent.."\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.."Interaktionen:\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.."Proben:\nSteht für mögliche Talentwürfe, welche die Spieler ablegen müssen.\n\n" end if(tabContains(stext,"Moral")) then eerndrest = eerndrest.."Moral:\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.."Module:\nBeinhalten Regeln, die zusätzlich zum Grundregelwerk in diesem Abenteuer verwendet werden.\n\n" end if(tabContains(stext,"Box")) then eerndrest = eerndrest.."
Boxen: Boxen stehen für Spielleiterhinweise und beinhalten meist Hintergrundinformationen, welche die Spieler nicht haben können.\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..' Falsches Schlagwort gefunden: "'..zweihgfhgtes..'"'..", unter: ("..listeeins[eines]["Category"].." - "..listeeins[eines]["Subcategory"].." - "..listeeins[eines]["Name"]..")!Bitte Ändern!"..'\n\n----\n\n' end end end dupeeeetab = duptable(headerends) for zup,dupeeee in pairs(dupeeeetab) do if (dupeeee~=nil) then displayedtext = displayedtext..'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!"..'\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 ""..string.gsub(frame.args[1], "(\n+)" , "%1").."" end function p.taglist ( frame ) currenttagstate = frame.args[1] currentcatstate = frame.args[2] allsetcats = categorylist() allsetags = schlagwortliste() if (string.len(currenttagstate)~=tablelength(allsetags)) then currenttagstate = zeros(tablelength(allsetags)) end if (string.len(currentcatstate)~=doubletablelength(allsetcats)) then currentcatstate = ones(doubletablelength(allsetcats)) end currentsite = "Tagtest" 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)..'catstdif, catstatelength).." "..curcatname..":\n" nowcatstatelength = catstatelength-cursublength while (catstatelength>nowcatstatelength) do cursubcatname = allsetcats[curcatname][catstatelength-nowcatstatelength] sefinalendtext = sefinalendtext..'{|class="'..numtrancat(currentcatstate,catstatelength)..'"\n|'..numtranlinkopen(currentcatstate,catstatelength)..'" "..cursubcatname.."\n|}\n"--..numtranlinkopen( catstatelength = catstatelength-1 end sefinalendtext = sefinalendtext.."\n|}" if (countcat%2==0) then sefinalendtext = sefinalendtext.."\n\n\n\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)..'" "..allsetags[tagstatelength..' •]\n|}\n' tagstatelength = tagstatelength-1 end sefinalendtext=sefinalendtext..'|style="width:20%"|\n' sefinalendtext=sefinalendtext..'|}' 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.testi ( frame ) return " Lua-Fehler in Modul:X, Zeile 355: attempt to concatenate field '?' (a nil value)" end return p