Modul:PLaden: Unterschied zwischen den Versionen
Aus SchnuppTrupp
Zeile 8: | Zeile 8: | ||
local MHI = require( "Module:MHI" ) -- Läd Modul MHI um die Funktionen zu nutzen | 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 mhp = tonumber(frame:callParserFunction{ name= '#mh', args= { id } }) -- Speichert den MHPreis |
local bild = mh:bild(frame,id,'') | local bild = mh:bild(frame,id,'') | ||
local name = frame:callParserFunction{ name= '#mh', args= { id,'n' } } | local name = frame:callParserFunction{ name= '#mh', args= { id,'n' } } | ||
Zeile 38: | Zeile 38: | ||
local werttotal = 0 | local werttotal = 0 | ||
local i = 1 | local i = 1 | ||
− | while (fargs[i] ~= nil and i<= | + | while (fargs[i] ~= nil 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:16 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 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