Module:Collection : Différence entre versions

De X-Wing - Le wiki des figurines
Aller à : navigation, rechercher
Ligne 14 : Ligne 14 :
 
     fabSelectTab={}
 
     fabSelectTab={}
 
     fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end)
 
     fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end)
     retour = "" .. type(affIfZero)
+
     retour = ""
 
     for i, v in ipairs (fabSelectTab) do
 
     for i, v in ipairs (fabSelectTab) do
 
         if fabSelectTab[i] ~= nil then
 
         if fabSelectTab[i] ~= nil then
 
             if FabListe[i] ~= nil then
 
             if FabListe[i] ~= nil then
 
                 if Boite[FabListe[i]] ~= nil then
 
                 if Boite[FabListe[i]] ~= nil then
                     if (fabSelectTab[i] ~= 0) or (affIfZero == true) then
+
                     if (fabSelectTab[i] ~= 0) or (affIfZero == "true") then
 
                         retour = retour .. "* [[" .. Boite[FabListe[i]].titre .. "]] x " .. fabSelectTab[i] .. "\n"
 
                         retour = retour .. "* [[" .. Boite[FabListe[i]].titre .. "]] x " .. fabSelectTab[i] .. "\n"
 
                     end
 
                     end
Ligne 35 : Ligne 35 :
 
     fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end)
 
     fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end)
 
     local vaissCollecTab={}
 
     local vaissCollecTab={}
     retour = "affIfZero : " .. affIfZero .."\n"
+
     retour = ""
 
     for i, v in ipairs (fabSelectTab) do
 
     for i, v in ipairs (fabSelectTab) do
 
         if fabSelectTab[i] ~= nil then
 
         if fabSelectTab[i] ~= nil then
Ligne 52 : Ligne 52 :
 
     end
 
     end
 
     for k, v in pairs (vaissCollecTab) do
 
     for k, v in pairs (vaissCollecTab) do
        retour = retour .. "affIfZero : " .. affIfZero .." - Vaisseau : " .. k .. " x " .. v .. "\n"
+
         if (v ~= 0) or (affIfZero == "true") then
         if (v ~= 0) or (affIfZero == true) then
 
 
             if Vaisseau[k] ~= nil then
 
             if Vaisseau[k] ~= nil then
 
                 retour = retour .. "* " .. Vaisseau[k].icone .. " x " .. v .. " -- " .. Vaisseau[k].nom .. "\n"
 
                 retour = retour .. "* " .. Vaisseau[k].icone .. " x " .. v .. " -- " .. Vaisseau[k].nom .. "\n"

Version du 18 janvier 2018 à 22:12

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 .. " -- " .. Vaisseau[k].nom .. "\n"
            else
                retour = retour .. "* " .. k .. " x " .. v .. "\n"
            end
        end
    end
    return retour
end
return p