Modul:PLaden: Unterschied zwischen den Versionen

Aus SchnuppTrupp
Wechseln zu: Navigation, Suche
Zeile 44: Zeile 44:
 
   lagertotal = lagertotal + tonumber(inhalt[2]) -- Lager
 
   lagertotal = lagertotal + tonumber(inhalt[2]) -- Lager
 
   local vkpreis = tonumber(inhalt[3]) -- Laden VK Preis
 
   local vkpreis = tonumber(inhalt[3]) -- Laden VK Preis
   werttotal = werttotal + ((mhpreis-vkpreis)*lagertotal)
+
   werttotal = werttotal + ((mhpreis-vkpreis)*tonumber(inhalt[2]))
 
   i = i+1
 
   i = i+1
 
end
 
end
 
lagertotalpl = frame:callParserFunction{ name= '#pl', args= { lagertotal } }
 
lagertotalpl = frame:callParserFunction{ name= '#pl', args= { lagertotal } }
 
werttotalpl = frame:callParserFunction{ name= '#pl', args= { werttotal } }
 
werttotalpl = frame:callParserFunction{ name= '#pl', args= { werttotal } }
return 'class="sortbottom">\n! !!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|-'
+
return 'class="sortbottom"\n! !!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
 
end
  

Version vom 24. November 2020, 18:05 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
	while (fargs[i] ~= nil and i<=2) -- 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 'class="sortbottom"\n! !!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