Modul:MHI: Unterschied zwischen den Versionen

Aus SchnuppTrupp
Wechseln zu: Navigation, Suche
 
(49 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
--[[
 +
Variablen:
 +
MHI:
 +
Limit: limit, l
 +
Bild: bild, b
 +
MHPreis: mhpreis, mh
 +
Halch: halch, ha
 +
Nalch: nalch, na
 +
Gewicht: gewicht, g
 +
MHITab:
 +
Bild: bild, b
 +
Namen: name, n
 +
MHPreis: mhpreis, mh
 +
Hohe Alchemie: hohe, ha
 +
Niedrige Alchemie: nalch, na
 +
Ladenpreis: laden, la
 +
Mitglied: mitglied, m
 +
]]
 
local v = {}
 
local v = {}
  
Zeile 8: Zeile 26:
 
     local id = fargs.id or ''
 
     local id = fargs.id or ''
 
     local name = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
 
     local name = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
 +
   
 
     if variable == 'limit'  or variable == 'l' then -- Handelslimit
 
     if variable == 'limit'  or variable == 'l' then -- Handelslimit
    local Handelslimit = mw.loadData('Module:MHI/Limit')
+
     return mh:limit(frame, id)
     return Handelslimit[id] or 'Wert nicht vorhanden'
+
 
     elseif variable == 'bild' or variable == 'b' then -- Bilder
 
     elseif variable == 'bild' or variable == 'b' then -- Bilder
 
         local zusatz = fargs.zusatz or ''
 
         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
+
         return mh:bild(frame, id, zusatz)
     local bild = mw.loadData('Module:MHI/Bild')
+
    elseif variable == 'mhpreis' or variable == 'mh' then -- Markthallenpreis
    if bild[id] == nil then
+
     return frame:callParserFunction{ name= '#mh', args= { id } }
    return "[[Datei:"..name..".png|"..zusatz.."]]"
+
    elseif variable == 'halch' or variable == 'ha' then -- Hohe Alchemie Wert
     else
+
     return mh:halch(frame, id)       
    return "[[Datei:"..bild[id].."|"..zusatz.."]]"
+
     elseif variable == 'nalch' or variable == 'na' then -- Niedriger Alchemie Wert
    end
+
     return mh:nalch(frame, id)
     elseif variable == 'nalch' or variable == 'n' then -- Niedriger Alchemie Wert
+
    elseif variable == 'laden' or variable == 'la' then -- Preis zu dem Items an einen Laden Verkauft werden können
     local nalch = mw.loadData('Module:MHI/Nalch')
+
    return mh:laden(frame, id)
    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
 
elseif variable == 'gewicht' or variable == 'g' then -- Gewicht
local Gewicht = mw.loadData('Module:MHI/Gewicht')
+
return mh:gewicht(frame, id)
    return Gewicht[id] or 'Gewicht nicht vorhanden'
+
 
     else
 
     else
 
     return 'keinen Parameter eingegeben'
 
     return 'keinen Parameter eingegeben'
Zeile 47: Zeile 57:
 
      
 
      
 
     if variable == 'bild'  or variable == 'b' then -- Spalte Bild
 
     if variable == 'bild'  or variable == 'b' then -- Spalte Bild
     local bild = mw.loadData('Module:MHI/Bild')
+
     local itemname = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
    local name =  frame:callParserFunction{ name= '#mh', args= { id,'n' } }
+
 
     local beschreibung = frame:callParserFunction{ name= '#mh', args= { id,'b' } }
 
     local beschreibung = frame:callParserFunction{ name= '#mh', args= { id,'b' } }
     if bild[id] == nil then
+
     return '|data-sort-value="'..itemname..'"|'..mh:bild(frame, id, beschreibung)
    return "| [[Datei:"..name..".png|center|middle|"..beschreibung.."]]&nbsp;"
+
    else
+
    return "| [[Datei:"..bild[id].."|center|middle|"..beschreibung.."]]"
+
    end
+
 
     elseif variable == 'name' or variable == 'n' then -- Namen Spalte
 
     elseif variable == 'name' or variable == 'n' then -- Namen Spalte
 
local itemname = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
 
local itemname = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
 
local temp = frame:callParserFunction{ name= '#ifexist', args= { itemname,'[['..itemname..']]',itemname } }
 
local temp = frame:callParserFunction{ name= '#ifexist', args= { itemname,'[['..itemname..']]',itemname } }
local td = mw.html.create( 'td' )
+
return '|align="left" width="280px"|'..temp
td
+
    :css( 'align', 'left' )
+
    :css( 'width','250px' )
+
    :wikitext( temp )
+
return '|align="left" width="250px"|'..temp --tostring( td )
+
 
elseif variable == 'mhpreis' or variable == 'mh' then -- Spalte MH Preis
 
elseif variable == 'mhpreis' or variable == 'mh' then -- Spalte MH Preis
local ItemPreis = frame:callParserFunction{ name= '#mh', args= { id } }
+
local ItemPreis =frame:callParserFunction{ name= '#mh', args= { id } }
local ItemPreisPl = frame:callParserFunction{ name= '#pl', args= { ItemPreis } }
+
local MhPreis = mh:mhpreis(frame ,id)
local ItemPreisPp = frame:callParserFunction{ name= '#pp', args= { ItemPreis } }
+
return '|data-sort-value="'..ItemPreis..'"|'..MhPreis
local ItemPreisMax = frame:callParserFunction{ name= '#mh', args= { id,'max'}}
+
elseif variable == 'hohe' or variable == 'ha' then -- Spalte Hohe Alchemie
local ItemPreisMittel = frame:callParserFunction{ name= '#mh', args= { id,'mittel'}}
+
local ItemHoheAlch = mh:halch(frame, id)
local ItemPreisMin = frame:callParserFunction{ name= '#mh', args= { id,'min'}}
+
if type(ItemHoheAlch) ~= "number" then
local ItemPreisaufzeichnung = frame:callParserFunction{ name= '#mh', args= { id,'s' } }
+
return '|'..ItemHoheAlch
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>'
+
else
elseif variable == 'hohe' or variable == 'h' then -- Spalte Hohe Alchemie
+
local ItemHoheAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemHoheAlch } }
local ItemHoheAlch = frame:callParserFunction{ name= '#mh', args= { id, 'h' } }
+
local ItemHoheAlchPl = frame:callParserFunction{ name= '#pl', args= { ItemHoheAlch } }
local ItemHoheAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemHoheAlch } }
+
return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemHoheAlch,'0',' ','<span title="'..ItemHoheAlchPl..'">'..ItemHoheAlchPp..'</span>' } }
local ItemHoheAlchPl = frame:callParserFunction{ name= '#pl', args= { ItemHoheAlch } }
+
end
return frame:callParserFunction{ name= '#ifeq', args= { ItemHoheAlch,'0',' ','<span title="'..ItemHoheAlchPl..'">'..ItemHoheAlchPp..'</span>' } }
+
elseif variable == 'laden' or variable == 'la' then -- Spalte Ladenpreis
elseif variable == 'laden' or variable == 'l' then -- Spalte Ladenpreis
+
local ItemLadenpreis = mh:laden(frame, id)
local ItemNiedrigeAlch = frame:callParserFunction{ name= '#mh', args= { id, 'l' } }
+
if type(ItemLadenpreis) ~= "number" then
local ItemNiedrigeAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemNiedrigeAlch } }
+
return '|'..ItemLadenpreis
local ItemNiedrigeAlchPl = frame:callParserFunction{ name= '#pl', args= { ItemNiedrigeAlch } }
+
else
return frame:callParserFunction{ name= '#ifeq', args= { ItemNiedrigeAlch,'0',' ','<span title="'..ItemNiedrigeAlchPl..'">'..ItemNiedrigeAlchPp..'</span>' } }
+
local ItemLadenpreisPp = frame:callParserFunction{ name= '#pp', args= { ItemLadenpreis } }
 +
local ItemLadenpreisPl = frame:callParserFunction{ name= '#pl', args= { ItemLadenpreis } }
 +
return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemLadenpreis,'0',' ','<span title="'..ItemLadenpreisPl..'">'..ItemLadenpreisPp..'</span>' } }
 +
end
 +
elseif variable == 'nalch' or variable == 'na' then -- Spalte Niedriger Alchemie Preis
 +
local ItemNiedrigeAlch = mh:nalch(frame, id)
 +
if type(ItemNiedrigeAlch) ~= "number" then
 +
return '|'..ItemNiedrigeAlch
 +
else
 +
local ItemNiedrigeAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemNiedrigeAlch } }
 +
local ItemNiedrigeAlchPl = frame:callParserFunction{ name= '#pl', args= { ItemNiedrigeAlch } }
 +
return '|'..'<span title="'..ItemNiedrigeAlchPl..'">'..ItemNiedrigeAlchPp..'</span>'
 +
end
 
elseif variable == 'mitglied' or variable == 'm' then -- Spalte Mitglied
 
elseif variable == 'mitglied' or variable == 'm' then -- Spalte Mitglied
 
local ItemMitglied = frame:callParserFunction{ name= '#mh', args= { id, 'm' } }
 
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]]' } }
+
return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemMitglied,'Ja','[[Datei:Mitglied.png|Mitgliedsgegenstand]]','[[Datei:Nichtmitglied.png|Nicht Mitgliedsgegenstand]]' } }
 
else
 
else
 
     return 'keinen Parameter eingegeben'
 
     return 'keinen Parameter eingegeben'
 
     end
 
     end
 
     return ''  
 
     return ''  
 +
end
 +
 +
mh = {balance = 0}
 +
function mh:value (frame,id)
 +
local value = mw.loadData('Module:MHI/Value')
 +
local id = frame:callParserFunction{ name= '#mh', args= { id,'id' } }
 +
if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert
 +
    return value[id]
 +
else
 +
return 'Wert fehlt'
 +
end
 +
end
 +
function mh:halch (frame, id) -- Gibt den Niedrigen Alchemie Wert zurück.
 +
local halch = mw.loadData('Module:MHI/Halch')
 +
    if halch[id] == nil then -- Wenn der Wert sonst nirgenst näher spezifiziert wurde wird er über die Value berechnet
 +
    local alchemierbar  = mw.loadData('Module:MHI/Alchemierbar')-- Überprüfe ob Gegenstand Alchemierbar ist
 +
    if alchemierbar[id] == nil then -- Wenn er nicht Alchemierbar ist wird die Wert über Value berechnet
 +
    local value = mw.loadData('Module:MHI/Value')
 +
    if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert
 +
    local NalchCalc = value[id]*0.6 -- Value *0,6 Ist der Hohe Alchemie Wert
 +
    NalchCalc = math.floor(NalchCalc) -- Niedriger Alchemie Wert abrunden
 +
return NalchCalc
 +
else
 +
return 'Wert fehlt'
 +
end
 +
else
 +
return ''
 +
end
 +
else
 +
local NalchCalc = nalch[id]
 +
return NalchCalc
 +
end
 +
end
 +
 +
function mh:nalch (frame, id) -- Gibt den Niedrigen Alchemie Wert zurück.
 +
local nalch = mw.loadData('Module:MHI/Nalch')
 +
    if nalch[id] == nil then -- Wenn der Wert sonst nirgenst näher spezifiziert wurde wird er über die Value berechnet
 +
    local alchemierbar  = mw.loadData('Module:MHI/Alchemierbar')-- Überprüfe ob Gegenstand Alchemierbar ist
 +
    if alchemierbar[id] == nil then -- Wenn er nicht Alchemierbar ist wird die Wert über Value berechnet
 +
    local value = mw.loadData('Module:MHI/Value')
 +
    if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert
 +
    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 'Wert fehlt'
 +
end
 +
else
 +
return ''
 +
end
 +
else
 +
local NalchCalc = nalch[id]
 +
return NalchCalc
 +
end
 +
end
 +
 +
function mh:laden (frame, id) -- Gibt den Ladenwert Alchemie Wert zurück.
 +
local laden = mw.loadData('Module:MHI/Laden')
 +
    if laden[id] == nil then -- Wenn der Wert sonst nirgenst näher spezifiziert wurde wird er über die Value berechnet
 +
    local handelbar  = mw.loadData('Module:MHI/Handelbar')-- Überprüfe ob Gegenstand Handelbar ist
 +
    if handelbar[id] == nil then -- Wenn er nicht Handelbar ist wird die Wert über Value berechnet
 +
    local value = mw.loadData('Module:MHI/Value')
 +
    if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert
 +
    local LadenCalc = value[id]*0.3 -- Value *0,3 Ist der Niedrige Alchemie Wert
 +
    LadenCalc = math.floor(LadenCalc) -- Niedriger Alchemie Wert abrunden
 +
return LadenCalc
 +
else
 +
return 'Wert fehlt'
 +
end
 +
else
 +
return ''
 +
end
 +
else
 +
local LadenCalc = laden[id]
 +
return LadenCalc
 +
end
 +
end
 +
 +
function mh:limit (frame, id) -- Handelslimit
 +
local Handelslimit = mw.loadData('Module:MHI/Limit')
 +
    return Handelslimit[id] or 'Bitte Handelslimit eintragen'
 +
end
 +
 +
function mh:gewicht (frame, id) -- Gewicht
 +
local Gewicht = mw.loadData('Module:MHI/Gewicht')
 +
    return Gewicht[id] or 'Bitte Gewicht eintragen'
 +
end
 +
 +
function mh:bild (frame, id, zusatz) -- Bild
 +
local name = frame:callParserFunction{ name= '#mh', args= { id,'name' } }
 +
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
 +
end
 +
 +
function mh:mhpreis (frame,id) -- gibt den MH Preis im Richtigen Format zurück
 +
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>'
 
end
 
end
 
return v
 
return v

Aktuelle Version vom 1. März 2022, 21:34 Uhr

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

--[[
	Variablen:
	MHI:
		Limit: limit, l
		Bild: bild, b
		MHPreis: mhpreis, mh
		Halch: halch, ha
		Nalch: nalch, na
		Gewicht: gewicht, g
	MHITab:
		Bild: bild, b
		Namen: name, n
		MHPreis: mhpreis, mh
		Hohe Alchemie: hohe, ha
		Niedrige Alchemie: nalch, na
		Ladenpreis: laden, la
		Mitglied: mitglied, m
]]
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
    	return mh:limit(frame, id)
    elseif variable == 'bild' or variable == 'b' then -- Bilder
        local zusatz = fargs.zusatz or ''
        return mh:bild(frame, id, zusatz)
    elseif variable == 'mhpreis' or variable == 'mh' then -- Markthallenpreis
    	return frame:callParserFunction{ name= '#mh', args= { id } }
    elseif variable == 'halch' or variable == 'ha' then -- Hohe Alchemie Wert
    	return mh:halch(frame, id)        
    elseif variable == 'nalch' or variable == 'na' then -- Niedriger Alchemie Wert
    	return mh:nalch(frame, id)
    elseif variable == 'laden' or variable == 'la' then -- Preis zu dem Items an einen Laden Verkauft werden können
    	return mh:laden(frame, id)
	elseif variable == 'gewicht' or variable == 'g' then -- Gewicht
		return mh:gewicht(frame, id)
		
    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 itemname = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
    	local beschreibung = frame:callParserFunction{ name= '#mh', args= { id,'b' } }
    	return '|data-sort-value="'..itemname..'"|'..mh:bild(frame, id, beschreibung)
    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="280px"|'..temp
	elseif variable == 'mhpreis' or variable == 'mh' then -- Spalte MH Preis
		local ItemPreis =frame:callParserFunction{ name= '#mh', args= { id } }
		local MhPreis = mh:mhpreis(frame ,id)
		return '|data-sort-value="'..ItemPreis..'"|'..MhPreis
	elseif variable == 'hohe' or variable == 'ha' then -- Spalte Hohe Alchemie
		local ItemHoheAlch = mh:halch(frame, id)
		if type(ItemHoheAlch) ~= "number" then
			return '|'..ItemHoheAlch
		else
			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>' } }
		end
elseif variable == 'laden' or variable == 'la' then -- Spalte Ladenpreis
		local ItemLadenpreis = mh:laden(frame, id)
		if type(ItemLadenpreis) ~= "number" then
			return '|'..ItemLadenpreis
		else
			local ItemLadenpreisPp = frame:callParserFunction{ name= '#pp', args= { ItemLadenpreis } }
			local ItemLadenpreisPl = frame:callParserFunction{ name= '#pl', args= { ItemLadenpreis } }
			return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemLadenpreis,'0',' ','<span title="'..ItemLadenpreisPl..'">'..ItemLadenpreisPp..'</span>' } }
		end
	elseif variable == 'nalch' or variable == 'na' then -- Spalte Niedriger Alchemie Preis
		local ItemNiedrigeAlch = mh:nalch(frame, id)
		if type(ItemNiedrigeAlch) ~= "number" then
			return '|'..ItemNiedrigeAlch
		else
			local ItemNiedrigeAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemNiedrigeAlch } }
			local ItemNiedrigeAlchPl = frame:callParserFunction{ name= '#pl', args= { ItemNiedrigeAlch } }
			return '|'..'<span title="'..ItemNiedrigeAlchPl..'">'..ItemNiedrigeAlchPp..'</span>'
		end
	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:value (frame,id)
	local value = mw.loadData('Module:MHI/Value')
	local id = frame:callParserFunction{ name= '#mh', args= { id,'id' } }
	if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert
	    return value[id]
	else 
		return 'Wert fehlt'
	end
end
function mh:halch (frame, id) -- Gibt den Niedrigen Alchemie Wert zurück.
	local halch = mw.loadData('Module:MHI/Halch')
    if halch[id] == nil then -- Wenn der Wert sonst nirgenst näher spezifiziert wurde wird er über die Value berechnet
    	local alchemierbar  = mw.loadData('Module:MHI/Alchemierbar')-- Überprüfe ob Gegenstand Alchemierbar ist
    	if alchemierbar[id] == nil then -- Wenn er nicht Alchemierbar ist wird die Wert über Value berechnet
	    	local value = mw.loadData('Module:MHI/Value')
	    	if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert
		    	local NalchCalc = value[id]*0.6 -- Value *0,6 Ist der Hohe Alchemie Wert
		    	NalchCalc = math.floor(NalchCalc) -- Niedriger Alchemie Wert abrunden
				return NalchCalc
			else 
				return 'Wert fehlt'
			end
		else
			return ''
		end
	else
		local NalchCalc = nalch[id]
		return NalchCalc
	end
end

function mh:nalch (frame, id) -- Gibt den Niedrigen Alchemie Wert zurück.
	local nalch = mw.loadData('Module:MHI/Nalch')
    if nalch[id] == nil then -- Wenn der Wert sonst nirgenst näher spezifiziert wurde wird er über die Value berechnet
    	local alchemierbar  = mw.loadData('Module:MHI/Alchemierbar')-- Überprüfe ob Gegenstand Alchemierbar ist
    	if alchemierbar[id] == nil then -- Wenn er nicht Alchemierbar ist wird die Wert über Value berechnet
	    	local value = mw.loadData('Module:MHI/Value')
	    	if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert
		    	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 'Wert fehlt'
			end
		else
			return ''
		end
	else
		local NalchCalc = nalch[id]
		return NalchCalc
	end
end

function mh:laden (frame, id) -- Gibt den Ladenwert Alchemie Wert zurück.
	local laden = mw.loadData('Module:MHI/Laden')
    if laden[id] == nil then -- Wenn der Wert sonst nirgenst näher spezifiziert wurde wird er über die Value berechnet
    	local handelbar  = mw.loadData('Module:MHI/Handelbar')-- Überprüfe ob Gegenstand Handelbar ist
    	if handelbar[id] == nil then -- Wenn er nicht Handelbar ist wird die Wert über Value berechnet
	    	local value = mw.loadData('Module:MHI/Value')
	    	if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert
		    	local LadenCalc = value[id]*0.3 -- Value *0,3 Ist der Niedrige Alchemie Wert
		    	LadenCalc = math.floor(LadenCalc) -- Niedriger Alchemie Wert abrunden
				return LadenCalc
			else 
				return 'Wert fehlt'
			end
		else
			return ''
		end
	else
		local LadenCalc = laden[id]
		return LadenCalc
	end
end

function mh:limit (frame, id) -- Handelslimit
	local Handelslimit = mw.loadData('Module:MHI/Limit')
    return Handelslimit[id] or 'Bitte Handelslimit eintragen'
end

function mh:gewicht (frame, id) -- Gewicht
	local Gewicht = mw.loadData('Module:MHI/Gewicht')
    return Gewicht[id] or 'Bitte Gewicht eintragen'
end

function mh:bild (frame, id, zusatz) -- Bild
	local name = frame:callParserFunction{ name= '#mh', args= { id,'name' } }
	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
end

function mh:mhpreis (frame,id) -- gibt den MH Preis im Richtigen Format zurück
	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>'
end
return v