Модуль:Prototypes/Механика/Исследование: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 5: | Строка 5: | ||
-- Загрузка данных из JSON | -- Загрузка данных из JSON | ||
local data = mw.text.jsonDecode(mw.title.new("Участник:IanComradeBot/entity_prototypes.json"):getContent()) | local data = mw.text.jsonDecode(mw.title.new("Участник:IanComradeBot/entity_prototypes.json"):getContent()) | ||
-- Проверка на наличие исключенных слов в boardID | |||
local excludedWords = {"Unanchored", "Debug", "Admin"} | |||
for _, word in ipairs(excludedWords) do | |||
if boardID:find(word) then | |||
return nil -- Если одно из исключенных слов присутствует, просто пропускаем этот ID | |||
end | |||
end | |||
-- Поиск платы по ID и извлечение её названия | -- Поиск платы по ID и извлечение её названия | ||
local board = data[boardID] | local board = data[boardID] | ||
if not board or not board.name then | if not board or not board.name then | ||
return nil | return nil -- Если платы нет в данных, возвращаем nil | ||
end | end | ||
-- Проверка наличия "(машинная плата)" или "(консольная плата)" в имени | -- Проверка наличия "(машинная плата)" или "(консольная плата)" в имени | ||
if not board.name:find("%(машинная плата%)") and not board.name:find("%(консольная плата%)") then | if not board.name:find("%(машинная плата%)") and not board.name:find("%(консольная плата%)") then | ||
return nil | return nil -- Если в имени нет одной из фраз, возвращаем nil | ||
end | end | ||
| Строка 86: | Строка 86: | ||
-- Проверка каждого ID в recipeUnlocks | -- Проверка каждого ID в recipeUnlocks | ||
for _, recipe in ipairs(tech.recipeUnlocks) do | for _, recipe in ipairs(tech.recipeUnlocks) do | ||
local machineID = translateBoardIDToMachineID(recipe) | local machineID = translateBoardIDToMachineID(recipe) -- Переводим только платы | ||
out = out .. frame:preprocess('<li>{{#invoke:Entity Lookup|createimagetooltip|Файл:' .. machineID .. '.png|' .. machineID .. '|Мета=32x32px,link=}} {{#invoke:Entity Lookup|getname|' .. machineID .. '}}</li>') | -- Добавляем ID машины, если он найден | ||
if machineID then | |||
out = out .. frame:preprocess('<li>{{#invoke:Entity Lookup|createimagetooltip|Файл:' .. machineID .. '.png|' .. machineID .. '|Мета=32x32px,link=}} {{#invoke:Entity Lookup|getname|' .. machineID .. '}}</li>') | |||
end | |||
end | end | ||