Modul:MHI

Aus SchnuppTrupp
Version vom 21. März 2019, 21:31 Uhr von Siedler6 (Diskussion | Beiträge) (Änderung 168211 von Siedler6 (Diskussion) rückgängig gemacht.)

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]]"
    	else
    		return "[[Datei:"..bild[id].."]]"
    	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 ItemBeschreibung = frame:callParserFunction{ name= '#mh', args= { id,'b' } }
    	local ItemBild = frame:expandTemplate{ title = 'MHI' , args = { id, 'b', ItemBeschreibung } }
    	return ItemBild
    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 ItemPreisMaxPl = frame:callParserFunction{ name= '#pl', args= { frame:callParserFunction{ name= '#mh', args= { id,'max'}} }}
		local ItemPreisMittelPl = frame:callParserFunction{ name= '#pl', args= { frame:callParserFunction{ name= '#mh', args= { id,'mittel'}} }}
		local ItemPreisMinPL = frame:callParserFunction{ name= '#pl', args= { 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: '..ItemPreisMaxPl..' Gm&#013;Mittel Preis: '..ItemPreisMittelPl..' Gm&#013;Minimal Preis: '..ItemPreisMinPL..' 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 == '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
return v