Модуль:Players: відмінності між версіями

296 байтів додано ,  22 квітня 2024
нема опису редагування
Немає опису редагування
Немає опису редагування
 
Рядок 1: Рядок 1:
local p = {}
local p = {}


function p.fetchRandomMembers(frame)
function p.showRandomPlayers(frame)
     local categoryName = 'Учасники_спільноти_MCC'  -- The category from which to fetch members
     -- List of players provided
     local category = mw.title.makeTitle(14, categoryName)  -- Namespace 14 is for categories
     local players = {
    local members = category:getCategoryMembers()
        "Індиго", "Адамант", "Алоха", "Аріель", "Берлін", "Бетмен", "Браун", "ВВ",
    local count = 4  -- Number of random members to fetch
        "Дантес", "Демон", "Джордж", "Доктор Хаус", "Доктор Ямато", "Емесай", "ЕХС", "Кексік",
     local output = '<ul>\n'
        "Керміт", "Клайд", "Клей", "Комар", "Лемур", "Містер Тен", "Малена", "Мальвінка",  
        "Маска", "Мері", "Механік", "Ніколетта", "Оттерія", "Расм", "Сімон", "Справа",
        "Тайєр", "Тян", "Фавер", "Фаза", "Фейт", "Хантер", "Хоррорчік", "Шостік"
     }
      
      
     -- Shuffle the array of members randomly and select the top few
     -- Shuffling the list to randomize
     local shuffled = {}
     for i = #players, 2, -1 do
    for index, value in ipairs(members) do
         local j = math.random(i)
         local pos = math.random(1, #shuffled+1)
         players[i], players[j] = players[j], players[i]
         table.insert(shuffled, pos, value)
     end
     end
      
 
     for i = 1, math.min(count, #shuffled) do
    -- Selecting the first four players after shuffling
         local title = shuffled[i].fullText
     local output = {}
        output = output .. '<li><a href="/wiki/' .. mw.text.encode(title) .. '">' .. mw.text.decode(title) .. '</a></li>\n'
     for i = 1, math.min(4, #players) do
         table.insert(output, string.format('<p>[[%s|%s]]</p>', players[i], players[i]))
     end
     end
   
 
     output = output .. '</ul>\n'
     return table.concat(output, "\n")
    return output
end
end


return p
return p