Moduł:Achievements: Różnice pomiędzy wersjami

Z Minecraft Wiki Polska
Przejdź do nawigacji Przejdź do wyszukiwania
[wersja przejrzana][wersja przejrzana]
Nie podano opisu zmian
Nie podano opisu zmian
Linia 5: Linia 5:
     local success, data = pcall(mw.loadData, 'Moduł:Igorczewski6524/Achievements/Dane')
     local success, data = pcall(mw.loadData, 'Moduł:Igorczewski6524/Achievements/Dane')
     if not success then  
     if not success then  
         return '<span class="error">Nie znaleziono bazy danych pod adresem: Moduł:Igorczewski6524/Achievements/Dane</span>'  
         return '<span class="error">Błąd: Nie znaleziono danych w Moduł:Igorczewski6524/Achievements/Dane</span>'  
     end
     end


Linia 11: Linia 11:
     local achievements = mw.text.split(input, ";%s*")
     local achievements = mw.text.split(input, ";%s*")
      
      
     -- Budowa tabeli
     -- 1. START TABELI I NAGŁÓWEK (tylko raz!)
     local res = '{| class="wikitable sortable collapsible" style="text-align:center; width:100%"\n'
     local res = '{| class="wikitable sortable collapsible" style="text-align:center; width:100%"\n'
   
    -- NAGŁÓWEK:
    -- colspan="2" dla ikon (bo pod spodem są PS4 i Inne)
    -- rowspan="2" dla reszty, żeby "rozciągnęły się" w pionie i nie zostawiły dziur
     res = res .. '! colspan="2" | Ikona\n'
     res = res .. '! colspan="2" | Ikona\n'
     res = res .. '! rowspan="2" | Nazwa\n'
     res = res .. '! rowspan="2" | Nazwa\n'
Linia 27: Linia 23:
     res = res .. '|-\n'
     res = res .. '|-\n'
      
      
    -- 2. PĘTLA WYŚWIETLAJĄCA WIERSZE (tylko wiersze z danymi są zapętlone)
     for _, name in ipairs(achievements) do
     for _, name in ipairs(achievements) do
         local entry = data[name:lower()]
         local key = mw.text.trim(name):lower()
        local entry = data[key]
       
         if entry then
         if entry then
             res = res .. '| [[Plik:' .. (entry.icon_ps4 or '') .. '|40px]]\n'
             res = res .. '| style="background:#2a2d32" | [[Plik:' .. (entry.icon_ps4 or "") .. '|40px]]\n'
             res = res .. '| [[Plik:' .. (entry.icon_other or '') .. '|40px]]\n'
             res = res .. '| style="background:#2a2d32" | [[Plik:' .. (entry.icon_other or "") .. '|40px]]\n'
             res = res .. '| ' .. entry.title .. '\n'
             res = res .. '| [[' .. entry.title .. ']]\n'
             res = res .. '| style="text-align:left" | ' .. entry.game_desc .. '\n'
             res = res .. '| style="text-align:left" | ' .. (entry.game_desc or "—") .. '\n'
             res = res .. '| style="text-align:left" | ' .. entry.wiki_desc .. '\n'
             res = res .. '| style="text-align:left" | ' .. (entry.wiki_desc or "—") .. '\n'
             res = res .. '| ' .. entry.score .. '\n'
             res = res .. '| ' .. (entry.score or "—") .. '\n'
             res = res .. '| ' .. entry.trophy .. '\n|-\n'
             res = res .. '| ' .. (entry.trophy or "—") .. '\n'
            res = res .. '|-\n'
         end
         end
     end
     end
      
      
    -- 3. KONIEC TABELI
     res = res .. '|}'
     res = res .. '|}'
     return frame:preprocess(res)
     return frame:preprocess(res)

Wersja z 22:28, 20 gru 2025

[ 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