Модуль:Prototypes/Механика/Доступ: различия между версиями

мНет описания правки
мНет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 40: Строка 40:
     ["SyndicateAgent"] = "Агент Синдиката",
     ["SyndicateAgent"] = "Агент Синдиката",
     ["CentralCommand"] = "Центральное командование",
     ["CentralCommand"] = "Центральное командование",
     ["Wizard"] = "Волшебник"
     ["Wizard"] = "Волшебник",
    ["AllAccess"] = "Полный доступ"
}
}


Строка 71: Строка 72:


     for _, item in ipairs(jsonData) do
     for _, item in ipairs(jsonData) do
         if item.id == id and item.AccessReader and item.AccessReader.access then
         if item.id == id and item.AccessReader then
             local result = {}
             local result = {}
             for _, accessList in ipairs(item.AccessReader.access) do
             -- Если присутствует accessGroups, обрабатываем их
                for _, access in ipairs(accessList) do
            if item.AccessReader.accessGroups then
                    table.insert(result, translations[access] or access)
                for _, group in ipairs(item.AccessReader.accessGroups) do
                    for _, access in ipairs(group) do
                        table.insert(result, translations[access] or access)
                    end
                 end
                 end
            -- Если accessGroups отсутствует, используем access
            elseif item.AccessReader.access then
                for _, accessList in ipairs(item.AccessReader.access) do
                    for _, access in ipairs(accessList) do
                        table.insert(result, translations[access] or access)
                    end
                end
            end
            if #result > 0 then
                return table.concat(result, ", ")
             end
             end
            return table.concat(result, ", ")
         end
         end
     end
     end