Конфиг

William_Chkhalo

Участник
Автор темы
127
14
Версия MoonLoader
Другое
Добрый вечер! Имеется такой код:
Код:
local ini = inicfg.load({
    config = {
        nickname = "Ваш ник";
        title = "Ваша должность";
        myorg = "Ваш ПД";
    }
})
inicfg.save(ini, "Test.ini")
local id = imgui.new.int(0)
local nameSurname = imgui.new.char[255](u8(ini.config.nickname))
local titleInput = imgui.new.char[255](u8(ini.config.title))
local myorg = imgui.new.char[255](u8(ini.config.myorg))
local otherorg = imgui.new.char(255)
local zk = new.bool()
local autogun = new.bool()

local newFrame = imgui.OnFrame( --Сама функция создания фрейма, их может быть сколько вашей душе угодно.
                                    -- Обратите внимание, что в mimgui рекомендуется создавать отдельный
                                        --фрейм для каждого окна, однако это не является обязательным.]]
        function() return true end, -- Определяет, выполняется/отображается ли текущий фрейм.
        function(player)            --Сама область, в которой уже будем рисовать элементы.
                                --     В функцию в качестве первой переменной передаются список функций
                                --     для взаимодействия с локальным игроком и рядом нескольких возможностей.]]
            imgui.Begin(u8"MVD Helper (BETA)")  -- Создаём новое окно с заголовком 'Main Window'
            if imgui.BeginTabBar('Tabs') then -- задаём начало вкладок 
                if imgui.BeginTabItem(u8'Данные') then
                    imgui.InputText(u8'Ваше имя фамилия(на русском)', nameSurname, 255)
                    nickname = u8:decode(ffi.string(nameSurname))
                    imgui.InputText(u8'Ваша должность (на русском, без цифры)', titleInput, 255)
                    title = u8:decode(ffi.string(titleInput))
                    imgui.InputText(u8'Ваша фракция', myorg, 255)
                    mydeporg = u8:decode(ffi.string(myorg))
                    ini.config.nickname = nickname
                    ini.config.title = title
                    ini.config.myorg = mydeporg
                    inicfg.save(ini, "Test.ini")
                    imgui.EndTabItem()
                end
При заходе в игру все работает. Когда меняю данные через поля, то они сохраняются, но при перезаходе все слетает. Я понимаю, что это происходить из-за того, что при перезапуске скрипта он снова создает таблицу. Помогите пожалуйста сделать так, что бы при первом запуске скрипта у меня создавалась таблица, но потом она не обновлялась.
 
  • Bug
Реакции: Hinаta
Решение
это
Lua:
local ini = inicfg.load({
    config = {
        nickname = "Ваш ник";
        title = "Ваша должность";
        myorg = "Ваш ПД";
    }
})
замени на
Lua:
local ini = inicfg.load({
    config = {
        nickname = "Ваш ник";
        title = "Ваша должность";
        myorg = "Ваш ПД";
    }
}, "Test.ini")
и убери
Lua:
inicfg.save(ini, "Test.ini")

plalkeo

Известный
521
189
это
Lua:
local ini = inicfg.load({
    config = {
        nickname = "Ваш ник";
        title = "Ваша должность";
        myorg = "Ваш ПД";
    }
})
замени на
Lua:
local ini = inicfg.load({
    config = {
        nickname = "Ваш ник";
        title = "Ваша должность";
        myorg = "Ваш ПД";
    }
}, "Test.ini")
и убери
Lua:
inicfg.save(ini, "Test.ini")