Модуль:Config: различия между версиями
Lord (обсуждение | вклад) Нет описания правки |
Lord (обсуждение | вклад) Нет описания правки |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 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"] | ["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 }, | ||
| Строка 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, и все ячейки оказались пустыми." | |||
--]] | --]] | ||