прозрачность окна

DZONE

Известный
Автор темы
183
186
Версия MoonLoader
Другое
Lua:
imgui.GetStyle().Colors[imgui.Col.WindowBg]               = imgui.ImVec4(0.07, 0.07, 0.07, settings.reportSettings.reportTransparent)

if imgui.SliderInt("##trasnparent", reportTransparent, 0, 100) then
    if reportTransparent[0] == 0 then
        settings.reportSettings.reportTransparent = "0.00"
    elseif reportTransparent[0] == 100 then
        settings.reportSettings.reportTransparent = "1.00"
    elseif reportTransparent[0] ~= 100 and reportTransparent[0] ~= 0 then
        settings.reportSettings.reportTransparent = "0."..reportTransparent[0]
    end
    inicfg.save(settings, direct)
end

mimgui
нужно поменять прозрачность окна с помощью ползунка, значение которого сохраняется в ини файл, затем значение передается imgui.Col.WindowBg
но если захочу поменять прозрачность с помощью слайдера, то вылезет

Код:
cannot convert 'string' to 'float'
stack traceback:
    [C]: in function 'ImVec4'
 

Dmitriy Makarov

25.05.2021
Проверенный
2,478
1,113
А если кавычки убрать?
1660731862079.png
 

DZONE

Известный
Автор темы
183
186
Lua:
if imgui.SliderInt("##trasnparent", reportTransparent, 0, 100) then
                        if reportTransparent[0] == 0 then
                            settings.reportSettings.reportTransparent = 0
                        elseif reportTransparent[0] == 100 then
                            settings.reportSettings.reportTransparent = 1
                        elseif reportTransparent[0] ~= 100 and reportTransparent[0] ~= 0 then
                            settings.reportSettings.reportTransparent = 0 .. "." .. reportTransparent[0]
                        end
                        inicfg.save(settings, direct)
                    end
только если так, табуляция поломалась, не обессудь

однако все также вылетает та ошибка

на этот вопрос можно забить, я понял, другой вопрос
settings.reportSettings.reportTransparent = 0 .. "." .. reportTransparent[0]
как сделать что бы на выходе было нестрочное значение, что бы если у меня в слайдере было 67, то выведет 0.67
 
Последнее редактирование:

Negr_Pushkin

Потрачен
80
15
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
-- Где-то в коде:
function apply_custom_style()
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
colors[clr.FrameBg] = ImVec4(0.48, 0.23, 0.16, 0.54) -- R, G, B, A
colors[clr.FrameBgHovered] = ImVec4(0.98, 0.43, 0.26, 0.40) -- R, G, B, A
colors[clr.FrameBgActive] = ImVec4(0.98, 0.43, 0.26, 0.67) -- R, G, B, A
end
apply_custom_style()
 
  • Эм
Реакции: DZONE