Moduł:Achievements

Z Minecraft Wiki Polska
Przejdź do nawigacji Przejdź do wyszukiwania
[ utwórz | historia | odśwież ]Dokumentacja
W tym module nie ma dokumentacji. Jeśli wiesz jak używać tego modułu, proszę, podaj odpowiednie informacje.
local p = {}

function p.load(frame)
    -- Próba załadowania danych
    local success, data = pcall(mw.loadData, 'Moduł:Igorczewski6524/Achievements/Dane')
    if not success then 
        return '<span class="error">Błąd: Nie znaleziono danych w Moduł:Igorczewski6524/Achievements/Dane</span>' 
    end

    local input = frame.args[1] or ""
    local achievements = mw.text.split(input, ";%s*")
    
    -- 1. START TABELI I NAGŁÓWEK (tylko raz!)
    local res = '{| class="wikitable sortable collapsible" style="text-align:center; width:100%"\n'
    res = res .. '! colspan="2" | Ikona\n'
    res = res .. '! rowspan="2" | Nazwa\n'
    res = res .. '! rowspan="2" | Opis w grze\n'
    res = res .. '! rowspan="2" | Wymagania\n'
    res = res .. '! rowspan="2" | Gamerscore\n'
    res = res .. '! rowspan="2" | Typ trofeum (PS)\n'
    res = res .. '|-\n'
    res = res .. '! PS4 !! Inne\n'
    res = res .. '|-\n'
    
    -- 2. PĘTLA WYŚWIETLAJĄCA WIERSZE (tylko wiersze z danymi są zapętlone)
    for _, name in ipairs(achievements) do
        local key = mw.text.trim(name):lower()
        local entry = data[key]
        
        if entry then
            res = res .. '| style="background:#2a2d32" | [[Plik:' .. (entry.icon_ps4 or "") .. '|40px]]\n'
            res = res .. '| style="background:#2a2d32" | [[Plik:' .. (entry.icon_other or "") .. '|40px]]\n'
            res = res .. '| [[' .. entry.title .. ']]\n'
            res = res .. '| style="text-align:left" | ' .. (entry.game_desc or "—") .. '\n'
            res = res .. '| style="text-align:left" | ' .. (entry.wiki_desc or "—") .. '\n'
            res = res .. '| ' .. (entry.score or "—") .. '\n'
            res = res .. '| ' .. (entry.trophy or "—") .. '\n'
            res = res .. '|-\n'
        end
    end
    
    -- 3. KONIEC TABELI
    res = res .. '|}'
    return frame:preprocess(res)
end

return p