Восстановление работы input`ов imgui

Licht

Известный
Автор темы
238
32
Версия MoonLoader
.026-beta
При юзе consumeWindowMessage с аргументами true, (финка для закрытия окошек имгуи клавишей ESC и тд)...
После юза этой фичи перестают нормально работать input`ы, тоесть при нажатии появляется курсор и тут же пропадает (курсор который мигает, кто не понял).
Есть ли альтернатива этого или же есть ли возможность это исправить?
 
Решение
Lua:
    addEventHandler("onWindowMessage", function (msg, wparam, lparam)
        if (msg == 256 or msg == 257) and wparam == vkeys.VK_ESCAPE and imgui.Process and not isPauseMenuActive() and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            consumeWindowMessage(true, false)
            if msg == 257 then
                firstWindow.v = false -- твое 1-е окно
                SecondWindow.v = false -- твое 2-е окно и т.д.
            end
        end
    end)

Kuharz

Известный
401
152
 
  • Грустно
Реакции: Licht

Kuharz

Известный
401
152
Не помогло
Сделал как там, не варик
Мб из-за того что у меня 5 окошек имгуи, и 2 из них постоянно пашут (информеры тип)
На постоянных не проверял, сказать не могу, но со всеми остальными работает у меня.
 

Kuharz

Известный
401
152
Lua:
    addEventHandler("onWindowMessage", function (msg, wparam, lparam)
        if (msg == 256 or msg == 257) and wparam == vkeys.VK_ESCAPE and imgui.Process and not isPauseMenuActive() and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            consumeWindowMessage(true, false)
            if msg == 257 then
                firstWindow.v = false -- твое 1-е окно
                SecondWindow.v = false -- твое 2-е окно и т.д.
            end
        end
    end)
 

Licht

Известный
Автор темы
238
32
Lua:
    addEventHandler("onWindowMessage", function (msg, wparam, lparam)
        if (msg == 256 or msg == 257) and wparam == vkeys.VK_ESCAPE and imgui.Process and not isPauseMenuActive() and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            consumeWindowMessage(true, false)
            if msg == 257 then
                firstWindow.v = false -- твое 1-е окно
                SecondWindow.v = false -- твое 2-е окно и т.д.
            end
        end
    end)
Спасибо, работает по сути как надо, но с небольшим НО, теперь при нажатии на ESC вне менюшек 0 реакции
Мб из-за тех двух менюшек которые всегда пашут..
 

Licht

Известный
Автор темы
238
32
Короче решил банально сделав так:
Lua:
    addEventHandler("onWindowMessage", function (msg, wparam, lparam)
        if okno1.v or okno2.v or okno3.v then
            if (msg == 256 or msg == 257) and wparam == vkeys.VK_ESCAPE and imgui.Process and not isPauseMenuActive() and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
                consumeWindowMessage(true, false)
                if msg == 257 then
                    firstWindow.v = false -- твое 1-е окно
                    SecondWindow.v = false -- твое 2-е окно и т.д.
                end
            end
        end
    end)
не судите строго по моему решению, знаю что можно было воткнуть всё в строку 3, сделал как мне удобно ибо могу удалить окно или добавить новое...
 
  • Нравится
Реакции: Gorskin и Kuharz