Модуль:Prototypes/Механика/Доступ
Материал из Space Station 14 Вики
Для документации этого модуля может быть создана страница Модуль: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 "Ошибка: ID не найден в данных доступа" end return p