Modul:MHI: Unterschied zwischen den Versionen
Aus SchnuppTrupp
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
Limit: limit, l | Limit: limit, l | ||
Bild: bild, b | Bild: bild, b | ||
+ | MHPreis: mhpreis, mh | ||
+ | Halch: halch, ha | ||
Nalch: nalch, na | Nalch: nalch, na | ||
Gewicht: gewicht, g | Gewicht: gewicht, g | ||
Zeile 30: | Zeile 32: | ||
local zusatz = fargs.zusatz or '' | local zusatz = fargs.zusatz or '' | ||
return mh:bild(frame, id, zusatz) | 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 | elseif variable == 'nalch' or variable == 'na' then -- Niedriger Alchemie Wert | ||
return mh:nalch(frame, id) | return mh:nalch(frame, id) | ||
− | elseif variable == ' | + | elseif variable == 'laden' or variable == 'la' then -- Preis zu dem Items an einen Laden Verkauft werden können |
− | return mh: | + | return mh:laden(frame, id) |
elseif variable == 'gewicht' or variable == 'g' then -- Gewicht | elseif variable == 'gewicht' or variable == 'g' then -- Gewicht | ||
return mh:gewicht(frame, id) | return mh:gewicht(frame, id) | ||
Zeile 51: | Zeile 57: | ||
if variable == 'bild' or variable == 'b' then -- Spalte Bild | 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' } } | local beschreibung = frame:callParserFunction{ name= '#mh', args= { id,'b' } } | ||
− | return '|'..mh:bild(frame, id, beschreibung) | + | return '|data-sort-value="'..itemname..'"|'..mh:bild(frame, id, beschreibung) |
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' } } | ||
Zeile 58: | Zeile 65: | ||
return '|align="left" width="280px"|'..temp | return '|align="left" width="280px"|'..temp | ||
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 | + | local MhPreis = mh:mhpreis(frame ,id) |
− | + | return '|data-sort-value="'..ItemPreis..'"|'..MhPreis | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | return '| | + | |
elseif variable == 'hohe' or variable == 'ha' then -- Spalte Hohe Alchemie | elseif variable == 'hohe' or variable == 'ha' then -- Spalte Hohe Alchemie | ||
local ItemHoheAlch = mh:halch(frame, id) | local ItemHoheAlch = mh:halch(frame, id) | ||
− | local ItemHoheAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemHoheAlch } } | + | if type(ItemHoheAlch) ~= "number" then |
− | + | return '|'..ItemHoheAlch | |
− | + | else | |
− | + | local ItemHoheAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemHoheAlch } } | |
− | local ItemLadenpreis = | + | local ItemHoheAlchPl = frame:callParserFunction{ name= '#pl', args= { ItemHoheAlch } } |
− | local ItemLadenpreisPp = frame:callParserFunction{ name= '#pp', args= { ItemLadenpreis } } | + | 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 | elseif variable == 'nalch' or variable == 'na' then -- Spalte Niedriger Alchemie Preis | ||
local ItemNiedrigeAlch = mh:nalch(frame, id) | local ItemNiedrigeAlch = mh:nalch(frame, id) | ||
− | local ItemNiedrigeAlchPp = frame:callParserFunction{ name= '#pp', args= { ItemNiedrigeAlch } } | + | 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' } } | ||
Zeile 91: | Zeile 105: | ||
mh = {balance = 0} | 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. | function mh:halch (frame, id) -- Gibt den Niedrigen Alchemie Wert zurück. | ||
local halch = mw.loadData('Module:MHI/Halch') | 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 | if halch[id] == nil then -- Wenn der Wert sonst nirgenst näher spezifiziert wurde wird er über die Value berechnet | ||
− | local value = mw.loadData('Module:MHI/Value') | + | 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 | |
− | else | + | NalchCalc = math.floor(NalchCalc) -- Niedriger Alchemie Wert abrunden |
− | return ' | + | return NalchCalc |
+ | else | ||
+ | return 'Wert fehlt' | ||
+ | end | ||
+ | else | ||
+ | return '' | ||
end | end | ||
else | else | ||
Zeile 111: | Zeile 139: | ||
local nalch = mw.loadData('Module:MHI/Nalch') | 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 | if nalch[id] == nil then -- Wenn der Wert sonst nirgenst näher spezifiziert wurde wird er über die Value berechnet | ||
− | local value = mw.loadData('Module:MHI/Value') | + | 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 | |
− | else | + | NalchCalc = math.floor(NalchCalc) -- Niedriger Alchemie Wert abrunden |
− | return ' | + | return NalchCalc |
+ | else | ||
+ | return 'Wert fehlt' | ||
+ | end | ||
+ | else | ||
+ | return '' | ||
end | end | ||
else | else | ||
local NalchCalc = nalch[id] | local NalchCalc = nalch[id] | ||
return NalchCalc | 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 | ||
end | end | ||
Zeile 146: | Zeile 201: | ||
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 | 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
Maximal Preis: '..ItemPreisMax..' Gm
Mittel Preis: '..ItemPreisMittel..' Gm
Minimal Preis: '..ItemPreisMin..' Gm
Preisaufzeichnung seit: '..ItemPreisaufzeichnung..'">'..ItemPreisPp..'</span>' end return v