нажатие клавиш lua

Статус
В этой теме нельзя размещать новые ответы.

L.Rockefelller

Участник
Автор темы
33
0
Хочу сделать допустим нажатие клавиши, нажимаю 2 и у меня нажимается энтер.
Мне нужна сама команда которая будет выполнять нажатие клавиши enter.

Lua:
if isKeyJustPressed(VK_2) and not sampIsChatInputActive() and not sampIsDialogActive() and not isPauseMenuActive() and not isSampfuncsConsoleActive() then
        sampSendChat("/servercommand")
        wait(100)
        ТУТ ДОЛЖНО БЫТЬ ВЫПОЛНЕНИЕ НАЖАТИЯ КЛАВИШИ ENTER
        wait(100)
        sampSendChat("класс")
        wait(100)
        sampSendChat("ыаы")
      end
 

ARaG0RN

Активный
137
49
Lua:
require "lib.moonloader"
require "lib.sampfuncs"
local ffi = require "ffi"
ffi.cdef[[
     void keybd_event(int keycode, int scancode, int flags, int extra);
]]

function EmulateKey(key, isDown)
    if not isDown then
        ffi.C.keybd_event(key, 0, 2, 0)
    else
        ffi.C.keybd_event(key, 0, 0, 0)
    end
end

if isKeyJustPressed(VK_2) and not sampIsChatInputActive() and not sampIsDialogActive() and not isPauseMenuActive() and not isSampfuncsConsoleActive() then
        sampSendChat("/servercommand")
        wait(100)
        EmulateKey(VK_RETURN, true)
        wait(20)
        EmulateKey(VK_RETURN, false)
        wait(100)
        sampSendChat("класс")
        wait(100)
        sampSendChat("ыаы")
    end
 

Tokynogiht

Новичок
23
0
Lua:
require "lib.moonloader"
require "lib.sampfuncs"
local ffi = require "ffi"
ffi.cdef[[
     void keybd_event(int keycode, int scancode, int flags, int extra);
]]

function EmulateKey(key, isDown)
    if not isDown then
        ffi.C.keybd_event(key, 0, 2, 0)
    else
        ffi.C.keybd_event(key, 0, 0, 0)
    end
end

if isKeyJustPressed(VK_2) and not sampIsChatInputActive() and not sampIsDialogActive() and not isPauseMenuActive() and not isSampfuncsConsoleActive() then
        sampSendChat("/servercommand")
        wait(100)
        EmulateKey(VK_RETURN, true)
        wait(20)
        EmulateKey(VK_RETURN, false)
        wait(100)
        sampSendChat("класс")
        wait(100)
        sampSendChat("ыаы")
    end

У меня не работает и почему передана необъявленая переменная
VK_RETURN? Она же пустая... В ней нужно наверное код клавиши передать?
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,747
11,157
Я в луа 0, но это должно работать.
setVirtualKeyDown(VK_RETURN, true)
Lua:
if isKeyJustPressed(VK_2) and not sampIsChatInputActive() and not sampIsDialogActive() and not isPauseMenuActive() and not isSampfuncsConsoleActive() then
        sampSendChat("/servercommand")
        wait(100)
        setVirtualKeyDown(VK_RETURN, true)
        wait(100)
        setVirtualKeyDown(VK_RETURN, false)
        wait(100)
        sampSendChat("класс")
        wait(100)
        sampSendChat("ыаы")
      end
 
Последнее редактирование:
  • Нравится
Реакции: PorkenDoor365

ARaG0RN

Активный
137
49
У меня не работает и почему передана необъявленая переменная
VK_RETURN? Она же пустая... В ней нужно наверное код клавиши передать?
Пример скрипта, который постоянно нажимает Enter
Lua:
require "lib.moonloader"
require "lib.sampfuncs"
local ffi = require "ffi"
ffi.cdef[[
     void keybd_event(int keycode, int scancode, int flags, int extra);
]]

function EmulateKey(key, isDown)
    if not isDown then
        ffi.C.keybd_event(key, 0, 2, 0)
    else
        ffi.C.keybd_event(key, 0, 0, 0)
    end
end

function main()
    while not isSampAvailable() do wait(0) end
  
    while true do wait(1000)
        EmulateKey(VK_RETURN, true)
        wait(20)
        EmulateKey(VK_RETURN, false)
    end
end
VK_RETURN через lib.moonloader определяется
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.