помощь с мимгуи

godnameless

Участник
Автор темы
40
9
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R2
  3. 0.3.7-R3
  4. 0.3.7-R4
первый раз в жизни решил написать чета на мимгуи, сделал такую менюшку а кнопка закрытия сьебалась. как ее вернуть, чтобы при этом окно можно было изменять ползунком справа снизу
Screenshot_2023-11-13-10-12-00-086_com.arizonafun.game.png

Lua:
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local WinState = imgui.new.bool()

local tab = 1 -- в этой переменной будет хранится номер открытой вкладки

imgui.OnFrame(function() return WinState[0] end, function(player)
    imgui.Begin(u8'Пример')
    for numberTab,nameTab in pairs({'Основное','Настройки','Инфа'}) do -- создаём и парсим таблицу с названиями будущих вкладок
        if imgui.Button(u8(nameTab), imgui.ImVec2(150,80)) then -- 2ым аргументом настраивается размер кнопок (подробнее в гайде по мимгуи)
            tab = numberTab -- меняем значение переменной tab на номер нажатой кнопки
        end
    end
    imgui.SetCursorPos(imgui.ImVec2(165, 47)) -- [Для декора] Устанавливаем позицию для чайлда ниже
    if imgui.BeginChild('Name##'..tab, imgui.ImVec2(300, 250), true) then -- [Для декора] Создаём чайлд в который поместим содержимое
        -- == [Основное] Содержимое вкладок == --
        if tab == 1 then -- если значение tab == 1
            -- == Содержимое вкладки №1
            imgui.Text(u8'Открыта первая вкладка "Основное"')
            if imgui.Button(u8'Кнопка') then
                sampAddChatMessage('Вы нажали кнопку во вкладке номер '..tab, -1)
            end
        elseif tab == 2 then -- если значение tab == 2
            -- == Содержимое вкладки №2
            imgui.Text(u8'Открыта первая вкладка "Настройки"')
            if imgui.Button(u8'Кнопка') then
                sampAddChatMessage('Вы нажали кнопку во вкладке номер '..tab, -1)
            end
        elseif tab == 3 then -- если значение tab == 3
            -- == Содержимое вкладки №3
            imgui.Text(u8'Открыта первая вкладка "Инфа"')
            if imgui.Button(u8'Кнопка') then
                sampAddChatMessage('Вы нажали кнопку во вкладке номер '..tab, -1)
            end
        end
        -- == [Основное] Содержимое вкладок закончилось == --
        imgui.EndChild()
    end
    imgui.End()
end)

function main()
    sampRegisterChatCommand('test', function(test) WinState[0] = not WinState[0] end)
    wait(-1)
end