Кнопка ImGUI

Slava Stetem

Участник
Автор темы
106
5
Версия MoonLoader
.027.0-preview
Всем привет хочу узнать как зделать чтобы в ImGUI кнопки закрывались. Например : я решил открыть кнопку "Основное" и там открываеться ещё больше кнопок. Теперь решил открыть кнопку "настройки" и сразу все кнопки которые были открыты с кнопки "Основное" закрылись
 

ImPasha

Software Developer & System Administrator
Друг
1,788
2,142
Lua:
-- в начало скрипта
local open_buttons = false

-- внутри ImGui Frame
if imgui.Button(open_buttons and 'Close' or 'Open') then
  open_buttons = not open_buttons
end

if open_buttons then
  imgui.Button('Hidden Button')
  -- кнопка будет показываться и скрываться
end
 

Slava Stetem

Участник
Автор темы
106
5
Lua:
-- в начало скрипта
local open_buttons = false

-- внутри ImGui Frame
if imgui.Button(open_buttons and 'Close' or 'Open') then
  open_buttons = not open_buttons
end

if open_buttons then
  imgui.Button('Hidden Button')
  -- кнопка будет показываться и скрываться
end
А можно чтобы автоматически закрывалось а то создает кнопку которая или блокирует и разблокирует
 

ImPasha

Software Developer & System Administrator
Друг
1,788
2,142
Lua:
-- в начало скрипта
local open_buttons = 0

-- внутри ImGui Frame
if imgui.Button(open_buttons == 1 and 'Main Close' or 'Main Open') then
  open_buttons = open_buttons == 1 and 0 or 1
end

if open_buttons == 1 then
  imgui.Button('Hidden Button')
  -- кнопка будет показываться и скрываться
end

if imgui.Button(open_buttons == 2 and 'Settings Close' or 'Settings Open') then
  open_buttons = open_buttons == 2 and 0 or 2
end

if open_buttons == 2 then
  imgui.Button('Hidden Button')
  -- кнопка будет показываться и скрываться
end
 

winten

Потрачен
409
184
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Lua:
require 'lib.moonloader'
local imgui = require 'imgui'

local main_window_state = imgui.ImBool(false)
local render_button = true

function imgui.OnDrawFrame()
    if main_window_state.v then
        imgui.Begin('Window', main_window_state)
        if render_button then
            if imgui.Button('button') then
                render_button = not render_button
                sampAddChatMessage('button pressed', -1)
            end
        end
        imgui.End()
    end
end

function main()
    while true do
        imgui.Process = main_window_state.v
        if testCheat('www') then
            main_window_state.v = not main_window_state.v
        end
        wait(0)
    end
end
 

Slava Stetem

Участник
Автор темы
106
5
Lua:
require 'lib.moonloader'
local imgui = require 'imgui'

local main_window_state = imgui.ImBool(false)
local render_button = true

function imgui.OnDrawFrame()
    if main_window_state.v then
        imgui.Begin('Window', main_window_state)
        if render_button then
            if imgui.Button('button') then
                render_button = not render_button
                sampAddChatMessage('button pressed', -1)
            end
        end
        imgui.End()
    end
end

function main()
    while true do
        imgui.Process = main_window_state.v
        if testCheat('www') then
            main_window_state.v = not main_window_state.v
        end
        wait(0)
    end
end
Не работает
 

Itachi Uchiha

Участник
124
21
Всем привет хочу узнать как зделать чтобы в ImGUI кнопки закрывались. Например : я решил открыть кнопку "Основное" и там открываеться ещё больше кнопок. Теперь решил открыть кнопку "настройки" и сразу все кнопки которые были открыты с кнопки "Основное" закрылись
Может быть это ты имел ввиду?

Lua:
 --В onDrawFrame
 if imgui.CollapsingHeader(u8"Основное") then
     imgui.Button(u8'Функция 1')
    imgui.Button(u8'Функция 2')
    imgui.Button(u8'Функция 3')
 end
 if imgui.CollapsingHeader(u8"Настройки") then
     imgui.Button(u8'Настройка 1')
    imgui.Button(u8'Настройка 2')
    imgui.Button(u8'Настройка 3')
 end
 

Slava Stetem

Участник
Автор темы
106
5
Может быть это ты имел ввиду?

Lua:
 --В onDrawFrame
if imgui.CollapsingHeader(u8"Основное") then
     imgui.Button(u8'Функция 1')
    imgui.Button(u8'Функция 2')
    imgui.Button(u8'Функция 3')
end
if imgui.CollapsingHeader(u8"Настройки") then
     imgui.Button(u8'Настройка 1')
    imgui.Button(u8'Настройка 2')
    imgui.Button(u8'Настройка 3')
end
Нет не так у меня просто кнопка открывает другую кнопку