Почему не нажимается клавиша?

DizMoralle

Новичок
Автор темы
6
1
Версия MoonLoader
.027.0-preview
При нажатии на кнопку в мгуи, должна прожиматься клавиша ALT.
Она не прожимается. Не работает.

Lua:
if imgui.Button(u8'Выбор') then
    setVirtualKeyDown(0x12, true)
    sampAddChatMessage('Готово!', -1)
    setVirtualKeyDown(0x12, false)
end
 
Решение
Пишет в чат "Готово!", но ALT не прожимает.


Я и потоки пробовал, как отдельную функцию. Что только не пробовал, но как оказывается не только для меня НЕРЕШАЕМАЯ задача :(
попробуй до нажатия клавиши меню скрывать, а после нажатия повторно открывать, потому что имгуи меню мешает, и нажатие воспринимает оно

DizMoralle

Новичок
Автор темы
6
1

DizMoralle

Новичок
Автор темы
6
1
Между двумя setVirtualKeyDown ставь: wait(1)
Зажимает "ALT", не отпускает и краш.
[22:54:04.821911] (error) Script.lua: ...Arizona Games Launcher\bin\arizona\moonloader\Script.lua:17: attempt to yield across C-call boundary
stack traceback:
[C]: in function 'wait'
...Arizona Games Launcher\bin\arizona\moonloader\Script.lua:17: in function '_draw'
...ames Launcher\bin\arizona\moonloader\lib\mimgui\init.lua:107: in function <...ames Launcher\bin\arizona\moonloader\lib\mimgui\init.lua:91>
[22:54:04.822661] (error) Script.lua: Script died due to an error. (id:6)
 

minxty

Известный
1,192
1,073
Зажимает "ALT", не отпускает и краш.
[22:54:04.821911] (error) Script.lua: ...Arizona Games Launcher\bin\arizona\moonloader\Script.lua:17: attempt to yield across C-call boundary
stack traceback:
[C]: in function 'wait'
...Arizona Games Launcher\bin\arizona\moonloader\Script.lua:17: in function '_draw'
...ames Launcher\bin\arizona\moonloader\lib\mimgui\init.lua:107: in function <...ames Launcher\bin\arizona\moonloader\lib\mimgui\init.lua:91>
[22:54:04.822661] (error) Script.lua: Script died due to an error. (id:6)
не забывай про потоки
Lua:
if imgui.Button(u8'Выбор') then
    lua_thread.create(function()
        setVirtualKeyDown(0x12, true)
        wait(1)
        setVirtualKeyDown(0x12, false)
        sampAddChatMessage('Готово!', -1)
    end)
end
 

Verbuk

Участник
43
11
не забывай про потоки
Lua:
if imgui.Button(u8'Выбор') then
    lua_thread.create(function()
        setVirtualKeyDown(0x12, true)
        wait(1)
        setVirtualKeyDown(0x12, false)
        sampAddChatMessage('Готово!', -1)
    end)
end
Ты меня обогнал, сложно с телефона код писать.
 
  • Грустно
Реакции: minxty

DizMoralle

Новичок
Автор темы
6
1
не забывай про потоки
Lua:
if imgui.Button(u8'Выбор') then
    lua_thread.create(function()
        setVirtualKeyDown(0x12, true)
        wait(1)
        setVirtualKeyDown(0x12, false)
        sampAddChatMessage('Готово!', -1)
    end)
end
Пишет в чат "Готово!", но ALT не прожимает.

не забывай про потоки
Я и потоки пробовал, как отдельную функцию. Что только не пробовал, но как оказывается не только для меня НЕРЕШАЕМАЯ задача :(
 

minxty

Известный
1,192
1,073
Пишет в чат "Готово!", но ALT не прожимает.


Я и потоки пробовал, как отдельную функцию. Что только не пробовал, но как оказывается не только для меня НЕРЕШАЕМАЯ задача :(
попробуй до нажатия клавиши меню скрывать, а после нажатия повторно открывать, потому что имгуи меню мешает, и нажатие воспринимает оно
 
  • Влюблен
Реакции: DizMoralle

DizMoralle

Новичок
Автор темы
6
1
попробуй до нажатия клавиши меню скрывать, а после нажатия повторно открывать, потому что имгуи меню мешает, и нажатие воспринимает оно
Спасибо, помогло! Не обращайте внимание на кучу задержек :D

Решение:
Lua:
if imgui.Button(u8'Выбор') then
    lua_thread.create(function()
        Window[0] = not Window[0]
        wait(300)
        setVirtualKeyDown(VK_MENU, true)
        wait(300)
        setVirtualKeyDown(VK_MENU, false)
        wait(300)
        sampAddChatMessage('Готово!', -1)
    end)
end
 
  • Нравится
Реакции: minxty