inicfg

Citrys

Участник
Автор темы
179
5
Версия MoonLoader
.026-beta
как сделать так, что бы я писал что то в InputText, после нажимал на кнопку и оно сохранялось в inicfg
 
Решение
Попробуй. Не тестил.
Lua:
-- Начало
local inicfg = require 'inicfg'
local mainIni = inicfg.load({
config =
    {
        text = ""
    }
}, "test.ini")

-- Это создает конфиг сразу.
if not doesFileExist('moonloader/config/test.ini') then
    inicfg.save(mainIni, 'test.ini')
end

local inputtext = imgui.ImBuffer(mainIni.config.text, 256)

-- OnDrawFrame
imgui.InputText("Text", inputtext)
if imgui.Button("Save") then
    mainIni.config.text = inputtext.v
    inicfg.save(mainIni, "test.ini")
end

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,140
Попробуй. Не тестил.
Lua:
-- Начало
local inicfg = require 'inicfg'
local mainIni = inicfg.load({
config =
    {
        text = ""
    }
}, "test.ini")

-- Это создает конфиг сразу.
if not doesFileExist('moonloader/config/test.ini') then
    inicfg.save(mainIni, 'test.ini')
end

local inputtext = imgui.ImBuffer(mainIni.config.text, 256)

-- OnDrawFrame
imgui.InputText("Text", inputtext)
if imgui.Button("Save") then
    mainIni.config.text = inputtext.v
    inicfg.save(mainIni, "test.ini")
end
 
  • Нравится
Реакции: Citrys

Citrys

Участник
Автор темы
179
5
Попробуй. Не тестил.
Lua:
-- Начало
local inicfg = require 'inicfg'
local mainIni = inicfg.load({
config =
    {
        text = ""
    }
}, "test.ini")

-- Это создает конфиг сразу.
if not doesFileExist('moonloader/config/test.ini') then
    inicfg.save(mainIni, 'test.ini')
end

local inputtext = imgui.ImBuffer(mainIni.config.text, 256)

-- OnDrawFrame
imgui.InputText("Text", inputtext)
if imgui.Button("Save") then
    mainIni.config.text = inputtext.v
    inicfg.save(mainIni, "test.ini")
end
а как сделать так же только с Combo?
 

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,140
а как сделать так же только с Combo?
Пример со стилями. Самих стилей нет, тут только сохранение.
Lua:
-- В начало
local inicfg = require 'inicfg'
local mainIni = inicfg.load({
config =
    {
        style = 0
    }
}, "test.ini")

if not doesFileExist('moonloader/config/test.ini') then
    inicfg.save(mainIni, 'test.ini')
end

local style_id = imgui.ImInt(mainIni.config.style) -- ID стиля по умолчанию (Берётся с конфига. Там и указывается.)
local style_name = {u8"Темная тема", u8"Светлая тема"} -- Список тем в комбо

-- OnDrawFrame
if imgui.Combo("Select style", style_id, style_name, style_id) then
    -- То, что ниже - для примера, чтобы тебе было удобнее работать с выводом текста из Combo.
    -- Если тебе при выборе строки в Combo ничего делать не нужно, то убери "if", "then", "end", 2 строчки с выводом ниже и оставь просто "imgui.Combo".
    sampAddChatMessage("Style ID: "..style_id.v, -1) -- При выборе темы, выводим его ID
    sampAddChatMessage("Style name: "..u8:decode(style_name[style_id.v + 1]), -1) -- Также выводим сам текст выбранной строки.
end
if imgui.Button("Save") then -- Тут сохранение.
    mainIni.config.style = style_id.v
    inicfg.save(mainIni, "test.ini")
end
 
  • Нравится
Реакции: SomaGnoma