Модуль:Meta Sprite: различия между версиями

Материал из Space Station 14 Вики
мНет описания правки
мНет описания правки
 
(не показано 10 промежуточных версий этого же участника)
Строка 6: Строка 6:
function p.main(frame)
function p.main(frame)
     local mode = frame.args[1] -- Режим
     local mode = frame.args[1] -- Режим
     local path = frame.args[2] -- Путь
    local filePath = require('Module:FilePath')
   
     local path = filePath.getOthersPath({ args = { frame.args[2] } }) -- Входной путь
 
     if not mode or not path then
     if not mode or not path then
         return "Ошибка: необходимо указать режим и путь."
         return "Ошибка: необходимо указать режим и путь."
     end
     end
   
 
     local entry = data[path]
     local entry = nil
 
    -- Ищем среди всех ключей JSON по полному совпадению суффикса
    for key, value in pairs(data) do
        if key:sub(-#path) == path then
            entry = value
            break
        end
    end
 
    -- Если ничего не найдено
     if not entry then
     if not entry then
         return ""
         return ""
     end
     end
   
 
     local result = entry[mode]
     local result = entry[mode]
     if not result then
     if not result then
         return "Ошибка: указанный режим не найден в данных."
         return "Ошибка: указанный режим не найден в данных."
     end
     end
   
 
     return result
     return result
end
end


return p
return p

Текущая версия от 16:38, 2 июня 2025

Для документации этого модуля может быть создана страница Модуль:Meta Sprite/doc

-- Загрузка данных
local data = mw.loadData("Модуль:IanComradeBot/meta sprite.json/data")

local p = {}

function p.main(frame)
    local mode = frame.args[1] -- Режим
    local filePath = require('Module:FilePath')
    local path = filePath.getOthersPath({ args = { frame.args[2] } }) -- Входной путь

    if not mode or not path then
        return "Ошибка: необходимо указать режим и путь."
    end

    local entry = nil

    -- Ищем среди всех ключей JSON по полному совпадению суффикса
    for key, value in pairs(data) do
        if key:sub(-#path) == path then
            entry = value
            break
        end
    end

    -- Если ничего не найдено
    if not entry then
        return ""
    end

    local result = entry[mode]
    if not result then
        return "Ошибка: указанный режим не найден в данных."
    end

    return result
end

return p