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

нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 5: Рядок 5:
-- Шукає у таблиці рядок, де друга колонка = player_name
-- Шукає у таблиці рядок, де друга колонка = player_name
-- Повертає значення з column_index того ж самого рядка
-- Повертає значення з column_index того ж самого рядка
-- Індексація: 1=№, 2=Ім'я, 3=Значення, 4=Додатково
----------------------------------------------------------------------
----------------------------------------------------------------------


Рядок 22: Рядок 23:
     if not table_content then return nil end
     if not table_content then return nil end


     -- 2. Знаходимо весь блок даних гравця (4 комірки: №, Ім'я, Дата, Провідник/Рахунок)
     -- 2. Знаходимо весь блок даних гравця (4 комірки)
     -- Патерн, що захоплює послідовність 4 комірок, де друга містить ім'я гравця.
     -- Патерн, що захоплює послідовність 4 комірок, де друга містить ім'я гравця.
     local full_row_pattern = "([|]%s*.-%s*[|]%s*" .. player_pattern .. "%s*[|]%s*.-%s*[|]%s*.-%s*)"
     local full_row_pattern = "([|]%s*.-%s*[|]%s*" .. player_pattern .. "%s*[|]%s*.-%s*[|]%s*.-%s*)"
Рядок 75: Рядок 76:


----------------------------------------------------------------------
----------------------------------------------------------------------
-- ПОЛЯ (ТАБЛИЦЯ "ГРАВЦІ")
-- ПОЛЯ
-- Колонка 3: Дата приєднання
-- Колонка 4: Провідник
----------------------------------------------------------------------
----------------------------------------------------------------------


-- ТАБЛИЦЯ "ГРАВЦІ" (Індекс 3 та 4)
function p.recruiter(frame)
function p.recruiter(frame)
     local name = mw.title.getCurrentTitle().text
     local name = mw.title.getCurrentTitle().text
     local raw = fetch_from_table("Гравці", name, 4)
     local raw = fetch_from_table("Гравці", name, 4)
    -- Якщо "Відсутній", конвертуємо у "Не вказано".
     if raw == "Відсутній" then return "Не вказано" end
     if raw == "Відсутній" then return "Не вказано" end
     return raw or "Не вказано"
     return raw or "Не вказано"
Рядок 92: Рядок 91:
     local raw = fetch_from_table("Гравці", name, 3)
     local raw = fetch_from_table("Гравці", name, 3)
     return raw and date_with_days(raw) or "Невідомо"
     return raw and date_with_days(raw) or "Невідомо"
end
-- ТАБЛИЦЯ "ФУНДАЦІЯ" (Індекс 3)
function p.foundation(frame)
    local name = mw.title.getCurrentTitle().text
    -- Колонка 3 для суми
    local raw = fetch_from_table("Фундація", name, 3)
    -- Очищення від символів валют та пробілів (на випадок, якщо там 1000 ₴)
    if raw then
        raw = mw.ustring.gsub(raw, "[^%d%s]", "")
        raw = mw.text.trim(raw)
    end
    return (raw or "0") .. " ₴"
end
-- ТАБЛИЦЯ "ПРИЗОВИЙ_ФОНД" (Індекс 3)
function p.prize_pool(frame)
    local name = mw.title.getCurrentTitle().text
    -- Колонка 3 для суми
    local raw = fetch_from_table("Призовий_фонд", name, 3)
    if raw then
        raw = mw.ustring.gsub(raw, "[^%d%s]", "")
        raw = mw.text.trim(raw)
    end
    return (raw or "0") .. " ₴"
end
-- ТАБЛИЦЯ "ФІНАЛІСТ" (Індекс 3)
function p.final(frame)
    local name = mw.title.getCurrentTitle().text
    -- Колонка 3 для рахунку (наприклад, 3)
    local raw = fetch_from_table("Фіналіст", name, 3)
   
    -- Вилучаємо лише число (на випадок, якщо там написано "3/9")
    local count = raw and mw.ustring.match(raw, "(%d+)")
   
    if count then
        return count .. "/9"
    else
        return "0/9"
    end
end
end


return p
return p