Modul:X: Unterschied zwischen den Versionen

Aus How to be a Hero
Wechseln zu: Navigation, Suche
Zeile 20: Zeile 20:
 
text = display(frame.args[2]) --fiick dich
 
text = display(frame.args[2]) --fiick dich
 
stext = split(text, " ")--fiick|dich(list)
 
stext = split(text, " ")--fiick|dich(list)
 +
 
if(table.getn(stext)==1) then
 
if(table.getn(stext)==1) then
 
if(string.len(stext[1])>limit) then
 
if(string.len(stext[1])>limit) then
Zeile 27: Zeile 28:
 
end
 
end
 
end
 
end
 +
 
cuttext = stext[1]--fiick
 
cuttext = stext[1]--fiick
 
realcuttext = srealtext[1]
 
realcuttext = srealtext[1]
 +
 
nextwo = stext[2]--dich
 
nextwo = stext[2]--dich
 
realnextwo = srealtext[2]--dich
 
realnextwo = srealtext[2]--dich
 +
 
nextlen = string.len(nextwo)--4
 
nextlen = string.len(nextwo)--4
 
textlen = string.len(text)--10
 
textlen = string.len(text)--10
 
cuttextlen = string.len(cuttext)--5
 
cuttextlen = string.len(cuttext)--5
 +
 
set = true;
 
set = true;
 +
 
if(limit>=textlen)then --9>=10
 
if(limit>=textlen)then --9>=10
return text.."%@%"
+
return realtext.."%@%"
 +
 
elseif(cuttextlen>limit) then--5>9
 
elseif(cuttextlen>limit) then--5>9
return "%@%"..text
+
return "%@%"..realtext
 
 
 +
 
elseif(cuttextlen+nextlen+1>=limit) then--5>9
 
elseif(cuttextlen+nextlen+1>=limit) then--5>9
return cuttext.." "..nextwo.."%@%"
+
return realcuttext.." "..realnextwo.."%@%"
 
 
 +
 
else
 
else
 +
 
while (cuttextlen+nextlen+1<=textlen+2) do --
 
while (cuttextlen+nextlen+1<=textlen+2) do --
 
 
if(cuttextlen+nextlen>=limit and set) then --5+4>9(9>=9)
+
if(cuttextlen+nextlen+1>=limit and set) then --5+4>9(9>=9)
 
set = false
 
set = false
 
cuttext = cuttext.."%@%"
 
cuttext = cuttext.."%@%"
 +
realcuttext = realcuttext.."%@%"
 +
 
else
 
else
 
cuttext = cuttext.." "
 
cuttext = cuttext.." "
 +
realcuttext = realcuttext.." "
 +
 
end
 
end
 +
 
i = i + 1 --3
 
i = i + 1 --3
 +
 
cuttext = cuttext..nextwo -- fick%@%dich
 
cuttext = cuttext..nextwo -- fick%@%dich
 
realcuttext = realcuttext..realnextwo
 
realcuttext = realcuttext..realnextwo
 +
 
nextwo = stext[i]-- halli
 
nextwo = stext[i]-- halli
realnextwo = stext[i]-- halli
+
realnextwo = srealtext[i]-- halli
 +
 
nextlen = string.len(nextwo) -- 5
 
nextlen = string.len(nextwo) -- 5
 
cuttextlen = string.len(cuttext) -- 11
 
cuttextlen = string.len(cuttext) -- 11
 +
 
end
 
end
 +
 
realcuttext = realcuttext.." "..realnextwo
 
realcuttext = realcuttext.." "..realnextwo
 
 

Version vom 19. Januar 2020, 17:38 Uhr

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

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

function split (inputstr, sep)
        if sep == nil then
                sep = "%s"
        end
        local t={}
        for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
                table.insert(t, str)
        end
        return t
end

function p.cut( frame )
	
	realtext = frame.args[2]
	srealtext = split(realtext, " ")
	i = 2; --2
	limit = tonumber(frame.args[1]) --9
	text = display(frame.args[2]) --fiick dich
	stext = split(text, " ")--fiick|dich(list)
	
	if(table.getn(stext)==1) then
		if(string.len(stext[1])>limit) then
			return "%@%"..text
		else
			return text.."%@%"
		end
	end
	
	cuttext = stext[1]--fiick
	realcuttext = srealtext[1]
	
	nextwo = stext[2]--dich
	realnextwo = srealtext[2]--dich
	
	nextlen = string.len(nextwo)--4
	textlen = string.len(text)--10
	cuttextlen = string.len(cuttext)--5
	
	set = true;
	
	if(limit>=textlen)then --9>=10
		return realtext.."%@%"
	
	elseif(cuttextlen>limit) then--5>9
		return "%@%"..realtext
		
	
	elseif(cuttextlen+nextlen+1>=limit) then--5>9
		return realcuttext.." "..realnextwo.."%@%"
		
	
	else
	
		while (cuttextlen+nextlen+1<=textlen+2) do --
			
			if(cuttextlen+nextlen+1>=limit and set) then --5+4>9(9>=9)
				set = false
				cuttext = cuttext.."%@%"
				realcuttext = realcuttext.."%@%"
				
			else
				cuttext = cuttext.." "
				realcuttext = realcuttext.." "
				
			end
			
			i = i + 1 --3
			
			cuttext = cuttext..nextwo -- fick%@%dich
			realcuttext = realcuttext..realnextwo
			
			nextwo = stext[i]-- halli
			realnextwo = srealtext[i]-- halli
			
			nextlen = string.len(nextwo) -- 5
			cuttextlen = string.len(cuttext) -- 11
		
		end
		
		realcuttext = realcuttext.." "..realnextwo
		
		return realcuttext
	end
end

function cut( limit, text )
	
	realtext = text
	srealtext = split(realtext, " ")
	i = 2; --2
	text = display(text) --fiick dich
	stext = split(text, " ")--fiick|dich(list)
	if(table.getn(stext)==1) then
		if(string.len(stext[1])>limit) then
			return "%@%"..text
		else
			return text.."%@%"
		end
	end
	cuttext = stext[1]--fiick
	realcuttext = srealtext[1]
	nextwo = stext[2]--dich
	realnextwo = srealtext[2]--dich
	nextlen = string.len(nextwo)--4
	textlen = string.len(text)--10
	cuttextlen = string.len(cuttext)--5
	set = true;
	if(limit>=textlen)then --9>=10
		return text.."%@%"
	elseif(cuttextlen>limit) then--5>9
		return "%@%"..text
		
	elseif(cuttextlen+nextlen+1>=limit) then--5>9
		return cuttext.." "..nextwo.."%@%"
		
	else
		while (cuttextlen+nextlen+1<=textlen+2) do --
			
			if(cuttextlen+nextlen>=limit and set) then --5+4>9(9>=9)
				set = false
				cuttext = cuttext.."%@%"
			else
				cuttext = cuttext.." "
			end
			i = i + 1 --3
			cuttext = cuttext..nextwo -- fick%@%dich
			realcuttext = realcuttext..realnextwo
			nextwo = stext[i]-- halli
			realnextwo = stext[i]-- halli
			nextlen = string.len(nextwo) -- 5
			cuttextlen = string.len(cuttext) -- 11
		end
		realcuttext = realcuttext.." "..realnextwo
		
		return split(realcuttext, "%@%")
	end
end

function p.cutblock ( frame )
	text = frame.args[3]
	width = frame.args[2]
	height = frame.args[1]
	block = {}
	rest = ""
	
	
	







end

function p.display ( frame )
	text = frame.args[1]
	text = text:gsub("'", "")
	text = text:gsub("<.*>", "")
	text = text:gsub("%[%[.*|", "")
	text = text:gsub("%[", "")
	text = text:gsub("%|", "")
	text = text:gsub("%]", "")

	return text
end

function display ( text )
	text = text:gsub("'", "")
	text = text:gsub("<.*>", "")
	text = text:gsub("%[%[.*|", "")
	text = text:gsub("%[", "")
	text = text:gsub("%|", "")
	text = text:gsub("%]", "")

	return text
end



return p