Деактивация окна скрипта по нажатию Esc

Alan1

Участник
Автор темы
57
4
Версия MoonLoader
Другое
Здравствуйте!

Подскажите как можно по нажатию Esc сначала скрывать окно скрипта а уже после повторного нажатия выходить в меню игры.

Заранее спасибо за помощь!
 

Gorskin

Известный
Проверенный
1,250
1,033
Здравствуйте!

Подскажите как можно по нажатию Esc сначала скрывать окно скрипта а уже после повторного нажатия выходить в меню игры.

Заранее спасибо за помощь!
Lua:
local wm = require 'lib.windows.message'

function onWindowMessage(msg, wparam, lparam)
    if (msg == 256 or msg == 257) and wparam == 27 and imgui.Process and not isPauseMenuActive() and not sampIsCursorActive() then
        consumeWindowMessage(true, true)
        if msg == 257 then
            --название окна например main_menu = imgui.ImBool(false)
        end
    end
end
 

Alan1

Участник
Автор темы
57
4
Lua:
local wm = require 'lib.windows.message'

function onWindowMessage(msg, wparam, lparam)
    if (msg == 256 or msg == 257) and wparam == 27 and imgui.Process and not isPauseMenuActive() and not sampIsCursorActive() then
        consumeWindowMessage(true, true)
        if msg == 257 then
            --название окна например main_menu = imgui.ImBool(false)
        end
    end
end
Всё ровно игра уходит в меню. Возможно я не верно описал суть задачи, прошу прощения.

У меня окно скрипта работает на текстурах. При значении windowShow == true окно отображается. При значении, соответственно false оно исчезает. Я пробовал реализовывать что-то вроде

Lua:
if wasKeyPressed(27) and windowShow then
   windowShow == false
end

но в таком случаи игра уходит в меню И если вернутся обратно в игру то можно заметить что и окно скрипта так же закрыто. Задача состоит в том что бы "перехватить" эту клавишу Esc и не дать игре уйти в меню если значение windowShow == true.
 

Gorskin

Известный
Проверенный
1,250
1,033
Всё ровно игра уходит в меню. Возможно я не верно описал суть задачи, прошу прощения.

У меня окно скрипта работает на текстурах. При значении windowShow == true окно отображается. При значении, соответственно false оно исчезает. Я пробовал реализовывать что-то вроде

Lua:
if wasKeyPressed(27) and windowShow then
   windowShow == false
end

но в таком случаи игра уходит в меню И если вернутся обратно в игру то можно заметить что и окно скрипта так же закрыто. Задача состоит в том что бы "перехватить" эту клавишу Esc и не дать игре уйти в меню если значение windowShow == true.
Lua:
local wm = require 'lib.windows.message'

function onWindowMessage(msg, wparam, lparam)
    if (msg == 256 or msg == 257) and wparam == 27 and windowShow and not isPauseMenuActive() and not sampIsCursorActive() then
        consumeWindowMessage(true, true)
        if msg == 257 then
            windowShow = false
        end
    end
end
 

darksoor

Известный
673
353
Lua:
local keys = require 'vkeys'

local windowShow = imgui.ImBool(false)

function onWindowMessage(msg, wparam, lparam)
    if msg == 0x100 or msg == 0x101 then
        if (wparam == keys.VK_ESCAPE and windowShow.v) and not isPauseMenuActive() then
            consumeWindowMessage(true, false)
            if msg == 0x101 then
               windowShow.v = false
            end
        end
    end
end
 
Последнее редактирование: