--Где-то в коде над onDrawFrame:
local CurrentMenuItem = -1
--onDrawFrame
if imgui.Button("Выбрать сервер") then
CurrentMenuItem = (CurrentMenuItem == 1) and -1 or 1
end
if imgui.Button("Второе меню") then
CurrentMenuItem = (CurrentMenuItem == 2) and -1 or 2
end
if imgui.Button("Информация") then
CurrentMenuItem = (CurrentMenuItem == 3) and -1 or 3
end
if CurrentMenuItem == 1 then
imgui.Text("Выбор сервера")
elseif CurrentMenuItem == 2 then
imgui.Text("Какое-то меню")
elseif CurrentMenuItem == 3 then
imgui.Text("Информация тут какая-нибудь")
end
if imgui.Button then imgui.ColumnsСтрадаю этой фигнёй второй день,поэтому многое не знаю :)
Каким образом сделать так,чтобы по нажатию на imgui.Button справа от него отрисовывался imgui.Columns
click - картинка
скрипт крашится блинif imgui.Button then imgui.Columns
кодь скинь который у тебя, который крашится
function cmd_price(arg)
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
end
function imgui.OnDrawFrame()
if main_window_state.v then
imgui.SetNextWindowSize(imgui.ImVec2(550, 330), imgui.Cond.FirstUseEver)
imgui.Begin('....', main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoMove)
imgui.Separator()
if imgui.Button(u8'Выбрать сервер',imgui.ImVec2(180,70)) then
end
if imgui.Button(u8'Настройки',imgui.ImVec2(180,70)) then
end
if imgui.Button(u8'Информация',imgui.ImVec2(180,70)) then
end
if imgui.Button(u8'Перезагрузить скрипт',imgui.ImVec2(180,70)) then
end
imgui.End()
end
end
Страдаю этой фигнёй второй день,поэтому многое не знаю :)
Каким образом сделать так,чтобы по нажатию на imgui.Button справа от него отрисовывался imgui.Columns
click - картинка
скрипт крашится блин
if imgui.Button('Показать таблицу') then
imgui.Columns(2 --[[ Количество столбцов --]])
imgui.Text('Первый столбец')
imgui.NextColumn() -- Переходим к следующему столбцу
imgui.Text('Второй столбец')
imgui.Columns(1)
end
Всеравно чет не то)Lua:if imgui.Button('Показать таблицу') then imgui.Columns(2 --[[ Количество столбцов --]]) imgui.Text('Первый столбец') imgui.NextColumn() -- Переходим к следующему столбцу imgui.Text('Второй столбец') imgui.Columns(1) end
function cmd_price(arg)
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
end
function imgui.OnDrawFrame()
if main_window_state.v then
imgui.SetNextWindowSize(imgui.ImVec2(550, 318), imgui.Cond.FirstUseEver)
imgui.Begin('ARZ helper', main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoMove)
imgui.Separator()
if imgui.Button(u8'Выбрать сервер',imgui.ImVec2(180,67)) then
imgui.Columns(1 --[[ Количество столбцов --]])
imgui.Text('Первый столбец')
imgui.NextColumn() -- Переходим к следующему столбцу
imgui.Text('Второй столбец')
imgui.Columns(1)
end
if imgui.Button(u8'Настройки',imgui.ImVec2(180,67)) then
end
if imgui.Button(u8'Информация',imgui.ImVec2(180,67)) then
end
if imgui.Button(u8'Перезагрузить скрипт',imgui.ImVec2(180,67)) then
end
imgui.End()
end
end
Всеравно чет не то)
-- В начале кода:
local show_table = false -- Значение отображения таблицы по-умолчанию (true - показана | false - не показана)
-- В коде окна ImGui:
if imgui.Button((show_table and 'Скрыть' or 'Показать') .. ' таблицу') then
show_talbe = not show_table
end
if show_table then
imgui.Columns(2 --[[ Количество столбцов --]])
imgui.Text('Первый столбец')
imgui.NextColumn() -- Переходим к следующему столбцу
imgui.Text('Второй столбец')
imgui.Columns(1)
end
Да ты не так меня понял,мне нужно,чтобы по нажатию на imgui.Button появлялись эти таблички,а они там,по твоему скрипту, находятся постоянно,не важно,нажимал ли я на button или нет.Код:-- В начале кода: local show_table = false -- Значение отображения таблицы по-умолчанию (true - показана | false - не показана) -- В коде окна ImGui: if imgui.Button((show_table and 'Скрыть' or 'Показать') .. ' таблицу') then show_talbe = not show_table end if show_table then imgui.Columns(2 --[[ Количество столбцов --]]) imgui.Text('Первый столбец') imgui.NextColumn() -- Переходим к следующему столбцу imgui.Text('Второй столбец') imgui.Columns(1) end
function imgui.OnDrawFrame()
if main_window_state.v then
imgui.SetNextWindowSize(imgui.ImVec2(550, 318), imgui.Cond.FirstUseEver)
imgui.Begin('ARZ helper', main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoMove)
if imgui.Button(u8'Информация',imgui.ImVec2(155,67)) then
imgui.Text(u8'TEST ')
end
if imgui.Button(u8'Перезагрузить скрипт',imgui.ImVec2(155,67)) then
thisScript():reload()
end
imgui.End()
end
end
Ты не понимаешь что происходит при нажатии на кнопку.Да ты не так меня понял,мне нужно,чтобы по нажатию на imgui.Button появлялись эти таблички,а они там,по твоему скрипту, находятся постоянно,не важно,нажимал ли я на button или нет.
и еще вопрос,почему вот например в этом коде (ниже) по нажатию на imgui Button появляется текст,но сразу же исчезает. Вот фрапс
Вот этот TEXT появляется и исчезает
Lua:function imgui.OnDrawFrame() if main_window_state.v then imgui.SetNextWindowSize(imgui.ImVec2(550, 318), imgui.Cond.FirstUseEver) imgui.Begin('ARZ helper', main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoMove) if imgui.Button(u8'Информация',imgui.ImVec2(155,67)) then imgui.Text(u8'TEST ') end if imgui.Button(u8'Перезагрузить скрипт',imgui.ImVec2(155,67)) then thisScript():reload() end imgui.End() end end
local pirivet = 0 -- в инт легче подключать несколько кнопок чем создавать для каждой отдельную переменную
--OnDrawFrame
if imgui.Button(u8"Показать текст") then
if pirivet == 0 then pirivet = 1 elseif pirivet == 1 then pirivet = 0 end -- Если кнопка уже активна то ты вырубаешь её.
end
if pirivet == 1 then
imgui.Text(u8"TEXT")
end
Спасибо,помог :)Ты не понимаешь что происходит при нажатии на кнопку.
Lua:local pirivet = 0 -- в инт легче подключать несколько кнопок чем создавать для каждой отдельную переменную --OnDrawFrame if imgui.Button(u8"Показать текст") then if pirivet == 0 then pirivet = 1 elseif pirivet == 1 then pirivet = 0 end -- Если кнопка уже активна то ты вырубаешь её. end if pirivet == 1 then imgui.Text(u8"TEXT") end
upd по такому же принципу Columns отрисовывай.
--Где-то в коде над onDrawFrame:
local CurrentMenuItem = -1
--onDrawFrame
if imgui.Button("Выбрать сервер") then
CurrentMenuItem = (CurrentMenuItem == 1) and -1 or 1
end
if imgui.Button("Второе меню") then
CurrentMenuItem = (CurrentMenuItem == 2) and -1 or 2
end
if imgui.Button("Информация") then
CurrentMenuItem = (CurrentMenuItem == 3) and -1 or 3
end
if CurrentMenuItem == 1 then
imgui.Text("Выбор сервера")
elseif CurrentMenuItem == 2 then
imgui.Text("Какое-то меню")
elseif CurrentMenuItem == 3 then
imgui.Text("Информация тут какая-нибудь")
end