Module:Collection : Différence entre versions
Ligne 11 : | Ligne 11 : | ||
function p.boite(frame) | function p.boite(frame) | ||
local fabSelectStr = trim(frame.args[1]) or "" | local fabSelectStr = trim(frame.args[1]) or "" | ||
+ | local affIfZero = trim(frame.args[2]) or false | ||
fabSelectTab={} | fabSelectTab={} | ||
fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end) | fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end) | ||
Ligne 18 : | Ligne 19 : | ||
if FabListe[i] ~= nil then | if FabListe[i] ~= nil then | ||
if Boite[FabListe[i]] ~= nil then | if Boite[FabListe[i]] ~= nil then | ||
− | retour = retour .. "* [[" .. Boite[FabListe[i]].titre .. "]] x " .. fabSelectTab[i] .. "\n" | + | if fabSelectTab[i] ~= 0 or affIfZero == true then |
+ | retour = retour .. "* [[" .. Boite[FabListe[i]].titre .. "]] x " .. fabSelectTab[i] .. "\n" | ||
+ | end | ||
end | end | ||
end | end | ||
Ligne 28 : | Ligne 31 : | ||
function p.vaisseau(frame) | function p.vaisseau(frame) | ||
local fabSelectStr = trim(frame.args[1]) or "" | local fabSelectStr = trim(frame.args[1]) or "" | ||
+ | local affIfZero = trim(frame.args[2]) or false | ||
fabSelectTab={} | fabSelectTab={} | ||
fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end) | fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end) | ||
Ligne 48 : | Ligne 52 : | ||
end | end | ||
for k, v in pairs (vaissCollecTab) do | for k, v in pairs (vaissCollecTab) do | ||
− | if Vaisseau[k] ~= nil then | + | if v ~= 0 or affIfZero == true then |
− | + | if Vaisseau[k] ~= nil then | |
− | + | retour = retour .. "* " .. Vaisseau[k].icone .. " x " .. v .. "\n" | |
− | + | else | |
+ | retour = retour .. "* " .. k .. " x " .. v .. "\n" | ||
+ | end | ||
end | end | ||
end | end |
Version du 18 janvier 2018 à 10:32
La documentation pour ce module peut être créée à Module:Collection/doc
local p = {} local Boite = mw.loadData('Module:Collection/Boite') local Vaisseau = mw.loadData('Module:Collection/Vaisseau') local FabListe = mw.loadData('Module:Collection/FabListe') function trim(s) return (string.gsub(s, "^%s*(.-)%s*$", "%1")) end function p.boite(frame) local fabSelectStr = trim(frame.args[1]) or "" local affIfZero = trim(frame.args[2]) or false fabSelectTab={} fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end) retour = "" for i, v in ipairs (fabSelectTab) do if fabSelectTab[i] ~= nil then if FabListe[i] ~= nil then if Boite[FabListe[i]] ~= nil then if fabSelectTab[i] ~= 0 or affIfZero == true then retour = retour .. "* [[" .. Boite[FabListe[i]].titre .. "]] x " .. fabSelectTab[i] .. "\n" end end end end end return retour end function p.vaisseau(frame) local fabSelectStr = trim(frame.args[1]) or "" local affIfZero = trim(frame.args[2]) or false fabSelectTab={} fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end) local vaissCollecTab={} retour = "" for i, v in ipairs (fabSelectTab) do if fabSelectTab[i] ~= nil then if FabListe[i] ~= nil then if Boite[FabListe[i]] ~= nil then for k, v in pairs (Boite[FabListe[i]].vaisseaux) do if vaissCollecTab[k] == nil then vaissCollecTab[k] = v * fabSelectTab[i] else vaissCollecTab[k] = vaissCollecTab[k] + (v * fabSelectTab[i]) end end end end end end for k, v in pairs (vaissCollecTab) do if v ~= 0 or affIfZero == true then if Vaisseau[k] ~= nil then retour = retour .. "* " .. Vaisseau[k].icone .. " x " .. v .. "\n" else retour = retour .. "* " .. k .. " x " .. v .. "\n" end end end return retour end return p