Modul:MHI: Unterschied zwischen den Versionen
Aus SchnuppTrupp
| (6 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 | Halch: halch, ha | ||
Nalch: nalch, na | Nalch: nalch, na | ||
| Zeile 31: | 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 | elseif variable == 'halch' or variable == 'ha' then -- Hohe Alchemie Wert | ||
return mh:halch(frame, id) | return mh:halch(frame, id) | ||
| Zeile 62: | 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 MhPreis = mh:mhpreis(frame ,id) | local MhPreis = mh:mhpreis(frame ,id) | ||
| − | return '|'..MhPreis | + | return '|data-sort-value="'..ItemPreis..'"|'..MhPreis |
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) | ||
| Zeile 73: | Zeile 77: | ||
return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemHoheAlch,'0',' ','<span title="'..ItemHoheAlchPl..'">'..ItemHoheAlchPp..'</span>' } } | return '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemHoheAlch,'0',' ','<span title="'..ItemHoheAlchPl..'">'..ItemHoheAlchPp..'</span>' } } | ||
end | end | ||
| − | + | elseif variable == 'laden' or variable == 'la' then -- Spalte Ladenpreis | |
local ItemLadenpreis = mh:laden(frame, id) | local ItemLadenpreis = mh:laden(frame, id) | ||
| − | local ItemLadenpreisPp = frame:callParserFunction{ name= '#pp', args= { ItemLadenpreis } } | + | 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 95: | Zeile 107: | ||
function mh:value (frame,id) | function mh:value (frame,id) | ||
local value = mw.loadData('Module:MHI/Value') | 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 | if value[id] ~= nil then -- Nur in If bedinung gehen wenn value von id existiert | ||
return value[id] | return value[id] | ||
else | else | ||
| − | return ' | + | return 'Wert fehlt' |
end | end | ||
end | end | ||
| Zeile 112: | Zeile 125: | ||
return NalchCalc | return NalchCalc | ||
else | else | ||
| − | return ' | + | return 'Wert fehlt' |
end | end | ||
else | else | ||
| Zeile 134: | Zeile 147: | ||
return NalchCalc | return NalchCalc | ||
else | else | ||
| − | return ' | + | return 'Wert fehlt' |
end | end | ||
else | else | ||
| Zeile 148: | Zeile 161: | ||
local laden = mw.loadData('Module:MHI/Laden') | 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 | if laden[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 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 | |
| − | else | + | LadenCalc = math.floor(LadenCalc) -- Niedriger Alchemie Wert abrunden |
| − | return ' | + | return LadenCalc |
| + | else | ||
| + | return 'Wert fehlt' | ||
| + | end | ||
| + | else | ||
| + | return '' | ||
end | end | ||
else | else | ||
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