как изменить активность чекбокса, исходя из конфига

plohoy.

Известный
Автор темы
110
25
Версия MoonLoader
.026-beta
вообщем, добавил в свой код сохранение активности чекбокса в конфиг по кнопке, но не знаю как сделать так, чтобы при запуске скрипта он брал эту активность с конфига и делал его активным. Помогите сделать это паже)
Код:
local mainIni = inicfg.load({
    cfg = {
        denzarBox = box3.v
    }
},'test.ini')
if imgui.Button(u8'Сохранить все настройки') then -- а вот и кнопка с действием
    inicfg.save(mainIni,'test.ini')
end
 
Решение
Lua:
--xz gde
local mainIni = inicfg.load({
    cfg = {
        denzarBox = false
    }
},'test.ini')

local isPressed = imgui.ImBool(mainIni.cfg.denzarBox)
--in fucntion
if imgui.Checkbox('CheckBoxName', isPressed) then
    mainIni.cfg.denzarBox = isPressed.v
    inicfg.save(mainIni,'test.ini')
end
if imgui.Button(u8'Сохранить все настройки') then -- а вот и кнопка с действием
    inicfg.save(mainIni,'test.ini')
end

qdIbp

Автор темы
Проверенный
1,438
1,180
Lua:
--xz gde
local mainIni = inicfg.load({
    cfg = {
        denzarBox = false
    }
},'test.ini')

local isPressed = imgui.ImBool(mainIni.cfg.denzarBox)
--in fucntion
if imgui.Checkbox('CheckBoxName', isPressed) then
    mainIni.cfg.denzarBox = isPressed.v
    inicfg.save(mainIni,'test.ini')
end
if imgui.Button(u8'Сохранить все настройки') then -- а вот и кнопка с действием
    inicfg.save(mainIni,'test.ini')
end
 
  • Нравится
Реакции: plohoy.

plohoy.

Известный
Автор темы
110
25
Lua:
--xz gde
local mainIni = inicfg.load({
    cfg = {
        denzarBox = false
    }
},'test.ini')

local isPressed = imgui.ImBool(mainIni.cfg.denzarBox)
--in fucntion
if imgui.Checkbox('CheckBoxName', isPressed) then
    mainIni.cfg.denzarBox = isPressed.v
    inicfg.save(mainIni,'test.ini')
end
if imgui.Button(u8'Сохранить все настройки') then -- а вот и кнопка с действием
    inicfg.save(mainIni,'test.ini')
end
attempt to index global 'box3' (a nil value) stack traceback:


Код:
if box3.v then
  imgui.Text(u8'Денежный заработок: '..denzar..'$')
end
 

plohoy.

Известный
Автор темы
110
25
У тебя не зарегистрирована эта переменная я так понял
local box3 = imgui.ImBool(false) - все норм, а если меняю на
local box3 = imgui.ImBool(mainIni.cfg.denzarBox), то пишет attempt to index global 'mainIni' (a nil value) stack traceback:

UPD: Понял в чем ошибка, я просто сначала написал local box3 = imgui.ImBool(mainIni.cfg.denzarBox), а потом уже local mainIni = inicfg.load(и т.д), а не наоборот
 
Последнее редактирование:
  • Эм
Реакции: qdIbp