Modul:PLaden
Aus SchnuppTrupp
Version vom 24. November 2020, 17:53 Uhr von Siedler6 (Diskussion | Beiträge)
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 = 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 i<=1)
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)*lagertotal)
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>||'..lagertotalpl..'|| || ||'..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