Помогите пожалуйста с lua - imgui - combo

Den4ik2442

Новичок
Автор темы
8
1
Версия MoonLoader
.026-beta
Помогите пожалуйста с combo я хочу сделать так что бы надо было включить сначала Imgui.Checkbox после того как поставили галочку уже вылазит combo
Код:
script_name('Helper ARZ') -- Название Скрипта
script_author('Den4ik2442') -- Автор
script_version(0.1) -- Версия скрипта

require "lib.moonloader" -- Подключаем библиотеку Moonloader
local imgui = require 'imgui' -- Подключаем Imgui
local encoding = require 'encoding' -- Подключаем кодировку
local inicfg = require 'inicfg' -- Подключаем работу с конфигом
encoding.default = 'CP1251' -- Стандартная кодировка
u8 = encoding.UTF8 -- Кодировка для UTF8

local mainIni = inicfg.load({
config =
{
auto_rp = false
}
}, "ARZ Helper by Den4ik2442")

local auto_rp = imgui.ImBool(mainIni.config.auto_rp)
local rp_1 = imgui.ImInt(0)

local status = inicfg.load(mainIni, 'ARZ Helper (Den4ik2442).ini')
if not doesFileExist('moonloader/config/ARZ Helper (Den4ik2442).ini') then inicfg.save(mainIni, 'ARZ Helper (Den4ik2442).ini') end

--Стиль
function theme()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    local ImVec2 = imgui.ImVec2

    style.WindowPadding = imgui.ImVec2(8, 8)
    style.WindowRounding = 6
    style.ChildWindowRounding = 5
    style.FramePadding = imgui.ImVec2(5, 3)
    style.FrameRounding = 5.0
    style.ItemSpacing = imgui.ImVec2(5, 4)
    style.ItemInnerSpacing = imgui.ImVec2(4, 4)
    style.IndentSpacing = 21
    style.ScrollbarSize = 10.0
    style.ScrollbarRounding = 13
    style.GrabMinSize = 8
    style.GrabRounding = 1
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
    style.ButtonTextAlign = imgui.ImVec2(0.5, 0.5)

    colors[clr.Text]                   = ImVec4(0.95, 0.96, 0.98, 1.00);
    colors[clr.TextDisabled]           = ImVec4(0.29, 0.29, 0.29, 1.00);
    colors[clr.WindowBg]               = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.ChildWindowBg]          = ImVec4(0.12, 0.12, 0.12, 1.00);
    colors[clr.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94);
    colors[clr.Border]                 = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.BorderShadow]           = ImVec4(1.00, 1.00, 1.00, 0.10);
    colors[clr.FrameBg]                = ImVec4(0.22, 0.22, 0.22, 1.00);
    colors[clr.FrameBgHovered]         = ImVec4(0.18, 0.18, 0.18, 1.00);
    colors[clr.FrameBgActive]          = ImVec4(0.09, 0.12, 0.14, 1.00);
    colors[clr.TitleBg]                = ImVec4(0.14, 0.14, 0.14, 0.81);
    colors[clr.TitleBgActive]          = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 0.51);
    colors[clr.MenuBarBg]              = ImVec4(0.20, 0.20, 0.20, 1.00);
    colors[clr.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.39);
    colors[clr.ScrollbarGrab]          = ImVec4(0.36, 0.36, 0.36, 1.00);
    colors[clr.ScrollbarGrabHovered]   = ImVec4(0.18, 0.22, 0.25, 1.00);
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.ComboBg]                = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.CheckMark]              = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrab]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrabActive]       = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.Button]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ButtonHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ButtonActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.Header]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.HeaderHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.HeaderActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.ResizeGrip]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ResizeGripHovered]      = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ResizeGripActive]       = ImVec4(1.00, 0.19, 0.19, 1.00);
    colors[clr.CloseButton]            = ImVec4(0.40, 0.39, 0.38, 0.16);
    colors[clr.CloseButtonHovered]     = ImVec4(0.40, 0.39, 0.38, 0.39);
    colors[clr.CloseButtonActive]      = ImVec4(0.40, 0.39, 0.38, 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(1.00, 0.21, 0.21, 1.00);
    colors[clr.PlotHistogramHovered]   = ImVec4(1.00, 0.18, 0.18, 1.00);
    colors[clr.TextSelectedBg]         = ImVec4(1.00, 0.32, 0.32, 1.00);
    colors[clr.ModalWindowDarkening]   = ImVec4(0.26, 0.26, 0.26, 0.60);
end
theme()
--стиль

local main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
    if not main_window_state.v then -- Проверка, если main_window_state не используется
        imgui.Process = false -- Отключаем процесс
    end
    
    if not window_pos then
        ScreenX, ScreenY = getScreenResolution()ScreenX, ScreenY = getScreenResolution() -- Получаем разрешение экрана
        imgui.SetNextWindowPos(imgui.ImVec2(ScreenX / 2 , ScreenY / 2), imgui.Cond.FirsUseEver, imgui.ImVec2(0.5, 0.5)) -- Установка позиции по центру экрана
    end
    
    if main_window_state.v then -- Проверка, если main_window_state используется
        imgui.SetNextWindowSize(imgui.ImVec2(900, 500), imgui.Cond.FirstUseEver) -- Установка разрешения
        imgui.Begin('Arizona RP - Helper by Den4ik2442', main_window_state, imgui.WindowFlags.NoResize) -- Начало ImGUI
            imgui.BeginChild('1', imgui.ImVec2(150, 469))
                if imgui.Button('Основные настройки', imgui.ImVec2(150,29)) then show_menu = 0 end -- кнопка
            imgui.EndChild()
            imgui.SameLine()
            imgui.BeginChild('#settings', imgui.ImVec2(732, 466), true)
                if show_menu == 0 then
                    if imgui.Checkbox(u8'Автоматическая отыгровка рп', auto_rp) then
                        if imgui.Combo("1", rp_1, u8"Стандартная\0Ввести самому\0\0") then
                            if rp_1.v == 0 then
                            sampAddChatMessage("123", -1)
                            end
                            else if rp_1.v == 1 then
                            sampAddChatMessage("1234", -1)
                            end
                        end
                    end     
                end
            imgui.EndChild()
        imgui.End()
    end
end

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    
    while not isSampAvailable() do
        wait(0)
    end
    sampAddChatMessage("{00FF00}[Helper Arz by Den4ik2442] {ff0000}Loaded!",-1)
    sampRegisterChatCommand('123', cmd_active_helper) -- Ригстрация команды /arzpiar в чат
    while true do -- Бесконечный цикл
        wait(0)
    end       
end

function cmd_active_helper(arg) -- Начало функции
    main_window_state.v = not main_window_state.v -- Открываем окно main_window_state
    imgui.Process = main_window_state.v -- Активируем процесс
end -- Конец функции
у меня проблема в том что combo вылазит и резко пропадает
 
Решение
code:
script_name('Helper ARZ') -- Название Скрипта
script_author('Den4ik2442') -- Автор
script_version(0.1) -- Версия скрипта

require "lib.moonloader" -- Подключаем библиотеку Moonloader
local imgui = require 'imgui' -- Подключаем Imgui
local encoding = require 'encoding' -- Подключаем кодировку
local inicfg = require 'inicfg' -- Подключаем работу с конфигом
encoding.default = 'CP1251' -- Стандартная кодировка
u8 = encoding.UTF8 -- Кодировка для UTF8

local mainIni = inicfg.load({
config =
{
auto_rp = false
}
}, "ARZ Helper by Den4ik2442")

local auto_rp = imgui.ImBool(mainIni.config.auto_rp)
local...

darkjer

Активный
134
68
code:
script_name('Helper ARZ') -- Название Скрипта
script_author('Den4ik2442') -- Автор
script_version(0.1) -- Версия скрипта

require "lib.moonloader" -- Подключаем библиотеку Moonloader
local imgui = require 'imgui' -- Подключаем Imgui
local encoding = require 'encoding' -- Подключаем кодировку
local inicfg = require 'inicfg' -- Подключаем работу с конфигом
encoding.default = 'CP1251' -- Стандартная кодировка
u8 = encoding.UTF8 -- Кодировка для UTF8

local mainIni = inicfg.load({
config =
{
auto_rp = false
}
}, "ARZ Helper by Den4ik2442")

local auto_rp = imgui.ImBool(mainIni.config.auto_rp)
local rp_1 = imgui.ImInt(0)

local status = inicfg.load(mainIni, 'ARZ Helper (Den4ik2442).ini')
if not doesFileExist('moonloader/config/ARZ Helper (Den4ik2442).ini') then inicfg.save(mainIni, 'ARZ Helper (Den4ik2442).ini') end

--Стиль
function theme()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    local ImVec2 = imgui.ImVec2

    style.WindowPadding = imgui.ImVec2(8, 8)
    style.WindowRounding = 6
    style.ChildWindowRounding = 5
    style.FramePadding = imgui.ImVec2(5, 3)
    style.FrameRounding = 5.0
    style.ItemSpacing = imgui.ImVec2(5, 4)
    style.ItemInnerSpacing = imgui.ImVec2(4, 4)
    style.IndentSpacing = 21
    style.ScrollbarSize = 10.0
    style.ScrollbarRounding = 13
    style.GrabMinSize = 8
    style.GrabRounding = 1
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
    style.ButtonTextAlign = imgui.ImVec2(0.5, 0.5)

    colors[clr.Text]                   = ImVec4(0.95, 0.96, 0.98, 1.00);
    colors[clr.TextDisabled]           = ImVec4(0.29, 0.29, 0.29, 1.00);
    colors[clr.WindowBg]               = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.ChildWindowBg]          = ImVec4(0.12, 0.12, 0.12, 1.00);
    colors[clr.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94);
    colors[clr.Border]                 = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.BorderShadow]           = ImVec4(1.00, 1.00, 1.00, 0.10);
    colors[clr.FrameBg]                = ImVec4(0.22, 0.22, 0.22, 1.00);
    colors[clr.FrameBgHovered]         = ImVec4(0.18, 0.18, 0.18, 1.00);
    colors[clr.FrameBgActive]          = ImVec4(0.09, 0.12, 0.14, 1.00);
    colors[clr.TitleBg]                = ImVec4(0.14, 0.14, 0.14, 0.81);
    colors[clr.TitleBgActive]          = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 0.51);
    colors[clr.MenuBarBg]              = ImVec4(0.20, 0.20, 0.20, 1.00);
    colors[clr.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.39);
    colors[clr.ScrollbarGrab]          = ImVec4(0.36, 0.36, 0.36, 1.00);
    colors[clr.ScrollbarGrabHovered]   = ImVec4(0.18, 0.22, 0.25, 1.00);
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.ComboBg]                = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.CheckMark]              = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrab]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrabActive]       = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.Button]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ButtonHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ButtonActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.Header]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.HeaderHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.HeaderActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.ResizeGrip]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ResizeGripHovered]      = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ResizeGripActive]       = ImVec4(1.00, 0.19, 0.19, 1.00);
    colors[clr.CloseButton]            = ImVec4(0.40, 0.39, 0.38, 0.16);
    colors[clr.CloseButtonHovered]     = ImVec4(0.40, 0.39, 0.38, 0.39);
    colors[clr.CloseButtonActive]      = ImVec4(0.40, 0.39, 0.38, 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(1.00, 0.21, 0.21, 1.00);
    colors[clr.PlotHistogramHovered]   = ImVec4(1.00, 0.18, 0.18, 1.00);
    colors[clr.TextSelectedBg]         = ImVec4(1.00, 0.32, 0.32, 1.00);
    colors[clr.ModalWindowDarkening]   = ImVec4(0.26, 0.26, 0.26, 0.60);
end
theme()
--стиль

local main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
    if not main_window_state.v then -- Проверка, если main_window_state не используется
        imgui.Process = false -- Отключаем процесс
    end
    
    if not window_pos then
        ScreenX, ScreenY = getScreenResolution()ScreenX, ScreenY = getScreenResolution() -- Получаем разрешение экрана
        imgui.SetNextWindowPos(imgui.ImVec2(ScreenX / 2 , ScreenY / 2), imgui.Cond.FirsUseEver, imgui.ImVec2(0.5, 0.5)) -- Установка позиции по центру экрана
    end
    
    if main_window_state.v then -- Проверка, если main_window_state используется
        imgui.SetNextWindowSize(imgui.ImVec2(900, 500), imgui.Cond.FirstUseEver) -- Установка разрешения
        imgui.Begin('Arizona RP - Helper by Den4ik2442', main_window_state, imgui.WindowFlags.NoResize) -- Начало ImGUI
            imgui.BeginChild('1', imgui.ImVec2(150, 469))
                if imgui.Button('Основные настройки', imgui.ImVec2(150,29)) then show_menu = 0 end -- кнопка
            imgui.EndChild()
            imgui.SameLine()
            imgui.BeginChild('#settings', imgui.ImVec2(732, 466), true)
                if show_menu == 0 then
                    imgui.Checkbox(u8'Автоматическая отыгровка рп', auto_rp)
                    if auto_rp.v then
                        if imgui.Combo("1", rp_1, u8"Стандартная\0Ввести самому\0\0") then
                            if rp_1.v == 0 then
                            sampAddChatMessage("123", -1)
                            end
                            else if rp_1.v == 1 then
                            sampAddChatMessage("1234", -1)
                            end
                        end
                    end
                end
            imgui.EndChild()
        imgui.End()
    end
end

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    
    while not isSampAvailable() do
        wait(0)
    end
    sampAddChatMessage("{00FF00}[Helper Arz by Den4ik2442] {ff0000}Loaded!",-1)
    sampRegisterChatCommand('123', cmd_active_helper) -- Ригстрация команды /arzpiar в чат
    while true do -- Бесконечный цикл
        wait(0)
    end       
end

function cmd_active_helper(arg) -- Начало функции
    main_window_state.v = not main_window_state.v -- Открываем окно main_window_state
    imgui.Process = main_window_state.v -- Активируем процесс
end -- Конец функции
 

Den4ik2442

Новичок
Автор темы
8
1
Можешь пожалуйста сказать в чем была ошибка?
code:
script_name('Helper ARZ') -- Название Скрипта
script_author('Den4ik2442') -- Автор
script_version(0.1) -- Версия скрипта

require "lib.moonloader" -- Подключаем библиотеку Moonloader
local imgui = require 'imgui' -- Подключаем Imgui
local encoding = require 'encoding' -- Подключаем кодировку
local inicfg = require 'inicfg' -- Подключаем работу с конфигом
encoding.default = 'CP1251' -- Стандартная кодировка
u8 = encoding.UTF8 -- Кодировка для UTF8

local mainIni = inicfg.load({
config =
{
auto_rp = false
}
}, "ARZ Helper by Den4ik2442")

local auto_rp = imgui.ImBool(mainIni.config.auto_rp)
local rp_1 = imgui.ImInt(0)

local status = inicfg.load(mainIni, 'ARZ Helper (Den4ik2442).ini')
if not doesFileExist('moonloader/config/ARZ Helper (Den4ik2442).ini') then inicfg.save(mainIni, 'ARZ Helper (Den4ik2442).ini') end

--Стиль
function theme()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    local ImVec2 = imgui.ImVec2

    style.WindowPadding = imgui.ImVec2(8, 8)
    style.WindowRounding = 6
    style.ChildWindowRounding = 5
    style.FramePadding = imgui.ImVec2(5, 3)
    style.FrameRounding = 5.0
    style.ItemSpacing = imgui.ImVec2(5, 4)
    style.ItemInnerSpacing = imgui.ImVec2(4, 4)
    style.IndentSpacing = 21
    style.ScrollbarSize = 10.0
    style.ScrollbarRounding = 13
    style.GrabMinSize = 8
    style.GrabRounding = 1
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
    style.ButtonTextAlign = imgui.ImVec2(0.5, 0.5)

    colors[clr.Text]                   = ImVec4(0.95, 0.96, 0.98, 1.00);
    colors[clr.TextDisabled]           = ImVec4(0.29, 0.29, 0.29, 1.00);
    colors[clr.WindowBg]               = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.ChildWindowBg]          = ImVec4(0.12, 0.12, 0.12, 1.00);
    colors[clr.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94);
    colors[clr.Border]                 = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.BorderShadow]           = ImVec4(1.00, 1.00, 1.00, 0.10);
    colors[clr.FrameBg]                = ImVec4(0.22, 0.22, 0.22, 1.00);
    colors[clr.FrameBgHovered]         = ImVec4(0.18, 0.18, 0.18, 1.00);
    colors[clr.FrameBgActive]          = ImVec4(0.09, 0.12, 0.14, 1.00);
    colors[clr.TitleBg]                = ImVec4(0.14, 0.14, 0.14, 0.81);
    colors[clr.TitleBgActive]          = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 0.51);
    colors[clr.MenuBarBg]              = ImVec4(0.20, 0.20, 0.20, 1.00);
    colors[clr.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.39);
    colors[clr.ScrollbarGrab]          = ImVec4(0.36, 0.36, 0.36, 1.00);
    colors[clr.ScrollbarGrabHovered]   = ImVec4(0.18, 0.22, 0.25, 1.00);
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.ComboBg]                = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.CheckMark]              = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrab]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrabActive]       = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.Button]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ButtonHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ButtonActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.Header]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.HeaderHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.HeaderActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.ResizeGrip]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ResizeGripHovered]      = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ResizeGripActive]       = ImVec4(1.00, 0.19, 0.19, 1.00);
    colors[clr.CloseButton]            = ImVec4(0.40, 0.39, 0.38, 0.16);
    colors[clr.CloseButtonHovered]     = ImVec4(0.40, 0.39, 0.38, 0.39);
    colors[clr.CloseButtonActive]      = ImVec4(0.40, 0.39, 0.38, 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(1.00, 0.21, 0.21, 1.00);
    colors[clr.PlotHistogramHovered]   = ImVec4(1.00, 0.18, 0.18, 1.00);
    colors[clr.TextSelectedBg]         = ImVec4(1.00, 0.32, 0.32, 1.00);
    colors[clr.ModalWindowDarkening]   = ImVec4(0.26, 0.26, 0.26, 0.60);
end
theme()
--стиль

local main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
    if not main_window_state.v then -- Проверка, если main_window_state не используется
        imgui.Process = false -- Отключаем процесс
    end
  
    if not window_pos then
        ScreenX, ScreenY = getScreenResolution()ScreenX, ScreenY = getScreenResolution() -- Получаем разрешение экрана
        imgui.SetNextWindowPos(imgui.ImVec2(ScreenX / 2 , ScreenY / 2), imgui.Cond.FirsUseEver, imgui.ImVec2(0.5, 0.5)) -- Установка позиции по центру экрана
    end
  
    if main_window_state.v then -- Проверка, если main_window_state используется
        imgui.SetNextWindowSize(imgui.ImVec2(900, 500), imgui.Cond.FirstUseEver) -- Установка разрешения
        imgui.Begin('Arizona RP - Helper by Den4ik2442', main_window_state, imgui.WindowFlags.NoResize) -- Начало ImGUI
            imgui.BeginChild('1', imgui.ImVec2(150, 469))
                if imgui.Button('Основные настройки', imgui.ImVec2(150,29)) then show_menu = 0 end -- кнопка
            imgui.EndChild()
            imgui.SameLine()
            imgui.BeginChild('#settings', imgui.ImVec2(732, 466), true)
                if show_menu == 0 then
                    imgui.Checkbox(u8'Автоматическая отыгровка рп', auto_rp)
                    if auto_rp.v then
                        if imgui.Combo("1", rp_1, u8"Стандартная\0Ввести самому\0\0") then
                            if rp_1.v == 0 then
                            sampAddChatMessage("123", -1)
                            end
                            else if rp_1.v == 1 then
                            sampAddChatMessage("1234", -1)
                            end
                        end
                    end
                end
            imgui.EndChild()
        imgui.End()
    end
end

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
  
    while not isSampAvailable() do
        wait(0)
    end
    sampAddChatMessage("{00FF00}[Helper Arz by Den4ik2442] {ff0000}Loaded!",-1)
    sampRegisterChatCommand('123', cmd_active_helper) -- Ригстрация команды /arzpiar в чат
    while true do -- Бесконечный цикл
        wait(0)
    end     
end

function cmd_active_helper(arg) -- Начало функции
    main_window_state.v = not main_window_state.v -- Открываем окно main_window_state
    imgui.Process = main_window_state.v -- Активируем процесс
end -- Конец функции
Теперь флудит 1234(

code:
script_name('Helper ARZ') -- Название Скрипта
script_author('Den4ik2442') -- Автор
script_version(0.1) -- Версия скрипта

require "lib.moonloader" -- Подключаем библиотеку Moonloader
local imgui = require 'imgui' -- Подключаем Imgui
local encoding = require 'encoding' -- Подключаем кодировку
local inicfg = require 'inicfg' -- Подключаем работу с конфигом
encoding.default = 'CP1251' -- Стандартная кодировка
u8 = encoding.UTF8 -- Кодировка для UTF8

local mainIni = inicfg.load({
config =
{
auto_rp = false
}
}, "ARZ Helper by Den4ik2442")

local auto_rp = imgui.ImBool(mainIni.config.auto_rp)
local rp_1 = imgui.ImInt(0)

local status = inicfg.load(mainIni, 'ARZ Helper (Den4ik2442).ini')
if not doesFileExist('moonloader/config/ARZ Helper (Den4ik2442).ini') then inicfg.save(mainIni, 'ARZ Helper (Den4ik2442).ini') end

--Стиль
function theme()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    local ImVec2 = imgui.ImVec2

    style.WindowPadding = imgui.ImVec2(8, 8)
    style.WindowRounding = 6
    style.ChildWindowRounding = 5
    style.FramePadding = imgui.ImVec2(5, 3)
    style.FrameRounding = 5.0
    style.ItemSpacing = imgui.ImVec2(5, 4)
    style.ItemInnerSpacing = imgui.ImVec2(4, 4)
    style.IndentSpacing = 21
    style.ScrollbarSize = 10.0
    style.ScrollbarRounding = 13
    style.GrabMinSize = 8
    style.GrabRounding = 1
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
    style.ButtonTextAlign = imgui.ImVec2(0.5, 0.5)

    colors[clr.Text]                   = ImVec4(0.95, 0.96, 0.98, 1.00);
    colors[clr.TextDisabled]           = ImVec4(0.29, 0.29, 0.29, 1.00);
    colors[clr.WindowBg]               = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.ChildWindowBg]          = ImVec4(0.12, 0.12, 0.12, 1.00);
    colors[clr.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94);
    colors[clr.Border]                 = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.BorderShadow]           = ImVec4(1.00, 1.00, 1.00, 0.10);
    colors[clr.FrameBg]                = ImVec4(0.22, 0.22, 0.22, 1.00);
    colors[clr.FrameBgHovered]         = ImVec4(0.18, 0.18, 0.18, 1.00);
    colors[clr.FrameBgActive]          = ImVec4(0.09, 0.12, 0.14, 1.00);
    colors[clr.TitleBg]                = ImVec4(0.14, 0.14, 0.14, 0.81);
    colors[clr.TitleBgActive]          = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 0.51);
    colors[clr.MenuBarBg]              = ImVec4(0.20, 0.20, 0.20, 1.00);
    colors[clr.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.39);
    colors[clr.ScrollbarGrab]          = ImVec4(0.36, 0.36, 0.36, 1.00);
    colors[clr.ScrollbarGrabHovered]   = ImVec4(0.18, 0.22, 0.25, 1.00);
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.ComboBg]                = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.CheckMark]              = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrab]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrabActive]       = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.Button]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ButtonHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ButtonActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.Header]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.HeaderHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.HeaderActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.ResizeGrip]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ResizeGripHovered]      = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ResizeGripActive]       = ImVec4(1.00, 0.19, 0.19, 1.00);
    colors[clr.CloseButton]            = ImVec4(0.40, 0.39, 0.38, 0.16);
    colors[clr.CloseButtonHovered]     = ImVec4(0.40, 0.39, 0.38, 0.39);
    colors[clr.CloseButtonActive]      = ImVec4(0.40, 0.39, 0.38, 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(1.00, 0.21, 0.21, 1.00);
    colors[clr.PlotHistogramHovered]   = ImVec4(1.00, 0.18, 0.18, 1.00);
    colors[clr.TextSelectedBg]         = ImVec4(1.00, 0.32, 0.32, 1.00);
    colors[clr.ModalWindowDarkening]   = ImVec4(0.26, 0.26, 0.26, 0.60);
end
theme()
--стиль

local main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
    if not main_window_state.v then -- Проверка, если main_window_state не используется
        imgui.Process = false -- Отключаем процесс
    end
   
    if not window_pos then
        ScreenX, ScreenY = getScreenResolution()ScreenX, ScreenY = getScreenResolution() -- Получаем разрешение экрана
        imgui.SetNextWindowPos(imgui.ImVec2(ScreenX / 2 , ScreenY / 2), imgui.Cond.FirsUseEver, imgui.ImVec2(0.5, 0.5)) -- Установка позиции по центру экрана
    end
   
    if main_window_state.v then -- Проверка, если main_window_state используется
        imgui.SetNextWindowSize(imgui.ImVec2(900, 500), imgui.Cond.FirstUseEver) -- Установка разрешения
        imgui.Begin('Arizona RP - Helper by Den4ik2442', main_window_state, imgui.WindowFlags.NoResize) -- Начало ImGUI
            imgui.BeginChild('1', imgui.ImVec2(150, 469))
                if imgui.Button('Основные настройки', imgui.ImVec2(150,29)) then show_menu = 0 end -- кнопка
            imgui.EndChild()
            imgui.SameLine()
            imgui.BeginChild('#settings', imgui.ImVec2(732, 466), true)
                if show_menu == 0 then
                    imgui.Checkbox(u8'Автоматическая отыгровка рп', auto_rp)
                    if auto_rp.v then
                        if imgui.Combo("1", rp_1, u8"Стандартная\0Ввести самому\0\0") then
                            if rp_1.v == 0 then
                            sampAddChatMessage("123", -1)
                            end
                            else if rp_1.v == 1 then
                            sampAddChatMessage("1234", -1)
                            end
                        end
                    end
                end
            imgui.EndChild()
        imgui.End()
    end
end

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
   
    while not isSampAvailable() do
        wait(0)
    end
    sampAddChatMessage("{00FF00}[Helper Arz by Den4ik2442] {ff0000}Loaded!",-1)
    sampRegisterChatCommand('123', cmd_active_helper) -- Ригстрация команды /arzpiar в чат
    while true do -- Бесконечный цикл
        wait(0)
    end      
end

function cmd_active_helper(arg) -- Начало функции
    main_window_state.v = not main_window_state.v -- Открываем окно main_window_state
    imgui.Process = main_window_state.v -- Активируем процесс
end -- Конец функции
 
Последнее редактирование: