Modul:MHI

Aus SchnuppTrupp
Wechseln zu: Navigation, Suche

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

local v = {}

function v.daten(frame)
	local fargs = frame.args 
    --local id = frame:getParent().args[1] -- Hohlt sich die Eingegebene Variable in userem Fall die ID und Speichert sie in die Variable ID
    local daten = fargs.daten or '' -- 
    local variable = mw.ustring.lower( daten ) -- Alle Zeichen auf Kleinbuchstaben ändern
    local id = fargs.id or ''
    local name = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
    if variable == 'limit'  or variable == 'l' then -- Handelslimit
    	local Handelslimit = mw.loadData('Module:MHI/Limit')
    	return Handelslimit[id] or 'Wert nicht vorhanden'
    elseif variable == 'bild' or variable == 'b' then -- Bilder
        local zusatz = fargs.zusatz or ''
        if string.len(zusatz)<=1 then zusatz = name end -- Wenn der zusatz nicht gesetzt wurde wird der Name des Items verwendet
    	local bild = mw.loadData('Module:MHI/Bild')
    	if bild[id] == nil then
    		return "[[Datei:"..name..".png|"..zusatz.."]]"
    	else
    		return "[[Datei:"..bild[id].."|"..zusatz.."]]"
    	end
    elseif variable == 'nalch' or variable == 'n' then -- Niedriger Alchemie Wert
    	local nalch = mw.loadData('Module:MHI/Nalch')
    	if nalch[id] == nil then
    		local value = mw.loadData('Module:MHI/Value')
    		local nalchcalc = value[id]*0.4 -- Value *0,4 Ist der Niedrige Alchemie Wert
    		nalchcalc = math.floor(nalchcalc) -- Niedriger Alchemie Wert Abrunden
			return nalchcalc
		else
			return nalch[id] or 'Value nicht vorhanden'
		end
	elseif variable == 'gewicht' or variable == 'g' then -- Gewicht
		local Gewicht = mw.loadData('Module:MHI/Gewicht')
    	return Gewicht[id] or 'Gewicht nicht vorhanden'
    else
    	return 'keinen Parameter eingegeben'
    end
    return id 
	
end

function v.tabelle(frame)
	local fargs = frame.args
	local daten = fargs.daten or ''
    local variable = mw.ustring.lower( daten ) -- Alle Zeichen auf Kleinbuchstaben ändern
    local id = fargs.id or ''
    
    if variable == 'bild'  or variable == 'b' then -- Spalte Bild
    	local bild = mw.loadData('Module:MHI/Bild')
    	local name =  frame:callParserFunction{ name= '#mh', args= { id,'n' } }
    	local beschreibung = frame:callParserFunction{ name= '#mh', args= { id,'b' } }
    	if bild[id] == nil then
    		return "|[[Datei:"..name..".png|"..beschreibung.."]]"
    	else
    		return "|[[Datei:"..bild[id].."|"..beschreibung.."]]"
    	end
    elseif variable == 'name' or variable == 'n' then -- Namen Spalte
		local itemname = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
		local temp = frame:callParserFunction{ name= '#ifexist', args= { itemname,'[['..itemname..']]',itemname } }
		return '|align="left" width="250px"|'..temp
	elseif variable == 'mhpreis' or variable == 'mh' then -- Spalte MH Preis
		local ItemPreis = frame:callParserFunction{ name= '#mh', args= { id } }
		local ItemPreisPl = frame:callParserFunction{ name= '#pl', args= { ItemPreis } }
		local ItemPreisPp = frame:callParserFunction{ name= '#pp', args= { ItemPreis } }
		local ItemPreisMax = frame:callParserFunction{ name= '#mh', args= { id,'max'}}
		local ItemPreisMittel = frame:callParserFunction{ name= '#mh', args= { id,'mittel'}}
		local ItemPreisMin = frame:callParserFunction{ name= '#mh', args= { id,'min'}}
		local ItemPreisaufzeichnung = frame:callParserFunction{ name= '#mh', args= { id,'s' } }
		return '|<span title="Preis Aktuell: '..ItemPreisPl..' Gm&#013;Maximal Preis: '..ItemPreisMax..' Gm&#013;Mittel Preis: '..ItemPreisMittel..' Gm&#013;Minimal Preis: '..ItemPreisMin..' Gm&#013;Preisaufzeichnung seit: '..ItemPreisaufzeichnung..'">'..ItemPreisPp..'</span>'
	elseif variable == 'hohe' or variable == 'h' then -- Spalte Hohe Alchemie
		local ItemHoheAlch = frame:callParserFunction{ name= '#mh', args= { id, 'h' } }
		local ItemHoheAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemHoheAlch } }
		local ItemHoheAlchPl = frame:callParserFunction{ name= '#pl', args= { ItemHoheAlch } }
		return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemHoheAlch,'0',' ','<span title="'..ItemHoheAlchPl..'">'..ItemHoheAlchPp..'</span>' } }
	elseif variable == 'laden' or variable == 'l' then -- Spalte Ladenpreis
		local ItemNiedrigeAlch = frame:callParserFunction{ name= '#mh', args= { id, 'l' } }
		local ItemNiedrigeAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemNiedrigeAlch } }
		local ItemNiedrigeAlchPl = frame:callParserFunction{ name= '#pl', args= { ItemNiedrigeAlch } }
		return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemNiedrigeAlch,'0',' ','<span title="'..ItemNiedrigeAlchPl..'">'..ItemNiedrigeAlchPp..'</span>' } }
	elseif variable == 'nalch' or variable == 'na' then -- Spalte Niedriger Alchemie Preis
		return '|'..mh:nalch(id)
	elseif variable == 'mitglied' or variable == 'm' then -- Spalte Mitglied
		local ItemMitglied = frame:callParserFunction{ name= '#mh', args= { id, 'm' } }
		return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemMitglied,'Ja','[[Datei:Mitglied.png|Mitgliedsgegenstand]]','[[Datei:Nichtmitglied.png|Nicht Mitgliedsgegenstand]]' } }
	else
    	return 'keinen Parameter eingegeben'
    end
    return '' 
end

mh = {balance = 0}
function mh:nalch (id) -- Gibt den Niedrigen Alchemie Wert in der richtigen Form zurück.
	local nalch = mw.loadData('Module:MHI/Nalch')
    if nalch[id] == nil then
    	local value = mw.loadData('Module:MHI/Value')
    	local NalchCalc = value[id]*0.4 -- Value *0,4 Ist der Niedrige Alchemie Wert
    	NalchCalc = math.floor(NalchCalc) -- Niedriger Alchemie Wert Abrunden
    	local NalchCalcPl = frame:callParserFunction{ name= '#pl', args= { NalchCalc } }
    	local NalchCalcPp = frame:callParserFunction{ name= '#pp', args= { NalchCalc } }
		return NalchCalc--'<span title="'..NalchCalcPl..'">'..NalchCalcPp..'</span>'
	else
		
		return nalch[id] or 'Value nicht vorhanden'
	end
end
return v