Модуль:Prototypes/Механика/Исследование: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки Метка: ручная отмена |
||
| Строка 1: | Строка 1: | ||
local p = {} | local p = {} | ||
-- Функция для перевода ID плат в ID машин | -- Функция для перевода ID плат в ID машин | ||
local function translateBoardIDToMachineID(boardID) | local function translateBoardIDToMachineID(boardID) | ||
-- | -- Загрузка данных из JSON | ||
local data = mw.text.jsonDecode(mw.title.new("Участник:IanComradeBot/entity_prototypes.json"):getContent()) | |||
-- Поиск платы по ID и извлечение её названия | -- Поиск платы по ID и извлечение её названия | ||
| Строка 26: | Строка 13: | ||
-- Проверка наличия "(машинная плата)" или "(консольная плата)" в имени | -- Проверка наличия "(машинная плата)" или "(консольная плата)" в имени | ||
if not | if not board.name:find("%(машинная плата%)") and not board.name:find("%(консольная плата%)") then | ||
return nil -- Если в имени нет одной из фраз, возвращаем nil | return nil -- Если в имени нет одной из фраз, возвращаем nil | ||
end | end | ||
-- Удаление "(машинная плата)" и "(консольная плата)" из имени платы | -- Удаление "(машинная плата)" и "(консольная плата)" из имени платы | ||
local machineName = board.name:gsub(" %(машинная плата%)", ""):gsub(" %(консольная плата%)", "" | local machineName = board.name:gsub(" %(машинная плата%)", ""):gsub(" %(консольная плата%)", "") | ||
-- Список исключений | -- Список исключений | ||
local excludeWords = {"Unanchored", "Debug", "Admin"} | local excludeWords = {"Unanchored", "Debug", "Admin", "Enabled"} | ||
-- | -- Поиск машины по новому названию | ||
for _, entity in pairs(data) do | for _, entity in pairs(data) do | ||
if entity.name == machineName then | if entity.name == machineName then | ||
| Строка 50: | Строка 36: | ||
if not shouldExclude then | if not shouldExclude then | ||
return entity.id -- Возвращаем ID машины | |||
end | end | ||
end | end | ||
end | end | ||
-- | return nil -- Если машина не найдена, возвращаем nil | ||
end | end | ||
| Строка 71: | Строка 54: | ||
local customRecipeUnlocks = frame.args.customRecipeUnlocks or nil -- Ручной ввод в список разблокируемых технологий | local customRecipeUnlocks = frame.args.customRecipeUnlocks or nil -- Ручной ввод в список разблокируемых технологий | ||
-- Загрузка данных из JSON | -- Загрузка данных из JSON | ||
local data = mw.text.jsonDecode(mw.title.new("User:IanComradeBot/research_prototypes.json"):getContent()) | |||
local out = cssLink | local out = cssLink | ||