Вопрос [NL] Как конвертировать таблицу в menu_element?

Начинающий
Статус
Оффлайн
Регистрация
30 Апр 2022
Сообщения
194
Реакции[?]
8
Поинты[?]
1K
Рыскал я по форуму и нашел эту тему: [NL] Оптимизированы get boolean | Страница 2 | Сайт читов, скриптов и кодов для онлайн игр - YouGame.Biz, где выложили достаточно интересный код:
code_language.lua:
local function init_optim_ui(storage, ref)
    assert(
        type(storage) == "table",
        string.format("optim_ui: storage is a \"%s\", not a \"table\".", storage)
    )
    return setmetatable({}, {
        __index = function (_, ui_method) -- ui_method should be like switch, slider etc
            return function (name, ...)
                local ui_obj = ref[ui_method](ref, name, ...) -- ref:ui_method(name, ...) / ref is in first argument because it is a thiscall
                
                ui_obj:set_callback(function (self)
                    storage[name] = self:get()
                end, true)
                return ui_obj
            end
        end
    })
end

Так как мне нечем заняться, я решил посмотреть и попробовать данный код. Проблема такова: когда пытаешься сетнуть visibility или гетнуть элемент, то параша начинает ругаться. Второе я смог зафиксить при помощи отдельной функции:
code_language.lua:
local function init_optim_ui_len(element)
    if type(element) ~= 'table' then
        print('Not a table')
    end

    if element == nil then
        print('Erorr')
    end

    for str, storage in ipairs(element) do
        return storage
    end

end
но вот сетнуть элементу visibility я не могу, так как это не menu_element. Как табличный элемент конвертировать в menu_element??? Кто сможет, помогите пожалуйста.
 
Начинающий
Статус
Оффлайн
Регистрация
30 Апр 2022
Сообщения
194
Реакции[?]
8
Поинты[?]
1K
Начинающий
Статус
Оффлайн
Регистрация
26 Авг 2020
Сообщения
94
Реакции[?]
5
Поинты[?]
0
Рыскал я по форуму и нашел эту тему: [NL] Оптимизированы get boolean | Страница 2 | Сайт читов, скриптов и кодов для онлайн игр - YouGame.Biz, где выложили достаточно интересный код:
code_language.lua:
local function init_optim_ui(storage, ref)
    assert(
        type(storage) == "table",
        string.format("optim_ui: storage is a \"%s\", not a \"table\".", storage)
    )
    return setmetatable({}, {
        __index = function (_, ui_method) -- ui_method should be like switch, slider etc
            return function (name, ...)
                local ui_obj = ref[ui_method](ref, name, ...) -- ref:ui_method(name, ...) / ref is in first argument because it is a thiscall
              
                ui_obj:set_callback(function (self)
                    storage[name] = self:get()
                end, true)
                return ui_obj
            end
        end
    })
end

Так как мне нечем заняться, я решил посмотреть и попробовать данный код. Проблема такова: когда пытаешься сетнуть visibility или гетнуть элемент, то параша начинает ругаться. Второе я смог зафиксить при помощи отдельной функции:
code_language.lua:
local function init_optim_ui_len(element)
    if type(element) ~= 'table' then
        print('Not a table')
    end

    if element == nil then
        print('Erorr')
    end

    for str, storage in ipairs(element) do
        return storage
    end

end
но вот сетнуть элементу visibility я не могу, так как это не menu_element. Как табличный элемент конвертировать в menu_element??? Кто сможет, помогите пожалуйста.
добавь в метатаблицу переменную с меню элементом и в случае visibility обращайся к этой переменно
 
Сверху Снизу