Imgui.combo

W1ll04eison

Участник
Автор темы
328
19
Версия MoonLoader
.026-beta
Подскажите, как сделать imgui.Combo, по типу как это реализовано в fbitools, в заметках.

Т.е
Как вывести в imgui.Combo название всех «заметок(как это сделано в fbitools, в моем случае это немного другое)» mainini[slot].name

mainini[slot].name - это и есть название заметок
 

W1ll04eison

Участник
Автор темы
328
19
Lua:
local combo_arr = {}
for k, v in pairs(mainini) do
    table.insert(combo_arr, mainini[k].name) -- или v.name
end

Lua:
-- находится в окне imgui
for k, v in pairs(mainIni) do
    table.insert(combo_arr, mainIni[k].name)
end
if imgui.Combo(u8"Список", combo, combo_arr) then
    if #mainIni ~= 0 then
        for i = 1, #mainIni do
            name.v = u8(mainIni[i].name) -- вывод name из mainIni
            text1.v = string.gsub(u8(mainIni[i].text1), "&", "\n") -- вывод text1 из mainIni
            slot = i
                                     
        end
    end
end
по какой-то причине в imgui.Combo создается бесконечно "Name(названия)".
т.е к примеру у меня 5 названий, и эти 5 названий выводятся в imgui.Combo бесконечное кол-во раз.
пример:
1
2
3
4
5
1
2
3
4
5
и т.д

также, при нажатии на какое либо название в imgui.Combo открывается только последний
 
Последнее редактирование:

chapo

чопа сребдс // @moujeek
Модератор
8,935
11,704
Lua:
-- находится в окне imgui
for k, v in pairs(mainIni) do
    table.insert(combo_arr, mainIni[k].name)
end
if imgui.Combo(u8"Список", combo, combo_arr) then
    if #mainIni ~= 0 then
        for i = 1, #mainIni do
            name.v = u8(mainIni[i].name) -- вывод name из mainIni
            text1.v = string.gsub(u8(mainIni[i].text1), "&", "\n") -- вывод text1 из mainIni
            slot = i
                                       
        end
    end
end
по какой-то причине в imgui.Combo создается бесконечно "Name(названия)".
т.е к примеру у меня 10 названий, и эти 10 названи
table.insert(combo_arr, mainIni[k].name) не надо выполнять в беск цикле, сделай 1 раз при загрузке скрипта
 

W1ll04eison

Участник
Автор темы
328
19
table.insert(combo_arr, mainIni[k].name) не надо выполнять в беск цикле, сделай 1 раз при загрузке скрипта
1) также, при нажатии на какое либо название в imgui.Combo открывается только последний(т.е к примеру у меня есть: 1, 2, 3 - если я нажму на 1 или на 2 или на 3, то открывается всегда только 3, вне зависимо что я нажал)

2) а как на счет, если я удалю / добавлю новое, то список в imgui.Combo не обновится
 

chapo

чопа сребдс // @moujeek
Модератор
8,935
11,704
1) также, при нажатии на какое либо название в imgui.Combo открывается только последний(т.е к примеру у меня есть: 1, 2, 3 - если я нажму на 1 или на 2 или на 3, то открывается всегда только 3, вне зависимо что я нажал)

2) а как на счет, если я удалю / добавлю новое, то список в imgui.Combo не обновится
1. хз
2. в момент добавления и удаления обновляй таблицу используя: таблица = {} и потом код который я кидал
 
  • Нравится
Реакции: W1ll04eison