Ini

Lertex

Участник
Автор темы
30
0
Версия MoonLoader
.027.0-preview
Всем привет! У меня есть скрипт луа, при запуске можно включить или выключить скрипт. Значение переменной (bool) я сохраняю в ini файл. Но при перезапуске скрипта значение меняется. Как сделать, чтобы оно бралось из ini файла?
Код загрузки ini:
local mainIni = inicfg.load({
PARAMS = {
        check = "1000",
        Enable = true
},
}, "help.ini")
 
Решение
Это у меня есть. Я думаю что вот здесь
local mainIni = inicfg.load({
PARAMS = {
check = "",
Enable = ""
},
}, "help.ini")
Значения обнуляются, как их взять из ini и вставить сюда?
У тебя тут Enable стоит как string вместо bool, хотя в коде выше у тебя он bool. Запутался. Если ты вносил изменения в конфиг в самом коде, то удали ini файл, чтобы он создался по-новому.
Lua:
local mainIni = inicfg.load({
    PARAMS = {
        check = "1000",
        Enable = true
    },
}, "help.ini")
inicfg.save(mainIni, "help.ini")

local actived = imgui.ImBool(mainIni.PARAMS.Enable)

if imgui.Checkbox("test", actived) then
    mainIni.PARAMS.Enable = actived.v
    inicfg.save(mainIni, "help.ini")
end

whyega52

Гений, миллионер, плейбой, долбаеб
Модератор
2,802
2,670
Всем привет! У меня есть скрипт луа, при запуске можно включить или выключить скрипт. Значение переменной (bool) я сохраняю в ini файл. Но при перезапуске скрипта значение меняется. Как сделать, чтобы оно бралось из ini файла?
Код загрузки ini:
local mainIni = inicfg.load({
PARAMS = {
        check = "1000",
        Enable = true
},
}, "help.ini")
Lua:
local actived = mainIni.PARAMS.Enable
 

Lertex

Участник
Автор темы
30
0
Lua:
local actived = mainIni.PARAMS.Enable
Не, я в игре через imgui ставлю чекбокс допустим на false и при перезапуске скрипта он становится true. Как это исправить, чтобы было значение, которое выставлено в чекбоксе?
 

whyega52

Гений, миллионер, плейбой, долбаеб
Модератор
2,802
2,670
Не, я в игре через imgui ставлю чекбокс допустим на false и при перезапуске скрипта он становится true. Как это исправить, чтобы было значение, которое выставлено в чекбоксе?

Lua:
local actived = imgui.ImBool(mainIni.PARAMS.Enable)

if imgui.Checkbox("test", actived) then
    mainIni.PARAMS.Enable = actived.v
    inicfg.save(mainIni, "help.ini")
end
 

Lertex

Участник
Автор темы
30
0
Lua:
local actived = imgui.ImBool(mainIni.PARAMS.Enable)

if imgui.Checkbox("test", actived) then
    mainIni.PARAMS.Enable = actived.v
    inicfg.save(mainIni, "help.ini")
end
Это у меня есть. Я думаю что вот здесь
local mainIni = inicfg.load({
PARAMS = {
check = "",
Enable = ""
},
}, "help.ini")
Значения обнуляются, как их взять из ini и вставить сюда?
 

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
Это у меня есть. Я думаю что вот здесь
local mainIni = inicfg.load({
PARAMS = {
check = "",
Enable = ""
},
}, "help.ini")
Значения обнуляются, как их взять из ini и вставить сюда?
У тебя тут Enable стоит как string вместо bool, хотя в коде выше у тебя он bool. Запутался. Если ты вносил изменения в конфиг в самом коде, то удали ini файл, чтобы он создался по-новому.
Lua:
local mainIni = inicfg.load({
    PARAMS = {
        check = "1000",
        Enable = true
    },
}, "help.ini")
inicfg.save(mainIni, "help.ini")

local actived = imgui.ImBool(mainIni.PARAMS.Enable)

if imgui.Checkbox("test", actived) then
    mainIni.PARAMS.Enable = actived.v
    inicfg.save(mainIni, "help.ini")
end
 
  • Нравится
Реакции: AnikraFozq и MLycoris