Создание функции imgui

A S K I T

Активный
Автор темы
201
69
Версия MoonLoader
.026-beta
Привет.
Нужно сделать функцию которая распределит все полученные значения по части кода.. хз как это правильно описать.
Короче, создаю функцию imgui.Element(arg1, arg2, arg3), и нужно вот эти аргументы запихнуть в этот код:
(Отметил цветом куда нужно пихать аргументы, каждый цвет обозначает свой аргумент)

function imgui.Element(title, tooltip, speed)

imgui.PushItemWidth(20)
if imgui.InputInt(u8'##ped_speed1', ped_speed1, 0, 0) then
cfg.settings.ped_speed1 = ped_speed1.v
inicfg.save(cfg, direct_cfg)
end imgui.Question('Скорость анимации.')
imgui.SameLine()
imgui.Text(u8'Скорость бега (RUN_CIVI)')
imgui.SameLine()
if cfg.settings.ped_speed1 ~= 1 then
if imgui.Button(icon.ICON_RECYCLE) then
cfg.settings.ped_speed1 = 1
ped_speed1.v = 1
inicfg.save(cfg, direct_cfg)
end imgui.Question('Вернуть стандартное значение.')
end

end
Lua:
function imgui.Element(title, tooltip, speed)
    
    imgui.PushItemWidth(20)
    if imgui.InputInt(u8'##ped_speed1', ped_speed1, 0, 0) then
        cfg.settings.ped_speed1 = ped_speed1.v
        inicfg.save(cfg, direct_cfg)
    end imgui.Question('Скорость анимации.')
    imgui.SameLine()
    imgui.Text(u8'Скорость бега (RUN_CIVI)')
    imgui.SameLine()
    if cfg.settings.ped_speed1 ~= 1 then
        if imgui.Button(icon.ICON_RECYCLE) then
            cfg.settings.ped_speed1 = 1
            ped_speed1.v = 1
            inicfg.save(cfg, direct_cfg)
        end imgui.Question('Вернуть стандартное значение.')
    end

end

Нужно мне это для того чтобы в будущем просто вставлять функцию: imgui.Element('Заголовок', 'Подсказка', 'Название переменной')
Я не могу понять как вставлять аргумент в "cfg.settings." и заместо ped_speed1, но так чтобы скрипт потом понимал что переменная arg3 это пременная ped_speed1...
Сложно для понимания, но вот как-то так, помогите плисс.
 
Решение
Привет.
Нужно сделать функцию которая распределит все полученные значения по части кода.. хз как это правильно описать.
Короче, создаю функцию imgui.Element(arg1, arg2, arg3), и нужно вот эти аргументы запихнуть в этот код:
(Отметил цветом куда нужно пихать аргументы, каждый цвет обозначает свой аргумент)


Lua:
function imgui.Element(title, tooltip, speed)
  
    imgui.PushItemWidth(20)
    if imgui.InputInt(u8'##ped_speed1', ped_speed1, 0, 0) then
        cfg.settings.ped_speed1 = ped_speed1.v
        inicfg.save(cfg, direct_cfg)
    end imgui.Question('Скорость анимации.')
    imgui.SameLine()
    imgui.Text(u8'Скорость бега (RUN_CIVI)')
    imgui.SameLine()
    if cfg.settings.ped_speed1 ~= 1 then
        if...

kin4stat

mq-team
Всефорумный модератор
2,730
4,712
Привет.
Нужно сделать функцию которая распределит все полученные значения по части кода.. хз как это правильно описать.
Короче, создаю функцию imgui.Element(arg1, arg2, arg3), и нужно вот эти аргументы запихнуть в этот код:
(Отметил цветом куда нужно пихать аргументы, каждый цвет обозначает свой аргумент)


Lua:
function imgui.Element(title, tooltip, speed)
  
    imgui.PushItemWidth(20)
    if imgui.InputInt(u8'##ped_speed1', ped_speed1, 0, 0) then
        cfg.settings.ped_speed1 = ped_speed1.v
        inicfg.save(cfg, direct_cfg)
    end imgui.Question('Скорость анимации.')
    imgui.SameLine()
    imgui.Text(u8'Скорость бега (RUN_CIVI)')
    imgui.SameLine()
    if cfg.settings.ped_speed1 ~= 1 then
        if imgui.Button(icon.ICON_RECYCLE) then
            cfg.settings.ped_speed1 = 1
            ped_speed1.v = 1
            inicfg.save(cfg, direct_cfg)
        end imgui.Question('Вернуть стандартное значение.')
    end

end

Нужно мне это для того чтобы в будущем просто вставлять функцию: imgui.Element('Заголовок', 'Подсказка', 'Название переменной')
Я не могу понять как вставлять аргумент в "cfg.settings." и заместо ped_speed1, но так чтобы скрипт потом понимал что переменная arg3 это пременная ped_speed1...
Сложно для понимания, но вот как-то так, помогите плисс.
типа такого?
Lua:
function imgui.Element(title, tooltip, var, var_name)
   
    imgui.PushItemWidth(20)
    if imgui.InputInt('##'..u8(var_name), var, 0, 0) then
        cfg.settings[var_name] = var.v
        inicfg.save(cfg, direct_cfg)
    end
    imgui.Question(u8(tooltip)..var_name)
    imgui.SameLine()
    imgui.Text(u8(title))
    imgui.SameLine()
    if cfg.settings[var_name] ~= 1 then
        if imgui.Button(icon.ICON_RECYCLE) then
            cfg.settings[var_name] = 1
            var.v = 1
            inicfg.save(cfg, direct_cfg)
        end
        imgui.Question('Вернуть стандартное значение.')
    end
end