Модуль:Prototypes/Механика/Доступ
Материал из Space Station 14 Вики
Версия от 08:37, 29 января 2025; Pok (обсуждение | вклад)
Для документации этого модуля может быть создана страница Модуль:Prototypes/Механика/Доступ/doc
local p = {}
-- Таблица для перевода слов
local translations = {
["Command"] = "Командование",
["Captain"] = "Капитан",
["Head of Personnel"] = "Глава персонала",
["Cryogenics"] = "Криогеника",
["Head of Security"] = "Глава службы безопасности",
["Security"] = "Служба безопасности",
["Armory"] = "Оружейная",
["Brig"] = "Бриг",
["Detective"] = "Детектив",
["Chief Engineer"] = "Старший инженер",
["Engineering"] = "Инженерный",
["Atmospherics"] = "Атмосферный",
["Research Director"] = "Научный руководитель",
["Research"] = "Научный",
["Chief Medical Officer"] = "Главный врач",
["Medical"] = "Медицинский",
["Chemistry"] = "Химия",
["Paramedic"] = "Парамедик",
["Quartermaster"] = "Квартирмейстер",
["Cargo"] = "Снабжение",
["Salvage"] = "Утилизаторский",
["Bar"] = "Бар",
["Kitchen"] = "Кухня",
["Hydroponics"] = "Гидропоника",
["Service"] = "Сервис",
["Janitor"] = "Уборщик",
["Theatre"] = "Театр",
["Chapel"] = "Церковь",
["Lawyer"] = "Юридический",
["Maintenance"] = "Техобслуживание",
["External"] = "Внешний",
["Nuclear Operative"] = "Ядерный оперативник",
["Syndicate Agent"] = "Агент Синдиката",
["Central Command"] = "Центральное командование",
["Wizard"] = "Волшебник"
}
-- Основная функция модуля
function p.main(frame)
local id = frame.args[1]
if not id then
return "Нет данных для обработки"
end
-- Загрузка данные доступа
local accessData = mw.title.new("User:IanComradeBot/prototypes/AccessReader/access.json"):getContent()
if not accessData then
return "Ошибка: не удалось загрузить данные доступа"
end
local success, jsonData = pcall(mw.text.jsonDecode, accessData)
if not success or type(jsonData) ~= "table" then
return "Ошибка: некорректный формат данных доступа"
end
for _, item in ipairs(jsonData) do
if item.id == id and item.AccessReader and item.AccessReader.access then
local result = {}
for _, accessList in ipairs(item.AccessReader.access) do
for _, access in ipairs(accessList) do
table.insert(result, translations[access] or access)
end
end
return table.concat(result, ", ") .. "."
end
end
return "Доступ не требуется."
end
return p