Закрытие imGUI меню

cpark

Новичок
Автор темы
6
0
Версия MoonLoader
.026-beta
Всех приветствую, перейду сразу к делу. Есть проблема, по нажатию в imGUI кнопки "Отмена" или "Отправить", то диалог imGUI меню закрывается, а вместе с ним, закрывается тот диалог, которые заменяется этот imGUI
1588942694257.png
1588942789276.png

Это imGUI меню, показываю как проявляется эта шляпа. Вначале нажимаю на крестик, но ничего не происходит, как меню imGUI не закрывается, так и после imGUI меню не закрывается на что оно заменяется:


Это оригинальный диалог, тут всё нажимается, так же он закрывается на кнопку Esc и на всё, что показано в видео:

Вот часть кода:​
Lua:
local sampev = require 'lib.samp.events'
local imgui = require 'imgui'
local edit_window = imgui.ImBool(false)
local iScreenWidth, iScreenHeight = getScreenResolution()

function main()
    while not isSampAvailable() do wait(100) end
    while true do wait(0)
        imgui.Process = true
    end
function sampev.onShowDialog(id,style,title,button1,button2,text)
elseif title:find('^[A-Za-z_]+$') and not text:find('\n') then
                edit_text = text
                edit_title = title
                edit_window.v = true
                enter_text.v =     tostring(my['edit_teg'])
                edit_id = id
                focus = trueasd
                return false
function imgui.OnDrawFrame()
    if edit_window.v then imgui.ShowCursor = true else imgui.ShowCursor = false end
    if edit_window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(iScreenWidth/2, iScreenHeight / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5,     0.5))
        imgui.SetNextWindowSize(imgui.ImVec2((imgui.CalcTextSize(u8:encode(edit_text)).x+200), 150), imgui.Cond.FirstUseEver)
        imgui.Begin(edit_title,find_window, imgui.WindowFlags.ShowBorders+imgui.WindowFlags.NoCollapse+imgui.WindowFlags.ShowBorders)
        imgui.Columns(2,nil,false)
        imgui.SetColumnWidth(-1, 120)
        imgui.SetCursorPos(imgui.ImVec2(-30, 10))
        imgui.Image(img_logo, imgui.ImVec2(165, 70))
        if imgui.Button(u8'Копировать') then
             setClipboardText(edit_text)
        end
        imgui.NextColumn()
        imgui.Text(u8:encode(edit_text))
        if (imgui.InputText('##1', enter_text, imgui.InputTextFlags.EnterReturnsTrue ) or imgui.Button(u8'Отправить')) then
            sampSendDialogResponse(edit_id,1,65535,u8:decode(enter_text.v))
            edit_window.v = false
        end
        imgui.SameLine()
        if imgui.Button(u8'Отмена') then sampSendDialogResponse(edit_id) ;edit_window.v = false end
        imgui.End()
    end
Так сказать повторюсь: в чём прикол, не закрывается меню imGUI на крестик, а также дочерние диалоги
Заранее говорю спасибо тому, кто поможет!
 
  • Bug
Реакции: McLore

cpark

Новичок
Автор темы
6
0
что за ватафак ? почему у тебя в imgui.Begin переменная, которая отвечает за окно find_window ?
Должно же вроде быть Imgui.Begin(edit_title,edit_window, imgui.WindowFlags.ShowBorders+imgui.WindowFlags.NoCollapse+imgui.WindowFlags.ShowBorders)
Резонный вопрос, спасибо!
Исправил, но тут вылезло новое чудо
После закрытия на крестик данного imGUI окна, не закрывается дочерний процесс, то есть, то диалоговое окно
1588949460376.png
И после введения какой-либо команды, а на Diamond'e нельзя вводить команду, пока открыт диалог. Пишет следующее:
1588949363988.png

В принципе, в коде есть функция на то, чтобы закрыть диалог (35 строка), но, почему-то она багается, может быть я криворук, не могу точно сказать
Может быть не туда пихаю её, need you help