Modul:MHI
Aus SchnuppTrupp
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
Maximal Preis: '..ItemPreisMax..' Gm
Mittel Preis: '..ItemPreisMittel..' Gm
Minimal Preis: '..ItemPreisMin..' Gm
Preisaufzeichnung seit: '..ItemPreisaufzeichnung..'">'..ItemPreisPp..'</span>' end return v