- 44
- 1
- Версия MoonLoader
- .025-beta
возможно ли как-то реализовать загрузку конфигов и туда apply_styles запихнуть? (mimgui если что)
1:
-- Настройки стиля по умолчанию
local defaultStyle = {
WindowBg = { 0.12, 0.12, 0.2, 1.0 },
Button = { 0.2, 0.3, 0.6, 1.0 },
ButtonHovered = { 0.3, 0.4, 0.7, 1.0 },
ButtonActive = { 0.15, 0.25, 0.5, 1.0 },
TitleBg = { 0.1, 0.1, 0.3, 1.0 },
TitleBgActive = { 0.2, 0.3, 0.5, 1.0 }
}
local styleConfig = {}
local imguiColors = {}
-- Инициализация цветов
local function initialize_colors()
for key, color in pairs(defaultStyle) do
styleConfig[key] = { table.unpack(color) }
imguiColors[key] = imgui.new.float[4](table.unpack(color))
end
end
initialize_colors()
-- Применение стиля
local function apply_style()
for key, color in pairs(imguiColors) do
if imgui.Col[key] then
colors[imgui.Col[key]] = imgui.ImVec4(color[0], color[1], color[2], color[3])
end
end
end
-- Чтение конфигурации из файла
local function read_config()
local file = io.open(configPath, "r")
if not file then return nil end
local content = file:read("*a")
file:close()
return json.decode(content)
end
-- Загрузка конфигурации
local function load_config()
local config = read_config()
if config then
for key, color in pairs(config) do
if imguiColors[key] and #color == 4 then
for i = 1, 4 do
imguiColors[key][i - 1] = color[i]
styleConfig[key][i] = color[i]
end
end
end
apply_style()
sampAddChatMessage("[Sk1zer Tools] Настройки загружены и применены.", 0x00DD00)
else
sampAddChatMessage("[Sk1zer Tools] Конфигурация не найдена. Создаем стандартную.", 0xFFFF00)
save_config()
end
end