Modul:PLaden: Unterschied zwischen den Versionen
Aus SchnuppTrupp
Zeile 49: | Zeile 49: | ||
return '| ||align="left" colspan="4" |<span title="Gesamter Verkaufswert wenn alle Gegenstände eingekauft werden">Gesamt Wert:</span>||'..fargs[i]..'\n|-' | return '| ||align="left" colspan="4" |<span title="Gesamter Verkaufswert wenn alle Gegenstände eingekauft werden">Gesamt Wert:</span>||'..fargs[i]..'\n|-' | ||
+ | end | ||
+ | |||
+ | function split(s, delimiter) | ||
+ | result = {}; | ||
+ | for match in (s..delimiter):gmatch("(.-)"..delimiter) do | ||
+ | table.insert(result, match); | ||
+ | end | ||
+ | return result; | ||
end | end | ||
return v | return v |
Version vom 24. November 2020, 17:49 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 * 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 return '| ||align="left" colspan="4" |<span title="Gesamter Verkaufswert wenn alle Gegenstände eingekauft werden">Gesamt Wert:</span>||'..fargs[i]..'\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