Модуль:Config: различия между версиями

добавлен хардкод для матчей на ноль
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 170: Строка 170:


     ["own_goals"]          = { start = 2006, anti_prize = true, get_val = function(stats) return stats.own_goals end },
     ["own_goals"]          = { start = 2006, anti_prize = true, get_val = function(stats) return stats.own_goals end },
     ["head_goals"] = { -- не записывались в конкретных матчах на ЧТМ-2022 и ЧТМ-2026
     ["head_goals"] = { -- не записывались в конкретных матчах на ЧТМ-2022 и ЧТМ-2026,
     -- а просто подсчитывались суммарно
     -- а просто подсчитывались суммарно
         start = 2022,
         start = 2022,
Строка 182: Строка 182:
         }
         }
     },
     },
     ["heel_goals"]         = { start = 2026, get_val = function(stats) return stats.goals.heel end },
     ["heel_goals"] = { -- не записывались в конкретных матчах на ЧТМ-2026,
    -- а просто подсчитывались суммарно
        start = 2026,
        get_val = function(stats) return stats.goals.heel end,
        adjustments = {
            players = {
                ["Геныч"] = { [2026] = 2 },
                ["Макс"] = { [2026] = 1 },
                ["Серёга"] = { [2026] = 1 },
            }
        }
    },
     ["free_kick_goals"]    = { start = 2026, get_val = function(stats) return stats.goals.free_kick end },
     ["free_kick_goals"]    = { start = 2026, get_val = function(stats) return stats.goals.free_kick end },
     ["goalie_goals"]      = { start = 2022, get_val = function(stats) return stats.goals.goalie end },
     ["goalie_goals"]      = { start = 2022, get_val = function(stats) return stats.goals.goalie end },
Строка 224: Строка 235:
         adjustments = {
         adjustments = {
             totals = {  
             totals = {  
                 [total] = 6 -- Это надо только к колонке "Всего" добавлять, потому что невозможно установить не только игроков, но даже турниры
                 ["total"] = 6 -- Это надо только к колонке "Всего" добавлять, потому что невозможно установить не только игроков, но даже турниры
             },
             },
             players = {
             players = {
Строка 618: Строка 629:
бомбардирам и ассистентам раздаются по количеству голов/передач за одну конкретную команду со сложным
бомбардирам и ассистентам раздаются по количеству голов/передач за одну конкретную команду со сложным
собственным тайбрейкером в случае равенства.
собственным тайбрейкером в случае равенства.
5
При загрузке из Модуль:Data/GrandStats.json
Вот что написал Gemini Pro:
"Ах, чёрт возьми! Прости, это классическая и очень коварная ловушка парсера MediaWiki, о которой я на секунду забыл,
когда наводил красоту в коде. Дело в том, что когда mw.text.jsonDecode разворачивает JSON, движок PHP
(на котором работает Вики) видит ключи вроде "2006". PHP автоматически и принудительно превращает любые ключи,
состоящие только из цифр, в числовые индексы (integers). В итоге, когда таблица возвращается в Lua,
ключом становится число 2006, а не строка "2006". В своей первой успешной версии я использовал двойную проверку
tab[year] or tab[tostring(year)], и это спасло ситуацию. Но в версии с медалями я решил «сделать код чище»,
принудительно переведя всё в строки (y_str = tostring(year)), и стал искать только по строкам.
Разумеется, Lua строк не нашёл, вернул nil, и все ячейки оказались пустыми."
--]]
--]]