×
Einen neuen Artikel erstellen
Schreibe den Seitennamen hierhin:
Wir haben derzeit 9.055 Artikel auf Vaultpedia. Gib deinen Artikelnamen oberhalb von oder klicke auf einen der unten stehenden Titel und beginne zu schreiben! ein



    Vaultpedia
    9.055Artikel
    Version vom 12. Oktober 2024, 22:09 Uhr von Huu.Psii (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „-- Quelle: https://fallout.fandom.com/wiki/Module:Abb local p = {} local util = require( 'Modul:Util' ) local gameList = { AR = { icon = "Gametitle-AR.png", title = "All Roads", short = "All Roads" }, D20 = { icon = "Gametitle-D20.png", title = "Fallout Pen and Paper d20", link = "Fallout d20", short = "Fallout d20" }, FB = { icon = "Gametitle-FB.png", titl…“)
    (Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
    Tritt unserem Discord bei und informiere dich auf unserem Twitter-Kanal über die aktuellsten Themen rund um Fallout!

    Die Dokumentation für dieses Modul kann unter Modul:Abb/Doku erstellt werden

    -- Quelle: https://fallout.fandom.com/wiki/Module:Abb
    
    local p = {}
    local util = require( 'Modul:Util' )
    
    local gameList = {
        AR = {
            icon  = "Gametitle-AR.png",
            title = "All Roads",
            short = "All Roads"
        },
    
        D20 = {
            icon  = "Gametitle-D20.png",
            title = "Fallout Pen and Paper d20",
            link  = "Fallout d20",
            short = "Fallout d20"
        },
    
        FB = {
            icon  = "Gametitle-FB.png",
            title = "Fallout Bible"
        },
    
        FBG = {
            icon  = "Gametitle-FBG.png",
            title = "Fallout: The Board Game"
        },
    
        FBGNC = {
            icon  = "Gametitle-FBGNC.png",
            title = "Fallout: New California"
        },
        
        FBGWW = {
            icon  = "Gametitle-FBGWW.png",
            title = "Fallout: Wasteland Warfare",
        },
        
        FILM = {
            icon  = "Film.png",
            title = "Fallout (Film)"
        },
    
        FNV = {
            icon  = "Gametitle-FNV.png",
            title = "Fallout: New Vegas"
        },
        
        FNVCS = {
            icon  = "Gametitle-FNV_CS.png",
            title = "Courier's Stash"
        },
    
        FNVDM = {
            icon  = "Gametitle-FNV_DM.png",
            title = "Dead Money"
        },
        
        FNVGRA = {
            icon  = "Gametitle-FNV_GRA.png",
            title = "Gunn Runners' Arsenal"
        },
    
        FNVHH = {
            icon  = "Gametitle-FNV_HH.png",
            title = "Honest Hearts"
        },
    
        FNVLR = {
            icon  = "Gametitle-FNV_LR.png",
            title = "Lonesome Road (Add-on)",
            link  = "Lonesome Road",
            short = "Lonesome Road"
        },
    
        FNVOWB = {
            icon  = "Gametitle-FNV_OWB.png",
            title = "Old World Blues (Add-on)",
            link  = "Old World Blues",
            short = "Old World Blues"
        },
    
        FO4 = {
            icon  = "Gametitle-FO4.png",
            title = "Fallout 4",
        },
    
        FO4AUT = {
            icon  = "Gametitle-FO4_AUT.png",
            title = "Automatron (Add-on)",
            link  = "Automatron",
            short = "Automatron"
        },
    
        FO4WW = {
            icon  = "Gametitle-FO4_WW.png",
            title = "Wasteland Workshop"
        },
    
        FO4FH = {
            icon  = "Gametitle-FO4_FH.png",
            title = "Far Harbor (Add-on)",
            link  = "Far Harbor",
            short = "Far Harbor"
        },
    
        FO4CW = {
            icon  = "Gametitle-FO4_CW.png",
            title = "Contraptions Workshop"
        },
    
        FO4VW = {
            icon  = "Gametitle-FO4_VW.png",
            title = "Vault-Tec Workshop"
        },
    
        FO4NW = {
            icon  = "Gametitle-FO4_NW.png",
            title = "Nuka-World (Add-on)",
            link  = "Nuka-World",
            short = "Nuka-World"
        },
    
        FO4VR = {
            icon  = "Gametitle-FO4VR.png",
            title = "Fallout 4 VR"
        },
    
        FO4CC = {
            icon  = "Gametitle-FO4_CC.png",
            title = "Creation Club"
        },
        
        FOS = {
            icon  = "Gametitle-FOS.png",
            title = "Fallout Shelter",
        },
        
         FOSO = {
            icon  = "Gametitle-FOSO.png",
            title = "Fallout Shelter Online",
        },
    
        FPB = {
            icon  = "Gametitle-FPB.png",
            title = "Fallout Pip-Boy"
        },
    
        FO = {
            icon  = "Gametitle-FO1.png",
            title = "Fallout"
        },
    
        FO1 = {
            icon  = "Gametitle-FO1.png",
            title = "Fallout"
        },
    
        FO2 = {
            icon  = "Gametitle-FO2.png",
            title = "Fallout 2"
        },
    
        FO3 = {
            icon  = "Gametitle-FO3.png",
            title = "Fallout 3"
        },   
    
        FO3BS = {
            icon  = "Gametitle-FO3_BS.png",
            title = "Broken Steel"
        },
    
        FO3MZ = {
            icon  = "Gametitle-FO3_MZ.png",
            title = "Mothership Zeta (Add-on)",
            link  = "Mothership Zeta",
            short = "Mothership Zeta"
        },
    
        FO3OA = {
            icon  = "Gametitle-FO3_OA.png",
            title = "Operation: Anchorage (Add-on)",
            link  = "Operation: Anchorage",
            short = "Operation: Anchorage"
        },
    
        FO3PL = {
            icon  = "Gametitle-FO3_PL.png",
            title = "Point Lookout (Add-on)",
            link  = "Point Lookout",
            short = "Point Lookout"
        },
    
        FO3TP = {
            icon  = "Gametitle-FO3_TP.png",
            title = "The Pitt (Add-on)",
            link  = "The Pitt",
            short = "The Pitt"
        },
    
        FO76 = {
            icon  = "Gametitle-FO76.png",
            title = "Fallout 76",
            link  = "Fallout 76"
        },
    
        FO76WA = {
            icon  = "Gametitle-FO76_WA.png",
            title = "Wild Appalachia"
        },
    
        FO76NW = {
            icon  = "Gametitle-FO76_NW.png",
            title = "Nuclear Winter",
            link  = "Nuclear Winter"
        },
     
        FO76WL = {
            icon  = "Gametitle-FO76_WL.png",
            title = "Wastelanders"
        },
    
        FO76LR = {
            icon  = "Gametitle-FO76_LR.png",
            title = "Das legendäre Rennen (Update)",
            link  = "Das legendäre Rennen",
            short = "Das legendäre Rennen"
        },
    
        FO76OW = {
            icon  = "Gametitle-FO76_One_Wasteland.png",
            title = "Ein Ödland für alle"
        },
    
        FO76FS = {
            icon  = "Gametitle-FO76_Steel Dawn.png",
            title = "Stählerne Dämmerung",
            link  = "Stählerne Dämmerung"
        },
    
        FO76SD = {
            icon  = "Gametitle-FO76_Steel Dawn.png",
            title = "Stählerne Dämmerung",
            link  = "Stählerne Dämmerung"
        },
    
    	FO76LL = {
            icon  = "Gametitle-FO76_Locked n Loaded.png",
            title = "Geladen und Entsichert"
        },
        
        FO76SR = {
            icon  = "Gametitle-FO76_Steel Reign.png",
            title = "Stählerne Herrschaft",
            link  = "Stählerne Herrschaft"
        },
        
        FO76FW = {
            icon  = "Gametitle-FO76 FW.png",
            title = "Fallout Worlds",
            link  = "Fallout Worlds"
        },
        
        FO76NM = {
            icon  = "Gametitle-FO76 NM.png",
            title = "Nacht der Motte",
            link  = "Nacht der Motte"
        },
        
        FO76IB = {
            icon  = "Gametitle-FO76 IB.png",
            title = "Angreifer aus dem All (Update)",
            link  = "Angreifer aus dem All",
            short = "Angreifer aus dem All"
        },
        
        FO76TM = {
            icon  = "Gametitle-FO76 TM.png",
            title = "Härteprüfung (Update)",
            link  = "Härteprüfung",
            short = "Härteprüfung"
        },
        
        FO76TP = {
            icon  = "Gametitle-FO76 TP.png",
            title = "Expeditionen: The Pitt",
            link  = "Expeditionen: The Pitt"
        },
        
        FO76NT = {
            icon  = "Gametitle-FO76 NT.png",
            title = "Nuka-World on Tour (Update)",
            link  = "Nuka-World on Tour",
            short = "Nuka-World on Tour"
        },
        
        FO76MI = {
            icon  = "Gametitle-FO76MI.png",
            title = "Mutations-Invasion",
            link  = "Mutations-Invasion"
        },
        
        FO76OB = {
            icon  = "Gametitle-FO76 OB.png",
            title = "Wenn die Sterne günstig stehen",
            link  = "Wenn die Sterne günstig stehen"
        },
        
        FO76AC = {
            icon  = "Gametitle-FO76 AC.png",
            title = "Expeditionen: Atlantic City",
            link  = "Expeditionen: Atlantic City"
        },
        
        FO76BP = {
        icon  = "Gametitle-FO76 AC.png",
        title = "Boardwalk Paradise",
        link  = "Boardwalk Paradise"
        },
        
        FO76AP = {
        icon  = "Gametitle-FO76 AC.png",
        title = "America's Playground",
        link  = "America's Playground"
        },
        
        FO76SV = {
        icon  = "Gametitle-FO76 SV.png",
        title = "Skyline Valley (Update)",
        link  = "Skyline Valley",
        short = "Skyline Valley"
        },
        
        FO76MZ = {
        icon  = "Gametitle-FO76 MZ.png",
        title = "Meilenstein Null (Update)",
        link  = "Meilenstein Null",
        short = "Meilenstein Null"
        },
        
        FO76GD = {
        icon  = "Gametitle-FO76.png",
        title = "Gleaming Depths (Update)",
        link  = "Gleaming Depths",
        short = "Gleaming Depths"
        },
        
        FOBOS = {
            icon  = "Gametitle-FOBOS.png",
            title = "Fallout: Brotherhood of Steel",
            link  = "Fallout: Brotherhood of Steel",
            short = "Fallout: BoS"
        },
    
        FOBOS2 = {
            icon  = "Gametitle-FOBOS2.png",
            title = "Fallout: Brotherhood of Steel 2",
            link  = "Fallout: Brotherhood of Steel 2",
            short = "Fallout: BoS 2"
        },
    
        FOOL = {
            icon  = "PV13.png",
            title = "Project V13"
        },
    
        PV13 = {
            icon  = "PV13.png",
            title = "Project V13"
        },
    
        FOT = {
            icon  = "Gametitle-FOT.png",
            title = "Fallout Tactics: Brotherhood of Steel",
            link  = "Fallout Tactics",
            short = "Fallout Tactics"
        },
        
        FOT2 = {
            icon  = "Gametitle-FOT2.png",
            title = "Fallout Tactics 2"
        },
    
        FOW = {
            icon  = "Gametitle-FOW.png",
            title = "Fallout: Warfare"
        },
    
        FOX = {
            icon  = "Gametitle-FOX.png",
            title = "Fallout Extreme"
        },
    
       FOWW = {
            icon  = "Gametitle-FWW.png",
            title = "Fallout: Wasteland Warfare"
        },
        
        FORPG = {
            icon  = "Gametitle-2D20.png",
            title = "Fallout: The Roleplaying Game",
        },
        
        FORPGWOA = {
            icon  = "Gametitle-2D20.png",
            title = "Winter of Atom",
        },
        
        JES = {
            icon  = "Gametitle-JES.png",
            title = "J.E. Sawyer's Fallout RPG",
            short = "JES Fallout RPG"
        },
    
        LH = {
            icon  = "Gametitle-LH.png",
            title = "Lionheart"
        },
    
        PA = {
            icon  = "Penny Arcade.gif",
            title = "One Man, and a Crate of Puppets",
            short = "Penny Arcade"
        },
    
        TAR = {
            icon  = "Gametitle-TAR.jpg",
            title = "The Armageddon Rag",
            short = "Armageddon Rag"
        },
        
        TORN = {
            icon  = "Gametitle-TORN.png",
            title = "TORN"
        },
        
        VB = {
            icon  = "Gametitle-VB.png",
            title = "Van Buren"
        },
    
        WIKI = {
            icon  = "Gametitle-Wiki.png",
            title = "Fallout Wiki:Über",
            short = "Fallout Wiki"
        },
        
        NONE = {
            title = "mentioned-only"
        },
    
        RW = {
            title = "real world"
        },
    
        FOF = {
            icon  = "Gametitle-FOF.png",
            title = "Fallout: Factions",
        },
        
        FOTV = {
            title = "Fallout (Fernsehserie)",
            link  = "Fallout-Fernsehserie",
            short = "Fallout-Fernsehserie"
        },
        
        FTV = {
        title = "Fallout (Fernsehserie)",
        link  = "Fallout-Fernsehserie",
        short = "Fallout-Fernsehserie"
        }
    
    }
    
    function setTable(keys)
        if string.len(tostring(keys)) > 0 then
            result = mw.text.split(keys, ",")
        else
            result = nil
        end
        return result
    end
    
    function _valid(games)
    local keys = setTable(games)
        for k, v in ipairs(keys) do
            if gameList[v] ~=nil then
                return true
            end
        end
        return false
    end
    
    function p.i_valid(games)
        return _valid(games)
    end
    
    function p.validation(frame)
        return _valid(frame.args['games'])
    end
    
    function icon(frame)
        local fileCount = 1
        local fileOut = ""
        while fileCount <= abbLength do
            currentFile = string.upper(abbGames[fileCount])
            currentFile = abbIcon[currentFile]
            if currentFile ~= nil then
                fileOut = fileOut .. currentFile
            end
            fileCount = fileCount + 1
        end
        return fileOut
    end
    
    function _category(keys, category, prepend, append, mode, sortkey)
        local keys = setTable(keys)
        local result = ""
        
        if util.exists(keys) then
            for k, v in ipairs(keys) do
                local currentCat = nil
                
                if util.exists(gameList[v].link) then
                    currentCat = gameList[v].link
                else
                    currentCat = gameList[v].title
                end
                
                result = result .. "[[Kategorie:"
    
                if util.exists(mode) and string.lower(mode) == "append" then
                    result = result .. string.lower(category) .. " "
                    if util.exists(prepend) then
                        result = result .. prepend
                    end
    
                    result = result .. currentCat
    
                    if util.exists(append) then
                        result = result .. append
                    end
                else
                    result = result .. currentCat .. " "
                    
                    if util.exists(prepend) then
                        result = result .. " " .. prepend
                    end
                
                    result = result .. category
                    
                    if util.exists(append) then
                        result = result .. append
                    end
                end
    
                if util.exists(sortKey) then
                    result = result .. "|" .. sortKey
                end
                
                result = result .. "]]"
            end
        else
            result = "[[Kategorie:" .. category
            
            if exists(sortKey) then
                    result = result .. "|" .. sortKey
            end
            
            result = result .. "]]"
        end
        
        return result
    end
    
    function p.i_category(games, category, prepend, append, mode, sortkey)
    	return _category(games, category, prepend, append, mode, sortkey)
    end
    
    function p.category(frame)
        local keys = setTable(frame.args['games'])
        local category = frame.args['category']
        local prepend = frame.args['prepend']
        local append = frame.args['append']
        local mode = frame.args['mode']
        local sortKey = frame.args['sort key']
        local i = 1
        local result = ""
        
        if keys ~= nil then
            while i <= table.getn(keys) do
                local currentCat = nil
                currentCat = keys[i]
                if gameList[currentCat]['link'] ~= nil then
                    currentCat = gameList[currentCat]['link']
                else
                    currentCat = gameList[currentCat]['title']
                end
                
                result = result .. "[[Kategorie:"
    
                if string.lower(mode) == "append" then
                    result = result .. string.lower(category) .. " "
                    if prepend ~= nil then
                        result = result .. prepend
                    end
    
                    result = result .. currentCat
    
                    if append ~= nil then
                        result = result .. append
                    end
                else
                    result = result .. currentCat .. " "
                    
                    if prepend ~= nil then
                        result = result .. " " .. prepend
                    end
                
                    result = result .. category
                    
                    if append ~= nil then
                        result = result .. append
                    end
                end
    
                if sortKey ~= nil and string.len(sortKey) ~= 0 then
                    result = result .. "|" .. sortKey
                end
                
                result = result .. "]]"
                i = i + 1
            end
        else
            result = "[[Kategorie:" .. category
            
            if sortKey ~= nil and string.len(sortKey) ~= 0 then
                    result = result .. "|" .. sortKey
            end
            
            result = result .. "]]"
        end
        
        return result
    end
    
    function p.abb(frame)
        if frame.args[2] ~= nil then
            mode = string.lower(frame.args[2])
        end
        
        local games = string.upper(tostring(frame.args[1]))
        games = mw.text.split(games, ",")
        length = table.getn(games)
        if mode == "link" or mode == "text" or mode == "short" or mode == nil then
            result = abbOnly(games, mode, length)
        end
    
        if mode == "cat" then
            abbCatName = frame.args[3]
            abbAppend = frame.args[4]
            abbPrepend = frame.args[5]
            abbCatMode = frame.args[6]
            abbSort = frame.args[7]
            result = abbCategory(games, length, abbCatName, abbAppend, abbPrepend, abbCatMode, abbSort)
        end
    
        if mode == "icon" then
            result = abbFile(games, length)
        end
        return result
    end
    
    function p.documentation()
        keys = {}
        for k in pairs(gameList) do
            table.insert(keys, k)
        end
     
        table.sort(keys)
        result = '{| class="va-table va-table-full"\n|-\n !Abbreviation!!text/title!!short!!link!!icon\n|-\n'
        for k,v in ipairs(keys) do
    		result = result .. '|' .. v .. '||' .. gameList[v].title .. '||'
    		if _valid(gameList[v].short) ~= nil then
    			result = result .. gameList[v].short
    		else
    			result = result .. gameList[v].title
    		end
    		result = result .. '||'
    		if _valid(gameList[v].link) ~= nil then
    			result = result .. gameList[v].link
    		else
    			result = result .. gameList[v].title
    		end
    		result = result .. '||' .. '[[Datei:' .. gameList[v].icon .. '|x40px]]\n|-\n'
    	end
        result = result .. '\n|}'
     
        return result
    end
    
    return p