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.SetNextWindowPos(imgui.ImVec2(500, 500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(500, 300), imgui.Cond.Always)
imgui.Begin(u8'Пример', WinState, imgui.WindowFlags.NoResize)
for numberTab,nameTab in pairs({'Основное','Настройки','Инфа'}) do -- создаём и парсим таблицу с названиями будущих вкладок
imgui.SameLine()
if imgui.Button(u8(nameTab), imgui.ImVec2(80,24)) then -- 2ым аргументом настраивается размер кнопок (подробнее в гайде по мимгуи)
tab = numberTab -- меняем значение переменной tab на номер нажатой кнопки
end
end
if imgui.BeginChild('Name##'..tab, imgui.ImVec2(500, 250), true) then -- [Для декора] Создаём чайлд в который поместим содержимое
-- == [Основное] Содержимое вкладок == --
if tab == 1 then -- если значение tab == 1
if imgui.CollapsingHeader("test") then
imgui.Text(u8'Открыта первая вкладка "Основное"')
if imgui.Button(u8'Кнопка') then
sampAddChatMessage('Вы нажали кнопку во вкладке номер '..tab, -1)
end
end
if imgui.CollapsingHeader("test2") then
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('cmd', function() WinState[0] = not WinState[0] end)
wait(-1)
end