WikiFormatierungsWorkshop

Aus How to be a Hero
Zur Navigation springen Zur Suche springen

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.

Boxen: Boxen stehen für Spielleiterhinweise und beinhalten meist Hintergrundinformationen, welche die Spieler nicht haben können.

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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = "" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = "" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = "" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = "" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = "" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then tempsieb = "" else tempsieb = string.sub(tempsieb,2) end if (string.sub(stext[8],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = "" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = "" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then tempsieb = "" else tempsieb = string.sub(tempsieb,2) end if (string.sub(stext[8],1,1)~="/") then tempacht = "" else tempacht = string.sub(tempacht,2) end if (string.sub(stext[9],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = "" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = "" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = "" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = "" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = "" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then tempsieb = "" else tempsieb = string.sub(tempsieb,2) end if (string.sub(stext[8],1,1)~="/") then 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 = "" else tempeins = string.sub(tempeins,2) end if (string.sub(stext[2],1,1)~="/") then tempzwei = "" else tempzwei = string.sub(tempzwei,2) end if (string.sub(stext[3],1,1)~="/") then tempdrei = "" else tempdrei = string.sub(tempdrei,2) end if (string.sub(stext[4],1,1)~="/") then tempvier = "" else tempvier = string.sub(tempvier,2) end if (string.sub(stext[5],1,1)~="/") then tempfunf = "" else tempfunf = string.sub(tempfunf,2) end if (string.sub(stext[6],1,1)~="/") then tempsech = "" else tempsech = string.sub(tempsech,2) end if (string.sub(stext[7],1,1)~="/") then tempsieb = "" else tempsieb = string.sub(tempsieb,2) end if (string.sub(stext[8],1,1)~="/") then tempacht = "" else tempacht = string.sub(tempacht,2) end if (string.sub(stext[9],1,1)~="/") then 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