нажатие клавиш 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

Известный
136
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

чопа сребдс // @moujeek
Модератор
8,935
11,704
Я в луа 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

Известный
136
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 определяется
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.