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

мНет описания правки
мНет описания правки
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
-- Загрузка данных
local vendingMachinesData = mw.loadData("Модуль:IanComradeBot/prototypes/vending machines.json/data")
local restockData = mw.loadData("Модуль:IanComradeBot/prototypes/vending machines/restock.json/data")
local p = {}
local p = {}
-- Загрузка данных
local function loadData(filePath)
    local page = mw.title.new(filePath)
    local content = page:getContent()
    return content and mw.text.jsonDecode(content) or nil
end


-- Поиск данных по ID
-- Поиск данных по ID
Строка 21: Строка 18:
-- Получение списка торговых автоматов, которые могут быть пополнены данным пополнителем
-- Получение списка торговых автоматов, которые могут быть пополнены данным пополнителем
local function getRestockOutput(id)
local function getRestockOutput(id)
    local vendingMachines = loadData("User:IanComradeBot/prototypes/vending machines.json")
    local restockData = loadData("User:IanComradeBot/prototypes/vending machines/restock.json")
   
     local result = ""
     local result = ""
      
      
Строка 33: Строка 27:
      
      
     -- Для каждого объекта в canRestock ищем соответствующие автоматы
     -- Для каждого объекта в canRestock ищем соответствующие автоматы
     if restockItem.canRestock then
     if restockItem.VendingMachineRestock and restockItem.VendingMachineRestock.canRestock then
         for _, canRestockId in ipairs(restockItem.canRestock) do
         for _, canRestockId in ipairs(restockItem.VendingMachineRestock.canRestock) do
             -- Ищем все автоматы, где pack соответствует значению canRestock
             -- Ищем все автоматы, где pack соответствует значению canRestock
             for _, vendingMachine in ipairs(vendingMachines) do
             for _, vendingMachine in ipairs(vendingMachinesData) do
                 if vendingMachine.VendingMachine and vendingMachine.VendingMachine.pack == canRestockId then
                 if vendingMachine.VendingMachine and vendingMachine.VendingMachine.pack == canRestockId then
                     -- Добавляем ID найденного автомата в результат
                     -- Добавляем ID найденного автомата в результат
                     result = result .. mw.getCurrentFrame():preprocess("{{LinkСard|background-color=#d7d7ff0b|SideStyle=1|image=" .. vendingMachine.id .. "|name={{#invoke:Entity Lookup|getname|" .. vendingMachine.id .. "}}|link=Торговые автоматы#{{#invoke:Entity Lookup|getname|" .. vendingMachine.id .. "}}}}")
                     result = result .. mw.getCurrentFrame():preprocess("{{#invoke:Предмет|main|" .. vendingMachine.id .. "|repository=|wrapper=|link=}}")
                 end
                 end
             end
             end