- Версия MoonLoader
- .026-beta
https://www.blast.hk/threads/25927/ как сделать вот такое уведомление при входе в игру? скиньте кодом пожалуйста
local bNotf, notf = pcall(import, "imgui_notf.lua")
if bNotf then
notf.addNotification(u8("Уведомление!"), 4, 1)
end
из-за u8 скрипт падает, а без неё иероглифы1) Файл из темы в moonloader.
2) Эту строчку в начало скрипта (лучше к библиотекам).
3) Эти строчки в конец функции main() (ДО end)!Lua:local bNotf, notf = pcall(import, "imgui_notf.lua")
Lua:if bNotf then notf.addNotification(u8("Уведомление!"), 4, 1) end
из-за u8 скрипт падает, а без неё иероглифы
для кодировки нужна какая-то локальная? потому что у меня ток эти
local imgui = require 'imgui'
local key = require 'vkeys'
local fa = require 'fAwesome5'
local sw, sh = getScreenResolution()
local bNotf, notf = pcall(import, "imgui_notf.lua")
-- В библиотеки.
local encoding = require 'encoding'
-- Ниже библиотек.
encoding.default = 'cp1251'
local u8 = encoding.UTF8
local imgui = require 'imgui'
local key = require 'vkeys'
local fa = require 'fAwesome5'
local sw, sh = getScreenResolution()
local bNotf, notf = pcall(import, "imgui_notf.lua")
local encoding = require 'encoding'
encoding.default = 'cp1251'
local u8 = encoding.UTF8
--сохранение темы, не работаэ щас
--local inicfg = require 'inicfg'
--local direct_cfg = '../papka/script.ini'
--local cfg = inicfg.load({
-- settings = {
-- theme = 0,
-- },
--})
--inicfg.save(cfg, direct_cfg)
--if cfg.settings.theme == 0 then applyBlueTheme()
--elseif cfg.settings.theme == 1 then applyRedTheme() end
--сохранение темы, не работаэ щас
--local themes = import "resource/imgui_themes.lua"
--local checked_radio = imgui.ImInt(1)
local theme = imgui.ImInt(1)
-- одно из основных отличий от оригинального апи
-- все переменные, значения которых записываются в ImGui по указателю, могут использоваться только через специальные типы
local main_window_state = imgui.ImBool(false)
local main_window_state2 = imgui.ImBool(false)
local main_window_state3 = imgui.ImBool(false)
local main_window_state4 = imgui.ImBool(false)
local main_window_state5 = imgui.ImBool(false)
function imgui.OnDrawFrame()
if theme.v == 0 then theme0() end -- красный стиль
if theme.v == 1 then theme1() end -- синий стиль
if theme.v == 2 then theme2() end -- коричневый стиль
if theme.v == 3 then theme3() end -- голубой стиль
if theme.v == 4 then theme4() end -- тёмно-салатовый стиль
if theme.v == 5 then theme5() end -- фиолетовый стиль
if main_window_state.v then -- чтение и запись значения такой переменной осуществляется через поле v (или Value)
imgui.SetNextWindowSize(imgui.ImVec2(300, 300), imgui.Cond.FirstUseEver) -- меняем размер
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
-- но для передачи значения по указателю - обязательно напрямую
-- тут main_window_state передаётся функции imgui.Begin, чтобы можно было отследить закрытие окна нажатием на крестик
imgui.Begin(fa.ICON_WRENCH .. " Training помощник", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
imgui.TextQuestion("( UPDATE )", "v0.1( хх.10.2021 ) - Релиз скрипта. ")
--imgui.SetCursorPosX((imgui.GetWindowWidth() - imgui.CalcTextSize(" Темы").x) / 2)
if imgui.Button(fa.ICON_PALETTE .. " Темы") then -- а вот и кнопка с действием
-- условие будет выполнено при нажатии на неё
main_window_state2.v = not main_window_state2.v
end
--imgui.SetCursorPosX((imgui.GetWindowWidth() - imgui.CalcTextSize(" Test2").x) / 2)
if imgui.Button(fa.ICON_TERMINAL .. " Команды сервера") then
main_window_state3.v = not main_window_state3.v
end
if imgui.Button(fa.ICON_COGS .. " Коллбэки") then
main_window_state4.v = not main_window_state4.v
end
if imgui.Button(fa.ICON_COGS .. " Цвета") then
main_window_state5.v = not main_window_state5.v
end
imgui.End()
end
if main_window_state2.v then
imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver)
imgui.Begin(fa.ICON_PALETTE .. " Темы", main_window_state2, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
-- if imgui.Button('Красная') then кнопка + функция для неё
-- themes.SwitchColorTheme(2)
-- end
if imgui.Button('Красный стиль') then -- При нажатие на кнопку будем менять стиль на красный
theme.v = 0
end
if imgui.Button('Синий стиль') then -- При нажатие на кнопку будем менять стиль на синий
theme.v = 1
end
if imgui.Button('Коричневый стиль') then -- При нажатие на кнопку будем менять стиль на коричневый
theme.v = 2
end
if imgui.Button('Голубой стиль') then -- При нажатие на кнопку будем менять стиль на голубой
theme.v = 3
end
if imgui.Button('Тёмно-салатовый стиль') then -- При нажатие на кнопку будем менять стиль на тёмно-салатовый
theme.v = 4
end
if imgui.Button('Фиолетовый стиль') then -- При нажатие на кнопку будем менять стиль на фиолетовый
theme.v = 5
end
imgui.End()
end
if main_window_state3.v then
imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin(fa.ICON_TERMINAL .. " Команды сервера", main_window_state3, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
imgui.Text("тест третьего окна")
imgui.End()
end
if main_window_state4.v then
imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin(fa.ICON_COGS .. " Коллбэки", main_window_state4, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
imgui.Text("test")
imgui.End()
end
if main_window_state5.v then
imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin(fa.ICON_COGS .. " Цвета", main_window_state5, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
imgui.Text("добавить сюда фотки hex цветов из лички")
imgui.End()
end
end
function main()
imgui.Process = false
sampRegisterChatCommand("testike", function() main_window_state.v = not main_window_state.v end) -- Команда /testike
if bNotf then
notf.addNotification(u8("Уведомление!"), 4, 1)
end
while true do
wait(0)
imgui.Process = main_window_state.v or main_window_state2.v -- теперь значение imgui.Process всегда будет задаваться в зависимости от активности основного окна
imgui.Process = main_window_state.v or main_window_state3.v
imgui.Process = main_window_state.v or main_window_state4.v
imgui.Process = main_window_state.v or main_window_state5.v
end
imgui.Process = show_main_window.v
themes.SwitchColorTheme(tonumber(arg))
--imgui.SwitchContext()
--themes.SwitchColorTheme()
end
show_main_window = imgui.ImBool(false)
local fa_font = nil
local fa_glyph_ranges = imgui.ImGlyphRanges({ fa.min_range, fa.max_range })
function imgui.BeforeDrawFrame()
if fa_font == nil then
local font_config = imgui.ImFontConfig() -- to use 'imgui.ImFontConfig.new()' on error
font_config.MergeMode = true
fa_font = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 13.0, font_config, fa_glyph_ranges)
end
end
function imgui.TextQuestion(label, description)
imgui.TextDisabled(label)
if imgui.IsItemHovered() then
imgui.BeginTooltip()
imgui.PushTextWrapPos(600)
imgui.TextUnformatted(description)
imgui.PopTextWrapPos()
imgui.EndTooltip()
end
end
function theme0() -- красный стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.48, 0.16, 0.16, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.98, 0.26, 0.26, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.98, 0.26, 0.26, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.48, 0.16, 0.16, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.98, 0.26, 0.26, 1.00)
colors[clr.SliderGrab] = ImVec4(0.88, 0.26, 0.24, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.98, 0.26, 0.26, 1.00)
colors[clr.Button] = ImVec4(0.98, 0.26, 0.26, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.98, 0.26, 0.26, 1.00)
colors[clr.ButtonActive] = ImVec4(0.98, 0.06, 0.06, 1.00)
colors[clr.Header] = ImVec4(0.98, 0.26, 0.26, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.98, 0.26, 0.26, 0.80)
colors[clr.HeaderActive] = ImVec4(0.98, 0.26, 0.26, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.75, 0.10, 0.10, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.75, 0.10, 0.10, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.98, 0.26, 0.26, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.98, 0.26, 0.26, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.98, 0.26, 0.26, 0.95)
colors[clr.TextSelectedBg] = ImVec4(0.98, 0.26, 0.26, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme1() -- синий стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.16, 0.29, 0.48, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.26, 0.59, 0.98, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.26, 0.59, 0.98, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.16, 0.29, 0.48, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.SliderGrab] = ImVec4(0.24, 0.52, 0.88, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.Button] = ImVec4(0.26, 0.59, 0.98, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.ButtonActive] = ImVec4(0.06, 0.53, 0.98, 1.00)
colors[clr.Header] = ImVec4(0.26, 0.59, 0.98, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.26, 0.59, 0.98, 0.80)
colors[clr.HeaderActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.26, 0.59, 0.98, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.26, 0.59, 0.98, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.59, 0.98, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.26, 0.59, 0.98, 0.95)
colors[clr.TextSelectedBg] = ImVec4(0.26, 0.59, 0.98, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme2() -- коричневый стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.48, 0.23, 0.16, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.98, 0.43, 0.26, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.98, 0.43, 0.26, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.48, 0.23, 0.16, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.98, 0.43, 0.26, 1.00)
colors[clr.SliderGrab] = ImVec4(0.88, 0.39, 0.24, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.98, 0.43, 0.26, 1.00)
colors[clr.Button] = ImVec4(0.98, 0.43, 0.26, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.98, 0.43, 0.26, 1.00)
colors[clr.ButtonActive] = ImVec4(0.98, 0.28, 0.06, 1.00)
colors[clr.Header] = ImVec4(0.98, 0.43, 0.26, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.98, 0.43, 0.26, 0.80)
colors[clr.HeaderActive] = ImVec4(0.98, 0.43, 0.26, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.75, 0.25, 0.10, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.75, 0.25, 0.10, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.98, 0.43, 0.26, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.98, 0.43, 0.26, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.98, 0.43, 0.26, 0.95)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.50, 0.35, 1.00)
colors[clr.TextSelectedBg] = ImVec4(0.98, 0.43, 0.26, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme3() -- голубой стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.16, 0.48, 0.42, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.26, 0.98, 0.85, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.26, 0.98, 0.85, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.16, 0.48, 0.42, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.26, 0.98, 0.85, 1.00)
colors[clr.SliderGrab] = ImVec4(0.24, 0.88, 0.77, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.26, 0.98, 0.85, 1.00)
colors[clr.Button] = ImVec4(0.26, 0.98, 0.85, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.26, 0.98, 0.85, 1.00)
colors[clr.ButtonActive] = ImVec4(0.06, 0.98, 0.82, 1.00)
colors[clr.Header] = ImVec4(0.26, 0.98, 0.85, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.26, 0.98, 0.85, 0.80)
colors[clr.HeaderActive] = ImVec4(0.26, 0.98, 0.85, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.10, 0.75, 0.63, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.10, 0.75, 0.63, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.26, 0.98, 0.85, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.98, 0.85, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.26, 0.98, 0.85, 0.95)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.81, 0.35, 1.00)
colors[clr.TextSelectedBg] = ImVec4(0.26, 0.98, 0.85, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme4() -- тёмно-салатовый стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.42, 0.48, 0.16, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.85, 0.98, 0.26, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.85, 0.98, 0.26, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.42, 0.48, 0.16, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.85, 0.98, 0.26, 1.00)
colors[clr.SliderGrab] = ImVec4(0.77, 0.88, 0.24, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.85, 0.98, 0.26, 1.00)
colors[clr.Button] = ImVec4(0.85, 0.98, 0.26, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.85, 0.98, 0.26, 1.00)
colors[clr.ButtonActive] = ImVec4(0.82, 0.98, 0.06, 1.00)
colors[clr.Header] = ImVec4(0.85, 0.98, 0.26, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.85, 0.98, 0.26, 0.80)
colors[clr.HeaderActive] = ImVec4(0.85, 0.98, 0.26, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.63, 0.75, 0.10, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.63, 0.75, 0.10, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.85, 0.98, 0.26, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.85, 0.98, 0.26, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.85, 0.98, 0.26, 0.95)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.81, 0.35, 1.00)
colors[clr.TextSelectedBg] = ImVec4(0.85, 0.98, 0.26, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme5() -- фиолетовый стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
style.ChildWindowRounding = 2.0
style.FrameRounding = 3
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
style.WindowPadding = imgui.ImVec2(4.0, 4.0)
style.FramePadding = imgui.ImVec2(3.5, 3.5)
style.ButtonTextAlign = imgui.ImVec2(0.0, 0.5)
colors[clr.WindowBg] = ImVec4(0.14, 0.12, 0.16, 1.00);
colors[clr.ChildWindowBg] = ImVec4(0.30, 0.20, 0.39, 0.00);
colors[clr.PopupBg] = ImVec4(0.05, 0.05, 0.10, 0.90);
colors[clr.Border] = ImVec4(0.89, 0.85, 0.92, 0.30);
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00);
colors[clr.FrameBg] = ImVec4(0.30, 0.20, 0.39, 1.00);
colors[clr.FrameBgHovered] = ImVec4(0.41, 0.19, 0.63, 0.68);
colors[clr.FrameBgActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.TitleBg] = ImVec4(0.41, 0.19, 0.63, 0.45);
colors[clr.TitleBgCollapsed] = ImVec4(0.41, 0.19, 0.63, 0.35);
colors[clr.TitleBgActive] = ImVec4(0.41, 0.19, 0.63, 0.78);
colors[clr.MenuBarBg] = ImVec4(0.30, 0.20, 0.39, 0.57);
colors[clr.ScrollbarBg] = ImVec4(0.30, 0.20, 0.39, 1.00);
colors[clr.ScrollbarGrab] = ImVec4(0.41, 0.19, 0.63, 0.31);
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.19, 0.63, 0.78);
colors[clr.ScrollbarGrabActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.ComboBg] = ImVec4(0.30, 0.20, 0.39, 1.00);
colors[clr.CheckMark] = ImVec4(0.56, 0.61, 1.00, 1.00);
colors[clr.SliderGrab] = ImVec4(0.41, 0.19, 0.63, 0.24);
colors[clr.SliderGrabActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.Button] = ImVec4(0.41, 0.19, 0.63, 0.44);
colors[clr.ButtonHovered] = ImVec4(0.41, 0.19, 0.63, 0.86);
colors[clr.ButtonActive] = ImVec4(0.64, 0.33, 0.94, 1.00);
colors[clr.Header] = ImVec4(0.41, 0.19, 0.63, 0.76);
colors[clr.HeaderHovered] = ImVec4(0.41, 0.19, 0.63, 0.86);
colors[clr.HeaderActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.ResizeGrip] = ImVec4(0.41, 0.19, 0.63, 0.20);
colors[clr.ResizeGripHovered] = ImVec4(0.41, 0.19, 0.63, 0.78);
colors[clr.ResizeGripActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.CloseButton] = ImVec4(1.00, 1.00, 1.00, 0.75);
colors[clr.CloseButtonHovered] = ImVec4(0.88, 0.74, 1.00, 0.59);
colors[clr.CloseButtonActive] = ImVec4(0.88, 0.85, 0.92, 1.00);
colors[clr.PlotLines] = ImVec4(0.89, 0.85, 0.92, 0.63);
colors[clr.PlotLinesHovered] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.PlotHistogram] = ImVec4(0.89, 0.85, 0.92, 0.63);
colors[clr.PlotHistogramHovered] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.TextSelectedBg] = ImVec4(0.41, 0.19, 0.63, 0.43);
colors[clr.ModalWindowDarkening] = ImVec4(0.20, 0.20, 0.20, 0.35);
end
--function saveData()
-- inicfg.save({
-- settings =
-- {
-- theme = cfg.settings.theme
-- },
-- })
--end
Перед текстом русским пиши u8все равно иероглифы
Lua:local imgui = require 'imgui' local key = require 'vkeys' local fa = require 'fAwesome5' local sw, sh = getScreenResolution() local bNotf, notf = pcall(import, "imgui_notf.lua") local encoding = require 'encoding' encoding.default = 'cp1251' local u8 = encoding.UTF8 --сохранение темы, не работаэ щас --local inicfg = require 'inicfg' --local direct_cfg = '../papka/script.ini' --local cfg = inicfg.load({ -- settings = { -- theme = 0, -- }, --}) --inicfg.save(cfg, direct_cfg) --if cfg.settings.theme == 0 then applyBlueTheme() --elseif cfg.settings.theme == 1 then applyRedTheme() end --сохранение темы, не работаэ щас --local themes = import "resource/imgui_themes.lua" --local checked_radio = imgui.ImInt(1) local theme = imgui.ImInt(1) -- одно из основных отличий от оригинального апи -- все переменные, значения которых записываются в ImGui по указателю, могут использоваться только через специальные типы local main_window_state = imgui.ImBool(false) local main_window_state2 = imgui.ImBool(false) local main_window_state3 = imgui.ImBool(false) local main_window_state4 = imgui.ImBool(false) local main_window_state5 = imgui.ImBool(false) function imgui.OnDrawFrame() if theme.v == 0 then theme0() end -- красный стиль if theme.v == 1 then theme1() end -- синий стиль if theme.v == 2 then theme2() end -- коричневый стиль if theme.v == 3 then theme3() end -- голубой стиль if theme.v == 4 then theme4() end -- тёмно-салатовый стиль if theme.v == 5 then theme5() end -- фиолетовый стиль if main_window_state.v then -- чтение и запись значения такой переменной осуществляется через поле v (или Value) imgui.SetNextWindowSize(imgui.ImVec2(300, 300), imgui.Cond.FirstUseEver) -- меняем размер imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) -- но для передачи значения по указателю - обязательно напрямую -- тут main_window_state передаётся функции imgui.Begin, чтобы можно было отследить закрытие окна нажатием на крестик imgui.Begin(fa.ICON_WRENCH .. " Training помощник", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() imgui.TextQuestion("( UPDATE )", "v0.1( хх.10.2021 ) - Релиз скрипта. ") --imgui.SetCursorPosX((imgui.GetWindowWidth() - imgui.CalcTextSize(" Темы").x) / 2) if imgui.Button(fa.ICON_PALETTE .. " Темы") then -- а вот и кнопка с действием -- условие будет выполнено при нажатии на неё main_window_state2.v = not main_window_state2.v end --imgui.SetCursorPosX((imgui.GetWindowWidth() - imgui.CalcTextSize(" Test2").x) / 2) if imgui.Button(fa.ICON_TERMINAL .. " Команды сервера") then main_window_state3.v = not main_window_state3.v end if imgui.Button(fa.ICON_COGS .. " Коллбэки") then main_window_state4.v = not main_window_state4.v end if imgui.Button(fa.ICON_COGS .. " Цвета") then main_window_state5.v = not main_window_state5.v end imgui.End() end if main_window_state2.v then imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver) imgui.Begin(fa.ICON_PALETTE .. " Темы", main_window_state2, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() -- if imgui.Button('Красная') then кнопка + функция для неё -- themes.SwitchColorTheme(2) -- end if imgui.Button('Красный стиль') then -- При нажатие на кнопку будем менять стиль на красный theme.v = 0 end if imgui.Button('Синий стиль') then -- При нажатие на кнопку будем менять стиль на синий theme.v = 1 end if imgui.Button('Коричневый стиль') then -- При нажатие на кнопку будем менять стиль на коричневый theme.v = 2 end if imgui.Button('Голубой стиль') then -- При нажатие на кнопку будем менять стиль на голубой theme.v = 3 end if imgui.Button('Тёмно-салатовый стиль') then -- При нажатие на кнопку будем менять стиль на тёмно-салатовый theme.v = 4 end if imgui.Button('Фиолетовый стиль') then -- При нажатие на кнопку будем менять стиль на фиолетовый theme.v = 5 end imgui.End() end if main_window_state3.v then imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver) imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin(fa.ICON_TERMINAL .. " Команды сервера", main_window_state3, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() imgui.Text("тест третьего окна") imgui.End() end if main_window_state4.v then imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver) imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin(fa.ICON_COGS .. " Коллбэки", main_window_state4, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() imgui.Text("test") imgui.End() end if main_window_state5.v then imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver) imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin(fa.ICON_COGS .. " Цвета", main_window_state5, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() imgui.Text("добавить сюда фотки hex цветов из лички") imgui.End() end end function main() imgui.Process = false sampRegisterChatCommand("testike", function() main_window_state.v = not main_window_state.v end) -- Команда /testike if bNotf then notf.addNotification(u8("Уведомление!"), 4, 1) end while true do wait(0) imgui.Process = main_window_state.v or main_window_state2.v -- теперь значение imgui.Process всегда будет задаваться в зависимости от активности основного окна imgui.Process = main_window_state.v or main_window_state3.v imgui.Process = main_window_state.v or main_window_state4.v imgui.Process = main_window_state.v or main_window_state5.v end imgui.Process = show_main_window.v themes.SwitchColorTheme(tonumber(arg)) --imgui.SwitchContext() --themes.SwitchColorTheme() end show_main_window = imgui.ImBool(false) local fa_font = nil local fa_glyph_ranges = imgui.ImGlyphRanges({ fa.min_range, fa.max_range }) function imgui.BeforeDrawFrame() if fa_font == nil then local font_config = imgui.ImFontConfig() -- to use 'imgui.ImFontConfig.new()' on error font_config.MergeMode = true fa_font = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 13.0, font_config, fa_glyph_ranges) end end function imgui.TextQuestion(label, description) imgui.TextDisabled(label) if imgui.IsItemHovered() then imgui.BeginTooltip() imgui.PushTextWrapPos(600) imgui.TextUnformatted(description) imgui.PopTextWrapPos() imgui.EndTooltip() end end function theme0() -- красный стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.48, 0.16, 0.16, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.98, 0.26, 0.26, 0.40) colors[clr.FrameBgActive] = ImVec4(0.98, 0.26, 0.26, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.48, 0.16, 0.16, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.98, 0.26, 0.26, 1.00) colors[clr.SliderGrab] = ImVec4(0.88, 0.26, 0.24, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.98, 0.26, 0.26, 1.00) colors[clr.Button] = ImVec4(0.98, 0.26, 0.26, 0.40) colors[clr.ButtonHovered] = ImVec4(0.98, 0.26, 0.26, 1.00) colors[clr.ButtonActive] = ImVec4(0.98, 0.06, 0.06, 1.00) colors[clr.Header] = ImVec4(0.98, 0.26, 0.26, 0.31) colors[clr.HeaderHovered] = ImVec4(0.98, 0.26, 0.26, 0.80) colors[clr.HeaderActive] = ImVec4(0.98, 0.26, 0.26, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.75, 0.10, 0.10, 0.78) colors[clr.SeparatorActive] = ImVec4(0.75, 0.10, 0.10, 1.00) colors[clr.ResizeGrip] = ImVec4(0.98, 0.26, 0.26, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.98, 0.26, 0.26, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.98, 0.26, 0.26, 0.95) colors[clr.TextSelectedBg] = ImVec4(0.98, 0.26, 0.26, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme1() -- синий стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.16, 0.29, 0.48, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.26, 0.59, 0.98, 0.40) colors[clr.FrameBgActive] = ImVec4(0.26, 0.59, 0.98, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.16, 0.29, 0.48, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.SliderGrab] = ImVec4(0.24, 0.52, 0.88, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.Button] = ImVec4(0.26, 0.59, 0.98, 0.40) colors[clr.ButtonHovered] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.ButtonActive] = ImVec4(0.06, 0.53, 0.98, 1.00) colors[clr.Header] = ImVec4(0.26, 0.59, 0.98, 0.31) colors[clr.HeaderHovered] = ImVec4(0.26, 0.59, 0.98, 0.80) colors[clr.HeaderActive] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.26, 0.59, 0.98, 0.78) colors[clr.SeparatorActive] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.ResizeGrip] = ImVec4(0.26, 0.59, 0.98, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.59, 0.98, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.26, 0.59, 0.98, 0.95) colors[clr.TextSelectedBg] = ImVec4(0.26, 0.59, 0.98, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme2() -- коричневый стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.48, 0.23, 0.16, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.98, 0.43, 0.26, 0.40) colors[clr.FrameBgActive] = ImVec4(0.98, 0.43, 0.26, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.48, 0.23, 0.16, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.98, 0.43, 0.26, 1.00) colors[clr.SliderGrab] = ImVec4(0.88, 0.39, 0.24, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.98, 0.43, 0.26, 1.00) colors[clr.Button] = ImVec4(0.98, 0.43, 0.26, 0.40) colors[clr.ButtonHovered] = ImVec4(0.98, 0.43, 0.26, 1.00) colors[clr.ButtonActive] = ImVec4(0.98, 0.28, 0.06, 1.00) colors[clr.Header] = ImVec4(0.98, 0.43, 0.26, 0.31) colors[clr.HeaderHovered] = ImVec4(0.98, 0.43, 0.26, 0.80) colors[clr.HeaderActive] = ImVec4(0.98, 0.43, 0.26, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.75, 0.25, 0.10, 0.78) colors[clr.SeparatorActive] = ImVec4(0.75, 0.25, 0.10, 1.00) colors[clr.ResizeGrip] = ImVec4(0.98, 0.43, 0.26, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.98, 0.43, 0.26, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.98, 0.43, 0.26, 0.95) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.50, 0.35, 1.00) colors[clr.TextSelectedBg] = ImVec4(0.98, 0.43, 0.26, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme3() -- голубой стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.16, 0.48, 0.42, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.26, 0.98, 0.85, 0.40) colors[clr.FrameBgActive] = ImVec4(0.26, 0.98, 0.85, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.16, 0.48, 0.42, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.26, 0.98, 0.85, 1.00) colors[clr.SliderGrab] = ImVec4(0.24, 0.88, 0.77, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.26, 0.98, 0.85, 1.00) colors[clr.Button] = ImVec4(0.26, 0.98, 0.85, 0.40) colors[clr.ButtonHovered] = ImVec4(0.26, 0.98, 0.85, 1.00) colors[clr.ButtonActive] = ImVec4(0.06, 0.98, 0.82, 1.00) colors[clr.Header] = ImVec4(0.26, 0.98, 0.85, 0.31) colors[clr.HeaderHovered] = ImVec4(0.26, 0.98, 0.85, 0.80) colors[clr.HeaderActive] = ImVec4(0.26, 0.98, 0.85, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.10, 0.75, 0.63, 0.78) colors[clr.SeparatorActive] = ImVec4(0.10, 0.75, 0.63, 1.00) colors[clr.ResizeGrip] = ImVec4(0.26, 0.98, 0.85, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.98, 0.85, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.26, 0.98, 0.85, 0.95) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.81, 0.35, 1.00) colors[clr.TextSelectedBg] = ImVec4(0.26, 0.98, 0.85, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme4() -- тёмно-салатовый стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.42, 0.48, 0.16, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.85, 0.98, 0.26, 0.40) colors[clr.FrameBgActive] = ImVec4(0.85, 0.98, 0.26, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.42, 0.48, 0.16, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.85, 0.98, 0.26, 1.00) colors[clr.SliderGrab] = ImVec4(0.77, 0.88, 0.24, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.85, 0.98, 0.26, 1.00) colors[clr.Button] = ImVec4(0.85, 0.98, 0.26, 0.40) colors[clr.ButtonHovered] = ImVec4(0.85, 0.98, 0.26, 1.00) colors[clr.ButtonActive] = ImVec4(0.82, 0.98, 0.06, 1.00) colors[clr.Header] = ImVec4(0.85, 0.98, 0.26, 0.31) colors[clr.HeaderHovered] = ImVec4(0.85, 0.98, 0.26, 0.80) colors[clr.HeaderActive] = ImVec4(0.85, 0.98, 0.26, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.63, 0.75, 0.10, 0.78) colors[clr.SeparatorActive] = ImVec4(0.63, 0.75, 0.10, 1.00) colors[clr.ResizeGrip] = ImVec4(0.85, 0.98, 0.26, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.85, 0.98, 0.26, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.85, 0.98, 0.26, 0.95) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.81, 0.35, 1.00) colors[clr.TextSelectedBg] = ImVec4(0.85, 0.98, 0.26, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme5() -- фиолетовый стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5) style.ChildWindowRounding = 2.0 style.FrameRounding = 3 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 style.WindowPadding = imgui.ImVec2(4.0, 4.0) style.FramePadding = imgui.ImVec2(3.5, 3.5) style.ButtonTextAlign = imgui.ImVec2(0.0, 0.5) colors[clr.WindowBg] = ImVec4(0.14, 0.12, 0.16, 1.00); colors[clr.ChildWindowBg] = ImVec4(0.30, 0.20, 0.39, 0.00); colors[clr.PopupBg] = ImVec4(0.05, 0.05, 0.10, 0.90); colors[clr.Border] = ImVec4(0.89, 0.85, 0.92, 0.30); colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00); colors[clr.FrameBg] = ImVec4(0.30, 0.20, 0.39, 1.00); colors[clr.FrameBgHovered] = ImVec4(0.41, 0.19, 0.63, 0.68); colors[clr.FrameBgActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.TitleBg] = ImVec4(0.41, 0.19, 0.63, 0.45); colors[clr.TitleBgCollapsed] = ImVec4(0.41, 0.19, 0.63, 0.35); colors[clr.TitleBgActive] = ImVec4(0.41, 0.19, 0.63, 0.78); colors[clr.MenuBarBg] = ImVec4(0.30, 0.20, 0.39, 0.57); colors[clr.ScrollbarBg] = ImVec4(0.30, 0.20, 0.39, 1.00); colors[clr.ScrollbarGrab] = ImVec4(0.41, 0.19, 0.63, 0.31); colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.19, 0.63, 0.78); colors[clr.ScrollbarGrabActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.ComboBg] = ImVec4(0.30, 0.20, 0.39, 1.00); colors[clr.CheckMark] = ImVec4(0.56, 0.61, 1.00, 1.00); colors[clr.SliderGrab] = ImVec4(0.41, 0.19, 0.63, 0.24); colors[clr.SliderGrabActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.Button] = ImVec4(0.41, 0.19, 0.63, 0.44); colors[clr.ButtonHovered] = ImVec4(0.41, 0.19, 0.63, 0.86); colors[clr.ButtonActive] = ImVec4(0.64, 0.33, 0.94, 1.00); colors[clr.Header] = ImVec4(0.41, 0.19, 0.63, 0.76); colors[clr.HeaderHovered] = ImVec4(0.41, 0.19, 0.63, 0.86); colors[clr.HeaderActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.ResizeGrip] = ImVec4(0.41, 0.19, 0.63, 0.20); colors[clr.ResizeGripHovered] = ImVec4(0.41, 0.19, 0.63, 0.78); colors[clr.ResizeGripActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.CloseButton] = ImVec4(1.00, 1.00, 1.00, 0.75); colors[clr.CloseButtonHovered] = ImVec4(0.88, 0.74, 1.00, 0.59); colors[clr.CloseButtonActive] = ImVec4(0.88, 0.85, 0.92, 1.00); colors[clr.PlotLines] = ImVec4(0.89, 0.85, 0.92, 0.63); colors[clr.PlotLinesHovered] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.PlotHistogram] = ImVec4(0.89, 0.85, 0.92, 0.63); colors[clr.PlotHistogramHovered] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.TextSelectedBg] = ImVec4(0.41, 0.19, 0.63, 0.43); colors[clr.ModalWindowDarkening] = ImVec4(0.20, 0.20, 0.20, 0.35); end --function saveData() -- inicfg.save({ -- settings = -- { -- theme = cfg.settings.theme -- }, -- }) --end
кодировка в vsc стоит u8, код -Перед текстом русским пиши u8
То-есть например ты написал
if imgui.Button('Коричневый стиль') then
а нужно
if imgui.Button(u8'Коричневый стиль') then
local imgui = require 'imgui'
local key = require 'vkeys'
local fa = require 'fAwesome5'
local sw, sh = getScreenResolution()
local bNotf, notf = pcall(import, "imgui_notf.lua")
local encoding = require('lib.encoding') -- грузим эту дичь
encoding.default = 'cp1251'
local u8 = encoding.UTF8
--сохранение темы, не работаэ щас
--local inicfg = require 'inicfg'
--local direct_cfg = '../papka/script.ini'
--local cfg = inicfg.load({
-- settings = {
-- theme = 0,
-- },
--})
--inicfg.save(cfg, direct_cfg)
--if cfg.settings.theme == 0 then applyBlueTheme()
--elseif cfg.settings.theme == 1 then applyRedTheme() end
--сохранение темы, не работаэ щас
--local themes = import "resource/imgui_themes.lua"
--local checked_radio = imgui.ImInt(1)
local theme = imgui.ImInt(1)
-- одно из основных отличий от оригинального апи
-- все переменные, значения которых записываются в ImGui по указателю, могут использоваться только через специальные типы
local main_window_state = imgui.ImBool(false)
local main_window_state2 = imgui.ImBool(false)
local main_window_state3 = imgui.ImBool(false)
local main_window_state4 = imgui.ImBool(false)
local main_window_state5 = imgui.ImBool(false)
function imgui.OnDrawFrame()
if theme.v == 0 then theme0() end -- красный стиль
if theme.v == 1 then theme1() end -- синий стиль
if theme.v == 2 then theme2() end -- коричневый стиль
if theme.v == 3 then theme3() end -- голубой стиль
if theme.v == 4 then theme4() end -- тёмно-салатовый стиль
if theme.v == 5 then theme5() end -- фиолетовый стиль
if main_window_state.v then -- чтение и запись значения такой переменной осуществляется через поле v (или Value)
imgui.SetNextWindowSize(imgui.ImVec2(300, 300), imgui.Cond.FirstUseEver) -- меняем размер
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
-- но для передачи значения по указателю - обязательно напрямую
-- тут main_window_state передаётся функции imgui.Begin, чтобы можно было отследить закрытие окна нажатием на крестик
imgui.Begin(fa.ICON_WRENCH .. " Training помощник", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
imgui.TextQuestion("( UPDATE )", "v0.1( хх.10.2021 ) - Релиз скрипта. ")
--imgui.SetCursorPosX((imgui.GetWindowWidth() - imgui.CalcTextSize(" Темы").x) / 2)
if imgui.Button(fa.ICON_PALETTE .. " Темы") then -- а вот и кнопка с действием
-- условие будет выполнено при нажатии на неё
main_window_state2.v = not main_window_state2.v
end
--imgui.SetCursorPosX((imgui.GetWindowWidth() - imgui.CalcTextSize(" Test2").x) / 2)
if imgui.Button(fa.ICON_TERMINAL .. " Команды сервера") then
main_window_state3.v = not main_window_state3.v
end
if imgui.Button(fa.ICON_COGS .. " Коллбэки") then
main_window_state4.v = not main_window_state4.v
end
if imgui.Button(fa.ICON_COGS .. " Цвета") then
main_window_state5.v = not main_window_state5.v
end
imgui.End()
end
if main_window_state2.v then
imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver)
imgui.Begin(fa.ICON_PALETTE .. " Темы", main_window_state2, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
-- if imgui.Button('Красная') then кнопка + функция для неё
-- themes.SwitchColorTheme(2)
-- end
if imgui.Button('Красный стиль') then -- При нажатие на кнопку будем менять стиль на красный
theme.v = 0
end
if imgui.Button('Синий стиль') then -- При нажатие на кнопку будем менять стиль на синий
theme.v = 1
end
if imgui.Button('Коричневый стиль') then -- При нажатие на кнопку будем менять стиль на коричневый
theme.v = 2
end
if imgui.Button('Голубой стиль') then -- При нажатие на кнопку будем менять стиль на голубой
theme.v = 3
end
if imgui.Button('Тёмно-салатовый стиль') then -- При нажатие на кнопку будем менять стиль на тёмно-салатовый
theme.v = 4
end
if imgui.Button('Фиолетовый стиль') then -- При нажатие на кнопку будем менять стиль на фиолетовый
theme.v = 5
end
imgui.End()
end
if main_window_state3.v then
imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin(fa.ICON_TERMINAL .. " Команды сервера", main_window_state3, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
imgui.Text("тест третьего окна")
imgui.End()
end
if main_window_state4.v then
imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin(fa.ICON_COGS .. " Коллбэки", main_window_state4, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
imgui.Text("test")
imgui.End()
end
if main_window_state5.v then
imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin(fa.ICON_COGS .. " Цвета", main_window_state5, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
imgui.Spacing()
imgui.Separator()
imgui.Spacing()
imgui.Text("добавить сюда фотки hex цветов из лички")
imgui.End()
end
end
function main()
imgui.Process = false
sampRegisterChatCommand("testike", function() main_window_state.v = not main_window_state.v end) -- Команда /testike
if bNotf then
notf.addNotification(u8("Working. Activated - /testike"), 4, 1)
end
while true do
wait(0)
imgui.Process = main_window_state.v or main_window_state2.v -- теперь значение imgui.Process всегда будет задаваться в зависимости от активности основного окна
imgui.Process = main_window_state.v or main_window_state3.v
imgui.Process = main_window_state.v or main_window_state4.v
imgui.Process = main_window_state.v or main_window_state5.v
end
imgui.Process = show_main_window.v
themes.SwitchColorTheme(tonumber(arg))
--imgui.SwitchContext()
--themes.SwitchColorTheme()
end
show_main_window = imgui.ImBool(false)
local fa_font = nil
local fa_glyph_ranges = imgui.ImGlyphRanges({ fa.min_range, fa.max_range })
function imgui.BeforeDrawFrame()
if fa_font == nil then
local font_config = imgui.ImFontConfig() -- to use 'imgui.ImFontConfig.new()' on error
font_config.MergeMode = true
fa_font = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 13.0, font_config, fa_glyph_ranges)
end
end
function imgui.TextQuestion(label, description)
imgui.TextDisabled(label)
if imgui.IsItemHovered() then
imgui.BeginTooltip()
imgui.PushTextWrapPos(600)
imgui.TextUnformatted(description)
imgui.PopTextWrapPos()
imgui.EndTooltip()
end
end
function theme0() -- красный стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.48, 0.16, 0.16, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.98, 0.26, 0.26, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.98, 0.26, 0.26, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.48, 0.16, 0.16, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.98, 0.26, 0.26, 1.00)
colors[clr.SliderGrab] = ImVec4(0.88, 0.26, 0.24, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.98, 0.26, 0.26, 1.00)
colors[clr.Button] = ImVec4(0.98, 0.26, 0.26, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.98, 0.26, 0.26, 1.00)
colors[clr.ButtonActive] = ImVec4(0.98, 0.06, 0.06, 1.00)
colors[clr.Header] = ImVec4(0.98, 0.26, 0.26, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.98, 0.26, 0.26, 0.80)
colors[clr.HeaderActive] = ImVec4(0.98, 0.26, 0.26, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.75, 0.10, 0.10, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.75, 0.10, 0.10, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.98, 0.26, 0.26, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.98, 0.26, 0.26, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.98, 0.26, 0.26, 0.95)
colors[clr.TextSelectedBg] = ImVec4(0.98, 0.26, 0.26, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme1() -- синий стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.16, 0.29, 0.48, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.26, 0.59, 0.98, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.26, 0.59, 0.98, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.16, 0.29, 0.48, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.SliderGrab] = ImVec4(0.24, 0.52, 0.88, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.Button] = ImVec4(0.26, 0.59, 0.98, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.ButtonActive] = ImVec4(0.06, 0.53, 0.98, 1.00)
colors[clr.Header] = ImVec4(0.26, 0.59, 0.98, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.26, 0.59, 0.98, 0.80)
colors[clr.HeaderActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.26, 0.59, 0.98, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.26, 0.59, 0.98, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.59, 0.98, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.26, 0.59, 0.98, 0.95)
colors[clr.TextSelectedBg] = ImVec4(0.26, 0.59, 0.98, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme2() -- коричневый стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.48, 0.23, 0.16, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.98, 0.43, 0.26, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.98, 0.43, 0.26, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.48, 0.23, 0.16, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.98, 0.43, 0.26, 1.00)
colors[clr.SliderGrab] = ImVec4(0.88, 0.39, 0.24, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.98, 0.43, 0.26, 1.00)
colors[clr.Button] = ImVec4(0.98, 0.43, 0.26, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.98, 0.43, 0.26, 1.00)
colors[clr.ButtonActive] = ImVec4(0.98, 0.28, 0.06, 1.00)
colors[clr.Header] = ImVec4(0.98, 0.43, 0.26, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.98, 0.43, 0.26, 0.80)
colors[clr.HeaderActive] = ImVec4(0.98, 0.43, 0.26, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.75, 0.25, 0.10, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.75, 0.25, 0.10, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.98, 0.43, 0.26, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.98, 0.43, 0.26, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.98, 0.43, 0.26, 0.95)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.50, 0.35, 1.00)
colors[clr.TextSelectedBg] = ImVec4(0.98, 0.43, 0.26, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme3() -- голубой стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.16, 0.48, 0.42, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.26, 0.98, 0.85, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.26, 0.98, 0.85, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.16, 0.48, 0.42, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.26, 0.98, 0.85, 1.00)
colors[clr.SliderGrab] = ImVec4(0.24, 0.88, 0.77, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.26, 0.98, 0.85, 1.00)
colors[clr.Button] = ImVec4(0.26, 0.98, 0.85, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.26, 0.98, 0.85, 1.00)
colors[clr.ButtonActive] = ImVec4(0.06, 0.98, 0.82, 1.00)
colors[clr.Header] = ImVec4(0.26, 0.98, 0.85, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.26, 0.98, 0.85, 0.80)
colors[clr.HeaderActive] = ImVec4(0.26, 0.98, 0.85, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.10, 0.75, 0.63, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.10, 0.75, 0.63, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.26, 0.98, 0.85, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.98, 0.85, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.26, 0.98, 0.85, 0.95)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.81, 0.35, 1.00)
colors[clr.TextSelectedBg] = ImVec4(0.26, 0.98, 0.85, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme4() -- тёмно-салатовый стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2.0
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
style.ChildWindowRounding = 2.0
style.FrameRounding = 2.0
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
colors[clr.FrameBg] = ImVec4(0.42, 0.48, 0.16, 0.54)
colors[clr.FrameBgHovered] = ImVec4(0.85, 0.98, 0.26, 0.40)
colors[clr.FrameBgActive] = ImVec4(0.85, 0.98, 0.26, 0.67)
colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
colors[clr.TitleBgActive] = ImVec4(0.42, 0.48, 0.16, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.CheckMark] = ImVec4(0.85, 0.98, 0.26, 1.00)
colors[clr.SliderGrab] = ImVec4(0.77, 0.88, 0.24, 1.00)
colors[clr.SliderGrabActive] = ImVec4(0.85, 0.98, 0.26, 1.00)
colors[clr.Button] = ImVec4(0.85, 0.98, 0.26, 0.40)
colors[clr.ButtonHovered] = ImVec4(0.85, 0.98, 0.26, 1.00)
colors[clr.ButtonActive] = ImVec4(0.82, 0.98, 0.06, 1.00)
colors[clr.Header] = ImVec4(0.85, 0.98, 0.26, 0.31)
colors[clr.HeaderHovered] = ImVec4(0.85, 0.98, 0.26, 0.80)
colors[clr.HeaderActive] = ImVec4(0.85, 0.98, 0.26, 1.00)
colors[clr.Separator] = colors[clr.Border]
colors[clr.SeparatorHovered] = ImVec4(0.63, 0.75, 0.10, 0.78)
colors[clr.SeparatorActive] = ImVec4(0.63, 0.75, 0.10, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.85, 0.98, 0.26, 0.25)
colors[clr.ResizeGripHovered] = ImVec4(0.85, 0.98, 0.26, 0.67)
colors[clr.ResizeGripActive] = ImVec4(0.85, 0.98, 0.26, 0.95)
colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.81, 0.35, 1.00)
colors[clr.TextSelectedBg] = ImVec4(0.85, 0.98, 0.26, 0.35)
colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
colors[clr.ComboBg] = colors[clr.PopupBg]
colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
end
function theme5() -- фиолетовый стиль
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowRounding = 2
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
style.ChildWindowRounding = 2.0
style.FrameRounding = 3
style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
style.ScrollbarSize = 13.0
style.ScrollbarRounding = 0
style.GrabMinSize = 8.0
style.GrabRounding = 1.0
style.WindowPadding = imgui.ImVec2(4.0, 4.0)
style.FramePadding = imgui.ImVec2(3.5, 3.5)
style.ButtonTextAlign = imgui.ImVec2(0.0, 0.5)
colors[clr.WindowBg] = ImVec4(0.14, 0.12, 0.16, 1.00);
colors[clr.ChildWindowBg] = ImVec4(0.30, 0.20, 0.39, 0.00);
colors[clr.PopupBg] = ImVec4(0.05, 0.05, 0.10, 0.90);
colors[clr.Border] = ImVec4(0.89, 0.85, 0.92, 0.30);
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00);
colors[clr.FrameBg] = ImVec4(0.30, 0.20, 0.39, 1.00);
colors[clr.FrameBgHovered] = ImVec4(0.41, 0.19, 0.63, 0.68);
colors[clr.FrameBgActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.TitleBg] = ImVec4(0.41, 0.19, 0.63, 0.45);
colors[clr.TitleBgCollapsed] = ImVec4(0.41, 0.19, 0.63, 0.35);
colors[clr.TitleBgActive] = ImVec4(0.41, 0.19, 0.63, 0.78);
colors[clr.MenuBarBg] = ImVec4(0.30, 0.20, 0.39, 0.57);
colors[clr.ScrollbarBg] = ImVec4(0.30, 0.20, 0.39, 1.00);
colors[clr.ScrollbarGrab] = ImVec4(0.41, 0.19, 0.63, 0.31);
colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.19, 0.63, 0.78);
colors[clr.ScrollbarGrabActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.ComboBg] = ImVec4(0.30, 0.20, 0.39, 1.00);
colors[clr.CheckMark] = ImVec4(0.56, 0.61, 1.00, 1.00);
colors[clr.SliderGrab] = ImVec4(0.41, 0.19, 0.63, 0.24);
colors[clr.SliderGrabActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.Button] = ImVec4(0.41, 0.19, 0.63, 0.44);
colors[clr.ButtonHovered] = ImVec4(0.41, 0.19, 0.63, 0.86);
colors[clr.ButtonActive] = ImVec4(0.64, 0.33, 0.94, 1.00);
colors[clr.Header] = ImVec4(0.41, 0.19, 0.63, 0.76);
colors[clr.HeaderHovered] = ImVec4(0.41, 0.19, 0.63, 0.86);
colors[clr.HeaderActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.ResizeGrip] = ImVec4(0.41, 0.19, 0.63, 0.20);
colors[clr.ResizeGripHovered] = ImVec4(0.41, 0.19, 0.63, 0.78);
colors[clr.ResizeGripActive] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.CloseButton] = ImVec4(1.00, 1.00, 1.00, 0.75);
colors[clr.CloseButtonHovered] = ImVec4(0.88, 0.74, 1.00, 0.59);
colors[clr.CloseButtonActive] = ImVec4(0.88, 0.85, 0.92, 1.00);
colors[clr.PlotLines] = ImVec4(0.89, 0.85, 0.92, 0.63);
colors[clr.PlotLinesHovered] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.PlotHistogram] = ImVec4(0.89, 0.85, 0.92, 0.63);
colors[clr.PlotHistogramHovered] = ImVec4(0.41, 0.19, 0.63, 1.00);
colors[clr.TextSelectedBg] = ImVec4(0.41, 0.19, 0.63, 0.43);
colors[clr.ModalWindowDarkening] = ImVec4(0.20, 0.20, 0.20, 0.35);
end
--function saveData()
-- inicfg.save({
-- settings =
-- {
-- theme = cfg.settings.theme
-- },
-- })
--end
Я тебе написал вышекодировка в vsc стоит u8, код -Lua:local imgui = require 'imgui' local key = require 'vkeys' local fa = require 'fAwesome5' local sw, sh = getScreenResolution() local bNotf, notf = pcall(import, "imgui_notf.lua") local encoding = require('lib.encoding') -- грузим эту дичь encoding.default = 'cp1251' local u8 = encoding.UTF8 --сохранение темы, не работаэ щас --local inicfg = require 'inicfg' --local direct_cfg = '../papka/script.ini' --local cfg = inicfg.load({ -- settings = { -- theme = 0, -- }, --}) --inicfg.save(cfg, direct_cfg) --if cfg.settings.theme == 0 then applyBlueTheme() --elseif cfg.settings.theme == 1 then applyRedTheme() end --сохранение темы, не работаэ щас --local themes = import "resource/imgui_themes.lua" --local checked_radio = imgui.ImInt(1) local theme = imgui.ImInt(1) -- одно из основных отличий от оригинального апи -- все переменные, значения которых записываются в ImGui по указателю, могут использоваться только через специальные типы local main_window_state = imgui.ImBool(false) local main_window_state2 = imgui.ImBool(false) local main_window_state3 = imgui.ImBool(false) local main_window_state4 = imgui.ImBool(false) local main_window_state5 = imgui.ImBool(false) function imgui.OnDrawFrame() if theme.v == 0 then theme0() end -- красный стиль if theme.v == 1 then theme1() end -- синий стиль if theme.v == 2 then theme2() end -- коричневый стиль if theme.v == 3 then theme3() end -- голубой стиль if theme.v == 4 then theme4() end -- тёмно-салатовый стиль if theme.v == 5 then theme5() end -- фиолетовый стиль if main_window_state.v then -- чтение и запись значения такой переменной осуществляется через поле v (или Value) imgui.SetNextWindowSize(imgui.ImVec2(300, 300), imgui.Cond.FirstUseEver) -- меняем размер imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) -- но для передачи значения по указателю - обязательно напрямую -- тут main_window_state передаётся функции imgui.Begin, чтобы можно было отследить закрытие окна нажатием на крестик imgui.Begin(fa.ICON_WRENCH .. " Training помощник", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() imgui.TextQuestion("( UPDATE )", "v0.1( хх.10.2021 ) - Релиз скрипта. ") --imgui.SetCursorPosX((imgui.GetWindowWidth() - imgui.CalcTextSize(" Темы").x) / 2) if imgui.Button(fa.ICON_PALETTE .. " Темы") then -- а вот и кнопка с действием -- условие будет выполнено при нажатии на неё main_window_state2.v = not main_window_state2.v end --imgui.SetCursorPosX((imgui.GetWindowWidth() - imgui.CalcTextSize(" Test2").x) / 2) if imgui.Button(fa.ICON_TERMINAL .. " Команды сервера") then main_window_state3.v = not main_window_state3.v end if imgui.Button(fa.ICON_COGS .. " Коллбэки") then main_window_state4.v = not main_window_state4.v end if imgui.Button(fa.ICON_COGS .. " Цвета") then main_window_state5.v = not main_window_state5.v end imgui.End() end if main_window_state2.v then imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver) imgui.Begin(fa.ICON_PALETTE .. " Темы", main_window_state2, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() -- if imgui.Button('Красная') then кнопка + функция для неё -- themes.SwitchColorTheme(2) -- end if imgui.Button('Красный стиль') then -- При нажатие на кнопку будем менять стиль на красный theme.v = 0 end if imgui.Button('Синий стиль') then -- При нажатие на кнопку будем менять стиль на синий theme.v = 1 end if imgui.Button('Коричневый стиль') then -- При нажатие на кнопку будем менять стиль на коричневый theme.v = 2 end if imgui.Button('Голубой стиль') then -- При нажатие на кнопку будем менять стиль на голубой theme.v = 3 end if imgui.Button('Тёмно-салатовый стиль') then -- При нажатие на кнопку будем менять стиль на тёмно-салатовый theme.v = 4 end if imgui.Button('Фиолетовый стиль') then -- При нажатие на кнопку будем менять стиль на фиолетовый theme.v = 5 end imgui.End() end if main_window_state3.v then imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver) imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin(fa.ICON_TERMINAL .. " Команды сервера", main_window_state3, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() imgui.Text("тест третьего окна") imgui.End() end if main_window_state4.v then imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver) imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin(fa.ICON_COGS .. " Коллбэки", main_window_state4, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() imgui.Text("test") imgui.End() end if main_window_state5.v then imgui.SetNextWindowSize(imgui.ImVec2(210, 220), imgui.Cond.FirstUseEver) imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin(fa.ICON_COGS .. " Цвета", main_window_state5, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) imgui.Spacing() imgui.Separator() imgui.Spacing() imgui.Text("добавить сюда фотки hex цветов из лички") imgui.End() end end function main() imgui.Process = false sampRegisterChatCommand("testike", function() main_window_state.v = not main_window_state.v end) -- Команда /testike if bNotf then notf.addNotification(u8("Working. Activated - /testike"), 4, 1) end while true do wait(0) imgui.Process = main_window_state.v or main_window_state2.v -- теперь значение imgui.Process всегда будет задаваться в зависимости от активности основного окна imgui.Process = main_window_state.v or main_window_state3.v imgui.Process = main_window_state.v or main_window_state4.v imgui.Process = main_window_state.v or main_window_state5.v end imgui.Process = show_main_window.v themes.SwitchColorTheme(tonumber(arg)) --imgui.SwitchContext() --themes.SwitchColorTheme() end show_main_window = imgui.ImBool(false) local fa_font = nil local fa_glyph_ranges = imgui.ImGlyphRanges({ fa.min_range, fa.max_range }) function imgui.BeforeDrawFrame() if fa_font == nil then local font_config = imgui.ImFontConfig() -- to use 'imgui.ImFontConfig.new()' on error font_config.MergeMode = true fa_font = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 13.0, font_config, fa_glyph_ranges) end end function imgui.TextQuestion(label, description) imgui.TextDisabled(label) if imgui.IsItemHovered() then imgui.BeginTooltip() imgui.PushTextWrapPos(600) imgui.TextUnformatted(description) imgui.PopTextWrapPos() imgui.EndTooltip() end end function theme0() -- красный стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.48, 0.16, 0.16, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.98, 0.26, 0.26, 0.40) colors[clr.FrameBgActive] = ImVec4(0.98, 0.26, 0.26, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.48, 0.16, 0.16, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.98, 0.26, 0.26, 1.00) colors[clr.SliderGrab] = ImVec4(0.88, 0.26, 0.24, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.98, 0.26, 0.26, 1.00) colors[clr.Button] = ImVec4(0.98, 0.26, 0.26, 0.40) colors[clr.ButtonHovered] = ImVec4(0.98, 0.26, 0.26, 1.00) colors[clr.ButtonActive] = ImVec4(0.98, 0.06, 0.06, 1.00) colors[clr.Header] = ImVec4(0.98, 0.26, 0.26, 0.31) colors[clr.HeaderHovered] = ImVec4(0.98, 0.26, 0.26, 0.80) colors[clr.HeaderActive] = ImVec4(0.98, 0.26, 0.26, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.75, 0.10, 0.10, 0.78) colors[clr.SeparatorActive] = ImVec4(0.75, 0.10, 0.10, 1.00) colors[clr.ResizeGrip] = ImVec4(0.98, 0.26, 0.26, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.98, 0.26, 0.26, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.98, 0.26, 0.26, 0.95) colors[clr.TextSelectedBg] = ImVec4(0.98, 0.26, 0.26, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme1() -- синий стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.16, 0.29, 0.48, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.26, 0.59, 0.98, 0.40) colors[clr.FrameBgActive] = ImVec4(0.26, 0.59, 0.98, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.16, 0.29, 0.48, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.SliderGrab] = ImVec4(0.24, 0.52, 0.88, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.Button] = ImVec4(0.26, 0.59, 0.98, 0.40) colors[clr.ButtonHovered] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.ButtonActive] = ImVec4(0.06, 0.53, 0.98, 1.00) colors[clr.Header] = ImVec4(0.26, 0.59, 0.98, 0.31) colors[clr.HeaderHovered] = ImVec4(0.26, 0.59, 0.98, 0.80) colors[clr.HeaderActive] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.26, 0.59, 0.98, 0.78) colors[clr.SeparatorActive] = ImVec4(0.26, 0.59, 0.98, 1.00) colors[clr.ResizeGrip] = ImVec4(0.26, 0.59, 0.98, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.59, 0.98, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.26, 0.59, 0.98, 0.95) colors[clr.TextSelectedBg] = ImVec4(0.26, 0.59, 0.98, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme2() -- коричневый стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.48, 0.23, 0.16, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.98, 0.43, 0.26, 0.40) colors[clr.FrameBgActive] = ImVec4(0.98, 0.43, 0.26, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.48, 0.23, 0.16, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.98, 0.43, 0.26, 1.00) colors[clr.SliderGrab] = ImVec4(0.88, 0.39, 0.24, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.98, 0.43, 0.26, 1.00) colors[clr.Button] = ImVec4(0.98, 0.43, 0.26, 0.40) colors[clr.ButtonHovered] = ImVec4(0.98, 0.43, 0.26, 1.00) colors[clr.ButtonActive] = ImVec4(0.98, 0.28, 0.06, 1.00) colors[clr.Header] = ImVec4(0.98, 0.43, 0.26, 0.31) colors[clr.HeaderHovered] = ImVec4(0.98, 0.43, 0.26, 0.80) colors[clr.HeaderActive] = ImVec4(0.98, 0.43, 0.26, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.75, 0.25, 0.10, 0.78) colors[clr.SeparatorActive] = ImVec4(0.75, 0.25, 0.10, 1.00) colors[clr.ResizeGrip] = ImVec4(0.98, 0.43, 0.26, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.98, 0.43, 0.26, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.98, 0.43, 0.26, 0.95) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.50, 0.35, 1.00) colors[clr.TextSelectedBg] = ImVec4(0.98, 0.43, 0.26, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme3() -- голубой стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.16, 0.48, 0.42, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.26, 0.98, 0.85, 0.40) colors[clr.FrameBgActive] = ImVec4(0.26, 0.98, 0.85, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.16, 0.48, 0.42, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.26, 0.98, 0.85, 1.00) colors[clr.SliderGrab] = ImVec4(0.24, 0.88, 0.77, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.26, 0.98, 0.85, 1.00) colors[clr.Button] = ImVec4(0.26, 0.98, 0.85, 0.40) colors[clr.ButtonHovered] = ImVec4(0.26, 0.98, 0.85, 1.00) colors[clr.ButtonActive] = ImVec4(0.06, 0.98, 0.82, 1.00) colors[clr.Header] = ImVec4(0.26, 0.98, 0.85, 0.31) colors[clr.HeaderHovered] = ImVec4(0.26, 0.98, 0.85, 0.80) colors[clr.HeaderActive] = ImVec4(0.26, 0.98, 0.85, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.10, 0.75, 0.63, 0.78) colors[clr.SeparatorActive] = ImVec4(0.10, 0.75, 0.63, 1.00) colors[clr.ResizeGrip] = ImVec4(0.26, 0.98, 0.85, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.98, 0.85, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.26, 0.98, 0.85, 0.95) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.81, 0.35, 1.00) colors[clr.TextSelectedBg] = ImVec4(0.26, 0.98, 0.85, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme4() -- тёмно-салатовый стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2.0 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84) style.ChildWindowRounding = 2.0 style.FrameRounding = 2.0 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 colors[clr.FrameBg] = ImVec4(0.42, 0.48, 0.16, 0.54) colors[clr.FrameBgHovered] = ImVec4(0.85, 0.98, 0.26, 0.40) colors[clr.FrameBgActive] = ImVec4(0.85, 0.98, 0.26, 0.67) colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00) colors[clr.TitleBgActive] = ImVec4(0.42, 0.48, 0.16, 1.00) colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51) colors[clr.CheckMark] = ImVec4(0.85, 0.98, 0.26, 1.00) colors[clr.SliderGrab] = ImVec4(0.77, 0.88, 0.24, 1.00) colors[clr.SliderGrabActive] = ImVec4(0.85, 0.98, 0.26, 1.00) colors[clr.Button] = ImVec4(0.85, 0.98, 0.26, 0.40) colors[clr.ButtonHovered] = ImVec4(0.85, 0.98, 0.26, 1.00) colors[clr.ButtonActive] = ImVec4(0.82, 0.98, 0.06, 1.00) colors[clr.Header] = ImVec4(0.85, 0.98, 0.26, 0.31) colors[clr.HeaderHovered] = ImVec4(0.85, 0.98, 0.26, 0.80) colors[clr.HeaderActive] = ImVec4(0.85, 0.98, 0.26, 1.00) colors[clr.Separator] = colors[clr.Border] colors[clr.SeparatorHovered] = ImVec4(0.63, 0.75, 0.10, 0.78) colors[clr.SeparatorActive] = ImVec4(0.63, 0.75, 0.10, 1.00) colors[clr.ResizeGrip] = ImVec4(0.85, 0.98, 0.26, 0.25) colors[clr.ResizeGripHovered] = ImVec4(0.85, 0.98, 0.26, 0.67) colors[clr.ResizeGripActive] = ImVec4(0.85, 0.98, 0.26, 0.95) colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00) colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.81, 0.35, 1.00) colors[clr.TextSelectedBg] = ImVec4(0.85, 0.98, 0.26, 0.35) colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00) colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00) colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94) colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00) colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94) colors[clr.ComboBg] = colors[clr.PopupBg] colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50) colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00) colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00) colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53) colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00) colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00) colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00) colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50) colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00) colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00) colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00) colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35) end function theme5() -- фиолетовый стиль imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 style.WindowRounding = 2 style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5) style.ChildWindowRounding = 2.0 style.FrameRounding = 3 style.ItemSpacing = imgui.ImVec2(5.0, 4.0) style.ScrollbarSize = 13.0 style.ScrollbarRounding = 0 style.GrabMinSize = 8.0 style.GrabRounding = 1.0 style.WindowPadding = imgui.ImVec2(4.0, 4.0) style.FramePadding = imgui.ImVec2(3.5, 3.5) style.ButtonTextAlign = imgui.ImVec2(0.0, 0.5) colors[clr.WindowBg] = ImVec4(0.14, 0.12, 0.16, 1.00); colors[clr.ChildWindowBg] = ImVec4(0.30, 0.20, 0.39, 0.00); colors[clr.PopupBg] = ImVec4(0.05, 0.05, 0.10, 0.90); colors[clr.Border] = ImVec4(0.89, 0.85, 0.92, 0.30); colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00); colors[clr.FrameBg] = ImVec4(0.30, 0.20, 0.39, 1.00); colors[clr.FrameBgHovered] = ImVec4(0.41, 0.19, 0.63, 0.68); colors[clr.FrameBgActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.TitleBg] = ImVec4(0.41, 0.19, 0.63, 0.45); colors[clr.TitleBgCollapsed] = ImVec4(0.41, 0.19, 0.63, 0.35); colors[clr.TitleBgActive] = ImVec4(0.41, 0.19, 0.63, 0.78); colors[clr.MenuBarBg] = ImVec4(0.30, 0.20, 0.39, 0.57); colors[clr.ScrollbarBg] = ImVec4(0.30, 0.20, 0.39, 1.00); colors[clr.ScrollbarGrab] = ImVec4(0.41, 0.19, 0.63, 0.31); colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.19, 0.63, 0.78); colors[clr.ScrollbarGrabActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.ComboBg] = ImVec4(0.30, 0.20, 0.39, 1.00); colors[clr.CheckMark] = ImVec4(0.56, 0.61, 1.00, 1.00); colors[clr.SliderGrab] = ImVec4(0.41, 0.19, 0.63, 0.24); colors[clr.SliderGrabActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.Button] = ImVec4(0.41, 0.19, 0.63, 0.44); colors[clr.ButtonHovered] = ImVec4(0.41, 0.19, 0.63, 0.86); colors[clr.ButtonActive] = ImVec4(0.64, 0.33, 0.94, 1.00); colors[clr.Header] = ImVec4(0.41, 0.19, 0.63, 0.76); colors[clr.HeaderHovered] = ImVec4(0.41, 0.19, 0.63, 0.86); colors[clr.HeaderActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.ResizeGrip] = ImVec4(0.41, 0.19, 0.63, 0.20); colors[clr.ResizeGripHovered] = ImVec4(0.41, 0.19, 0.63, 0.78); colors[clr.ResizeGripActive] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.CloseButton] = ImVec4(1.00, 1.00, 1.00, 0.75); colors[clr.CloseButtonHovered] = ImVec4(0.88, 0.74, 1.00, 0.59); colors[clr.CloseButtonActive] = ImVec4(0.88, 0.85, 0.92, 1.00); colors[clr.PlotLines] = ImVec4(0.89, 0.85, 0.92, 0.63); colors[clr.PlotLinesHovered] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.PlotHistogram] = ImVec4(0.89, 0.85, 0.92, 0.63); colors[clr.PlotHistogramHovered] = ImVec4(0.41, 0.19, 0.63, 1.00); colors[clr.TextSelectedBg] = ImVec4(0.41, 0.19, 0.63, 0.43); colors[clr.ModalWindowDarkening] = ImVec4(0.20, 0.20, 0.20, 0.35); end --function saveData() -- inicfg.save({ -- settings = -- { -- theme = cfg.settings.theme -- }, -- }) --end
в чем ошибка? на англ языке все норм, русский - говно получается
не работаетЯ тебе написал выше
а не проще кодировку изменить и не писать u8?Перед текстом русским пиши u8
То-есть например ты написал
if imgui.Button('Коричневый стиль') then
а нужно
if imgui.Button(u8'Коричневый стиль') then