Modul:PLaden: Unterschied zwischen den Versionen
Aus SchnuppTrupp
| Zeile 38: | Zeile 38: | ||
local werttotal = 0 | local werttotal = 0 | ||
local i = 1 | local i = 1 | ||
| − | while (fargs[i] ~= nil and i<=25) -- Maximal 50 Einträge in einer Ladenliste | + | while (fargs[i] ~= nil and fargs[i] ~= '' and i<=25) -- Maximal 50 Einträge in einer Ladenliste |
do | do | ||
local inhalt = split(fargs[i], ";") -- Problem hohlt sich variable i und nicht Variable 1 oder 2... | local inhalt = split(fargs[i], ";") -- Problem hohlt sich variable i und nicht Variable 1 oder 2... | ||
Version vom 24. November 2020, 18:17 Uhr
Die Dokumentation für dieses Modul kann unter Modul:PLaden/Doku erstellt werden
local v = {}
function v.laden(frame)
local fargs = frame.args
local id = fargs.id or ''
local lager = tonumber(fargs.lager or '1')
local vkpreis = fargs.vkpreis or nil
local MHI = require( "Module:MHI" ) -- Läd Modul MHI um die Funktionen zu nutzen
local mhp = tonumber(frame:callParserFunction{ name= '#mh', args= { id } }) -- Speichert den MHPreis
local bild = mh:bild(frame,id,'')
local name = frame:callParserFunction{ name= '#mh', args= { id,'n' } }
name = frame:callParserFunction{ name= '#ifexist', args= { name,'[['..name..']]',name } }
local lagerpl = frame:callParserFunction{ name= '#pl', args= { lager } }
if vkpreis=='null' then
vkpreis = mh:value(frame,id)
else
vkpreis = tonumber(vkpreis)
end
local vkpreispl = frame:callParserFunction{ name= '#pl', args= { vkpreis } }
local mhpreis = mh:mhpreis(frame,id)
local wertlagerpl = (mhp-vkpreis) * lager
wertlagerpl = frame:callParserFunction{ name= '#pl', args= { wertlagerpl } }
vkpreis=tonumber(vkpreis)
local gewinninv
local ItemMitglied = frame:callParserFunction{ name= '#mh', args= { id, 'm' } }
local mitglied = '|'..frame:callParserFunction{ name= '#ifeq', args= { ItemMitglied,'Ja','[[Datei:Mitglied.png|Mitgliedsgegenstand]]','[[Datei:Nichtmitglied.png|Nicht Mitgliedsgegenstand]]' } }
return '|'..bild..'||align="left" width="280px"|'..name..'||'..lagerpl..'||'..vkpreispl..'||'..mhpreis..'||'..wertlagerpl..'||'..mitglied..'\n|-'
end
function v.gesamt(frame)
local fargs = frame.args
local MHI = require( "Module:MHI" ) -- Läd Modul MHI um die Funktionen zu nutzen
local lagertotal = 0
local werttotal = 0
local i = 1
while (fargs[i] ~= nil and fargs[i] ~= '' and i<=25) -- Maximal 50 Einträge in einer Ladenliste
do
local inhalt = split(fargs[i], ";") -- Problem hohlt sich variable i und nicht Variable 1 oder 2...
local mhpreis = frame:callParserFunction{ name= '#mh', args= { inhalt[1] } } -- Gegenstand Name oder ID in inhalt[1]
lagertotal = lagertotal + tonumber(inhalt[2]) -- Lager
local vkpreis = tonumber(inhalt[3]) -- Laden VK Preis
werttotal = werttotal + ((mhpreis-vkpreis)*tonumber(inhalt[2]))
i = i+1
end
lagertotalpl = frame:callParserFunction{ name= '#pl', args= { lagertotal } }
werttotalpl = frame:callParserFunction{ name= '#pl', args= { werttotal } }
return '! !!align="left" colspan="1" |<b><span title="Gesamter Verkaufswert wenn alle Gegenstände eingekauft werden">Gesamt Wert:</span></b>||<b>'..lagertotalpl..'</b>|| || ||<b>'..werttotalpl..'</b>\n|-'
end
function split(s, delimiter)
result = {};
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
table.insert(result, match);
end
return result;
end
return v