Помогите сделать имнуи темы через комбо плес

William_Roses

Активный
Автор темы
260
26
Версия MoonLoader
.026-beta
Никак не могу сделать через комбо смену темы, мне не нужно чтобы она сохранялась в кфг, темы в конце скрипта, комбо там только один, хелп плиз
 

Вложения

  • AdminTools.lua
    104.3 KB · Просмотры: 12
Решение
Lua:
--сверху с переменным глобальным
local combo = imgui.ImInt(0) -- 0 это дефолт значение при загрузке

-- в imgui.OnDrawFrame
local styles = {u8"Красный", u8"Зеленый", u8"Голубой", u8"Черный"} -- массив значений в меню combo
if imgui.Combo(u8'Название', combo, styles) then -- combo сама переменная, styles массив значений
    apply_custom_style(combo.v)
end

-- u8 для того чтобы не было в imgui окне ??????????????
-- если нету у тебя этой функции вот она для использования к глобальным переменным
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

back.DEV

Известный
71
6
в функции которая у тебя со стилем делаешь аргумент, например function apply_custom_style(id)
потом когда ты выбираешь комбо вызываешь эту функцию и передаешь туда значение imgui.Combo цифру эту, например у тебя переменная combo_style.
ты вызываешь просто функцию и передаешь этот параметр из комбо - apply_custom_style(combo_style.v)
и уже внутри этой функции где у тебя стили распределяешь стили по категориям которые у тебя в комбо.
К примеру:
Lua:
function apply_custom_style(id)
    if id == 0 then
    -- тут стили которые к этому хочешь применить
    elseif id == 1 then
    -- применяешь уже другие стили
    end
end
 
  • Нравится
Реакции: William_Roses

William_Roses

Активный
Автор темы
260
26
в функции которая у тебя со стилем делаешь аргумент, например function apply_custom_style(id)
потом когда ты выбираешь комбо вызываешь эту функцию и передаешь туда значение imgui.Combo цифру эту, например у тебя переменная combo_style.
ты вызываешь просто функцию и передаешь этот параметр из комбо - apply_custom_style(combo_style.v)
и уже внутри этой функции где у тебя стили распределяешь стили по категориям которые у тебя в комбо.
К примеру:
Lua:
function apply_custom_style(id)
    if id == 0 then
    -- тут стили которые к этому хочешь применить
    elseif id == 1 then
    -- применяешь уже другие стили
    end
end
Слушай, с комбо только сегодня познакомился, можешь привести пример в имгуи комбо?
 

Dmitriy Makarov

25.05.2021
Проверенный
2,500
1,132
 
  • Нравится
Реакции: William_Roses

back.DEV

Известный
71
6
Lua:
--сверху с переменным глобальным
local combo = imgui.ImInt(0) -- 0 это дефолт значение при загрузке

-- в imgui.OnDrawFrame
local styles = {u8"Красный", u8"Зеленый", u8"Голубой", u8"Черный"} -- массив значений в меню combo
if imgui.Combo(u8'Название', combo, styles) then -- combo сама переменная, styles массив значений
    apply_custom_style(combo.v)
end

-- u8 для того чтобы не было в imgui окне ??????????????
-- если нету у тебя этой функции вот она для использования к глобальным переменным
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
 
  • Нравится
Реакции: William_Roses