help, code samp lua

chuvakda

Участник
Автор темы
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
 
Решение
возможно ли как-то реализовать загрузку конфигов и туда 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...

ЛюбительГП

Участник
76
16
возможно ли как-то реализовать загрузку конфигов и туда 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
вот дефолтный пример загрузки конфига с таблицей(Заглушка), имя кфг меняй под свое названия конфига, дальше строй под себя

govnocod:
local inicfg = require('inicfg');
local IniName = 'Configmega.ini'; --имя кфгшки
local ini = inicfg.load({
    player = {
    name=ya
    age=15
    
    }
}, IniName);
inicfg.save(ini, IniName);
 

chuvakda

Участник
Автор темы
44
1
вот дефолтный пример загрузки конфига с таблицей(Заглушка), имя кфг меняй под свое названия конфига, дальше строй под себя

govnocod:
local inicfg = require('inicfg');
local IniName = 'Configmega.ini'; --имя кфгшки
local ini = inicfg.load({
    player = {
    name=ya
    age=15
   
    }
}, IniName);
inicfg.save(ini, IniName);
спасибо, сделал inicfg и все кайф.