Помогите с LUA

tashernonyb

Новичок
Автор темы
10
0
Форматирование кода
У меня есть код с imgui
При нажатии X открывается само меню.
Там есть внизу кнопка, как сделать так чтобы при нажатии открывалась ещё одно меню.

Lua:
local imgui = require 'imgui'
local key = require 'vkeys'

-- одно из основных отличий от оригинального апи
-- все переменные, значения которых записываются в ImGui по указателю, могут использоваться только через специальные типы
local main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
  if main_window_state.v then -- чтение и запись значения такой переменной осуществляется через поле v (или Value)
    imgui.SetNextWindowSize(imgui.ImVec2(270, 200), imgui.Cond.FirstUseEver) -- меняем размер
    -- но для передачи значения по указателю - обязательно напрямую
    -- тут main_window_state передаётся функции imgui.Begin, чтобы можно было отследить закрытие окна нажатием на крестик
    imgui.Begin ("text", main_window_state)
    imgui.Text ('text)')
    if imgui.Button('Information')then -- а вот и кнопка с действием
      -- условие будет выполнено при нажатии на неё

ВОТ ЧТОБЫ ТУТ ПРИ НАЖАТИИ КНОПКИ КОТОРАЯ ВВЕРХУ, ОТКРЫВАЛОСЬ ЕЩЁ ОДНО ОКНО(МЕНЮ) И ЧТОБЫ ТАМ МОЖНО ТАК-ЖЕ БЫЛО ДЕЛАТЬ КНОПКИ.
 
Последнее редактирование модератором:

NoN4m3

Участник
78
5
Lua:
local imgui, encoding = require('imgui'), require('encoding')
local imguiWindow, authorMenu = imgui.ImBool(false), imgui.ImBool(false)
encoding.default = 'cp1251'
local u8 = encoding.UTF8

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('ah', function()
        imguiWindow.v = not imguiWindow.v
    end)
    while true do wait(0)
        imgui.Process = imguiWindow.v or authorMenu.v and true
    end
end

function imgui.OnDrawFrame()
    if imguiWindow.v then
        imgui.SetNextWindowSize(imgui.ImVec2(150, 200), imgui.Cond.FirstUseEver)
        imgui.Begin('My window', imguiWindow)
        imgui.Text('Hello world')
        if imgui.Button(u8'Описание') then
            authorMenu.v = not authorMenu.v
        end
        imgui.End()
    end
    if authorMenu.v then
        imgui.SetNextWindowSize(imgui.ImVec2(150, 100), imgui.Cond.FirstUseEver)
        imgui.Begin(u8'крутой скрипт', authorMenu)
        imgui.Text(u8'автор вася васечкин')
        imgui.End()
    end
end

Author: www.blast.hk/members/327782/
 
  • Нравится
Реакции: [w0te]