Modul:PLaden: Unterschied zwischen den Versionen
Aus SchnuppTrupp
| Zeile 45: | Zeile 45: | ||
if inhalt[3]== nil or inhalt[3]== '' or inhalt[3]== 'null' then -- wenn der Verkaufspreis nicht angegeben wurde dann automatisch value verwenden | if inhalt[3]== nil or inhalt[3]== '' or inhalt[3]== 'null' then -- wenn der Verkaufspreis nicht angegeben wurde dann automatisch value verwenden | ||
| − | vkpreis = | + | vkpreis = mh:value(frame,inhalt[1]) |
return '! !!align="left" colspan="1" |'..vkpreis..'</b>\n|-' | return '! !!align="left" colspan="1" |'..vkpreis..'</b>\n|-' | ||
else | else | ||
Version vom 24. November 2020, 18:47 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 = 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
local inhalt = split(fargs[i], ";")
while (inhalt[2] ~= nil and fargs[i] ~= '' and i<=40) -- Maximal 40 Einträge in einer Ladenliste
do
local mhpreis = frame:callParserFunction{ name= '#mh', args= { inhalt[1] } } -- Gegenstand Name oder ID in inhalt[1]
lagertotal = lagertotal + tonumber(inhalt[2]) -- Lager
if inhalt[3]== nil or inhalt[3]== '' or inhalt[3]== 'null' then -- wenn der Verkaufspreis nicht angegeben wurde dann automatisch value verwenden
vkpreis = mh:value(frame,inhalt[1])
return '! !!align="left" colspan="1" |'..vkpreis..'</b>\n|-'
else
vkpreis = tonumber(inhalt[3])
end
if (mhpreis-vkpreis) >0 then -- nur wenn der der Kauf keinen Verlust gibt
werttotal = werttotal + ((mhpreis-vkpreis)*tonumber(inhalt[2]))
end
i = i+1
if fargs[i] ~= nil then
inhalt = split(fargs[i], ";")
else
inhalt [1] = nil
inhalt [2] = nil
inhalt [3] = nil
end
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