Модуль:Prototypes/Объект/Торгомат: различия между версиями

мНет описания правки
мНет описания правки
Строка 65: Строка 65:


-- Получение данных о доступах
-- Получение данных о доступах
local function getAccessOutput(frame, id)
local function getAccessOutput(id)
     -- Загрузка данных
     -- Загрузка данных
     local vendingMachines = loadData("User:IanComradeBot/prototypes/vending machines.json")
     local vendingMachines = loadData("User:IanComradeBot/prototypes/vending machines.json")
 
   
     -- Поиск автомата по ID
     -- Поиск автомата по ID
     local vendingMachine = findDataById(vendingMachines, id)
     local vendingMachine = findDataById(vendingMachines, id)
     if not vendingMachine then return "" end
     if not vendingMachine or not vendingMachine.AccessReader then
 
        return "Нет данных о доступах"
     -- Получение данных доступа
    end
     local accessData = vendingMachine.AccessReader and vendingMachine.AccessReader.access
      
     if not accessData then return "" end
     local access = vendingMachine.AccessReader.access
 
     if not access then
     -- Преобразование массива доступов в строку JSON
        return "Нет данных о доступах"
    local accessDataStr = mw.text.jsonEncode(accessData)
     end
 
      
     -- Удаление экранирования кавычек
     local accessModule = require("Module:Prototypes/Механика/Доступ")
     local cleanedDataStr = accessDataStr:gsub('\\"', '"')
     return accessModule.parse({access})
 
    -- Возвращаем обработанный результат
    local template = '{{#invoke:Prototypes/Механика/Доступ|parse|' .. cleanedDataStr .. '}}'
     return frame:preprocess(template)
end
end