Эмулятор нажатия на клавишу G

TimeLordRu

Новичок
Автор темы
22
1
Версия MoonLoader
.026-beta
с библиотекой moonloader/lib/game/keys.lua доступна такая функция setGameKeyState(id кнопки, 255), она имитирует нажатие кнопки, но там я не нашел нажатие клавиши G. Просьба подсказать айди, если он есть
local keys_onfoot = {
GOLEFT_GORIGHT = 0,
GOFORWARD_GOBACK = 1,
ANSWERPHONE_FIREWEAPONALT = 4,
CYCLEWEAPONLEFT_SNIPERZOOMIN = 5,
LOCKTARGET = 6,
CYCLEWEAPONRIGHT_SNIPERZOOMOUT = 7,
GROUPCONTROLFWD = 8,
GROUPCONTROLBWD = 9,
CONVERSATIONNO = 10,
CONVERSATIONYES = 11,
CHANGECAMERAVIEW = 13,
JUMP = 14,
ENTERVEHICLE = 15,
SPRINT = 16,
FIREWEAPON = 17,
CROUCH = 18,
LOOKBEHIND = 19,
WALK = 21
}

local keys_incar = {
GOLEFT_GORIGHT = 0,
STEERUP_STEERDOWN = 1,
TURRETLEFT_TURRETRIGHT = 2,
TURRETUP_TURRETDOWN = 3,
FIREWEAPONALT = 4,
LOOKLEFT = 5,
HANDBRAKE = 6,
LOOKBEHIND_LOOKRIGHT = 7,
RADIOSTATIONUP = 8,
RADIOSTATIONDOWN = 9,
CONVERSATIONNO = 10,
CONVERSATIONYES = 11,
CHANGECAMERAVIEW = 13,
BRAKE = 14,
EXITVEHICLE = 15,
ACCELERATE = 16,
FIREWEAPON = 17,
HORN = 18,
TOGGLESUBMISSION = 19
}

return {player = keys_onfoot, vehicle = keys_incar}

Если с помощью этой штуки нельзя нажать G, то можно ли с помощью VKEYS.LUA эмулировать это и как? Я видел, что во многих скриптах юзят Vkeys, но как использовать это, не нашел нигде
-- This file is part of SA MoonLoader package.
-- Licensed under the MIT License.
-- Copyright (c) 2016, BlastHack Team <blast.hk>


local k = {
VK_LBUTTON = 0x01,
VK_RBUTTON = 0x02,
VK_CANCEL = 0x03,
VK_MBUTTON = 0x04,
VK_XBUTTON1 = 0x05,
VK_XBUTTON2 = 0x06,
VK_BACK = 0x08,
VK_TAB = 0x09,
VK_CLEAR = 0x0C,
VK_RETURN = 0x0D,
VK_SHIFT = 0x10,
VK_CONTROL = 0x11,
VK_MENU = 0x12,
VK_PAUSE = 0x13,
VK_CAPITAL = 0x14,
VK_KANA = 0x15,
VK_JUNJA = 0x17,
VK_FINAL = 0x18,
VK_KANJI = 0x19,
VK_ESCAPE = 0x1B,
VK_CONVERT = 0x1C,
VK_NONCONVERT = 0x1D,
VK_ACCEPT = 0x1E,
VK_MODECHANGE = 0x1F,
VK_SPACE = 0x20,
VK_PRIOR = 0x21,
VK_NEXT = 0x22,
VK_END = 0x23,
VK_HOME = 0x24,
VK_LEFT = 0x25,
VK_UP = 0x26,
VK_RIGHT = 0x27,
VK_DOWN = 0x28,
VK_SELECT = 0x29,
VK_PRINT = 0x2A,
VK_EXECUTE = 0x2B,
VK_SNAPSHOT = 0x2C,
VK_INSERT = 0x2D,
VK_DELETE = 0x2E,
VK_HELP = 0x2F,
VK_0 = 0x30,
VK_1 = 0x31,
VK_2 = 0x32,
VK_3 = 0x33,
VK_4 = 0x34,
VK_5 = 0x35,
VK_6 = 0x36,
VK_7 = 0x37,
VK_8 = 0x38,
VK_9 = 0x39,
VK_A = 0x41,
VK_B = 0x42,
VK_C = 0x43,
VK_D = 0x44,
VK_E = 0x45,
VK_F = 0x46,
VK_G = 0x47,
VK_H = 0x48,
VK_I = 0x49,
VK_J = 0x4A,
VK_K = 0x4B,
VK_L = 0x4C,
VK_M = 0x4D,
VK_N = 0x4E,
VK_O = 0x4F,
VK_P = 0x50,
VK_Q = 0x51,
VK_R = 0x52,
VK_S = 0x53,
VK_T = 0x54,
VK_U = 0x55,
VK_V = 0x56,
VK_W = 0x57,
VK_X = 0x58,
VK_Y = 0x59,
VK_Z = 0x5A,
VK_LWIN = 0x5B,
VK_RWIN = 0x5C,
VK_APPS = 0x5D,
VK_SLEEP = 0x5F,
VK_NUMPAD0 = 0x60,
VK_NUMPAD1 = 0x61,
VK_NUMPAD2 = 0x62,
VK_NUMPAD3 = 0x63,
VK_NUMPAD4 = 0x64,
VK_NUMPAD5 = 0x65,
VK_NUMPAD6 = 0x66,
VK_NUMPAD7 = 0x67,
VK_NUMPAD8 = 0x68,
VK_NUMPAD9 = 0x69,
VK_MULTIPLY = 0x6A,
VK_ADD = 0x6B,
VK_SEPARATOR = 0x6C,
VK_SUBTRACT = 0x6D,
VK_DECIMAL = 0x6E,
VK_DIVIDE = 0x6F,
VK_F1 = 0x70,
VK_F2 = 0x71,
VK_F3 = 0x72,
VK_F4 = 0x73,
VK_F5 = 0x74,
VK_F6 = 0x75,
VK_F7 = 0x76,
VK_F8 = 0x77,
VK_F9 = 0x78,
VK_F10 = 0x79,
VK_F11 = 0x7A,
VK_F12 = 0x7B,
VK_F13 = 0x7C,
VK_F14 = 0x7D,
VK_F15 = 0x7E,
VK_F16 = 0x7F,
VK_F17 = 0x80,
VK_F18 = 0x81,
VK_F19 = 0x82,
VK_F20 = 0x83,
VK_F21 = 0x84,
VK_F22 = 0x85,
VK_F23 = 0x86,
VK_F24 = 0x87,
VK_NUMLOCK = 0x90,
VK_SCROLL = 0x91,
VK_OEM_FJ_JISHO = 0x92,
VK_OEM_FJ_MASSHOU = 0x93,
VK_OEM_FJ_TOUROKU = 0x94,
VK_OEM_FJ_LOYA = 0x95,
VK_OEM_FJ_ROYA = 0x96,
VK_LSHIFT = 0xA0,
VK_RSHIFT = 0xA1,
VK_LCONTROL = 0xA2,
VK_RCONTROL = 0xA3,
VK_LMENU = 0xA4,
VK_RMENU = 0xA5,
VK_BROWSER_BACK = 0xA6,
VK_BROWSER_FORWARD = 0xA7,
VK_BROWSER_REFRESH = 0xA8,
VK_BROWSER_STOP = 0xA9,
VK_BROWSER_SEARCH = 0xAA,
VK_BROWSER_FAVORITES = 0xAB,
VK_BROWSER_HOME = 0xAC,
VK_VOLUME_MUTE = 0xAD,
VK_VOLUME_DOWN = 0xAE,
VK_VOLUME_UP = 0xAF,
VK_MEDIA_NEXT_TRACK = 0xB0,
VK_MEDIA_PREV_TRACK = 0xB1,
VK_MEDIA_STOP = 0xB2,
VK_MEDIA_PLAY_PAUSE = 0xB3,
VK_LAUNCH_MAIL = 0xB4,
VK_LAUNCH_MEDIA_SELECT = 0xB5,
VK_LAUNCH_APP1 = 0xB6,
VK_LAUNCH_APP2 = 0xB7,
VK_OEM_1 = 0xBA,
VK_OEM_PLUS = 0xBB,
VK_OEM_COMMA = 0xBC,
VK_OEM_MINUS = 0xBD,
VK_OEM_PERIOD = 0xBE,
VK_OEM_2 = 0xBF,
VK_OEM_3 = 0xC0,
VK_ABNT_C1 = 0xC1,
VK_ABNT_C2 = 0xC2,
VK_OEM_4 = 0xDB,
VK_OEM_5 = 0xDC,
VK_OEM_6 = 0xDD,
VK_OEM_7 = 0xDE,
VK_OEM_8 = 0xDF,
VK_OEM_AX = 0xE1,
VK_OEM_102 = 0xE2,
VK_ICO_HELP = 0xE3,
VK_PROCESSKEY = 0xE5,
VK_ICO_CLEAR = 0xE6,
VK_PACKET = 0xE7,
VK_OEM_RESET = 0xE9,
VK_OEM_JUMP = 0xEA,
VK_OEM_PA1 = 0xEB,
VK_OEM_PA2 = 0xEC,
VK_OEM_PA3 = 0xED,
VK_OEM_WSCTRL = 0xEE,
VK_OEM_CUSEL = 0xEF,
VK_OEM_ATTN = 0xF0,
VK_OEM_FINISH = 0xF1,
VK_OEM_COPY = 0xF2,
VK_OEM_AUTO = 0xF3,
VK_OEM_ENLW = 0xF4,
VK_OEM_BACKTAB = 0xF5,
VK_ATTN = 0xF6,
VK_CRSEL = 0xF7,
VK_EXSEL = 0xF8,
VK_EREOF = 0xF9,
VK_PLAY = 0xFA,
VK_ZOOM = 0xFB,
VK_PA1 = 0xFD,
VK_OEM_CLEAR = 0xFE,
}

local names = {
[k.VK_LBUTTON] = 'Left Button',
[k.VK_RBUTTON] = 'Right Button',
[k.VK_CANCEL] = 'Break',
[k.VK_MBUTTON] = 'Middle Button',
[k.VK_XBUTTON1] = 'X Button 1',
[k.VK_XBUTTON2] = 'X Button 2',
[k.VK_BACK] = 'Backspace',
[k.VK_TAB] = 'Tab',
[k.VK_CLEAR] = 'Clear',
[k.VK_RETURN] = 'Enter',
[k.VK_SHIFT] = 'Shift',
[k.VK_CONTROL] = 'Ctrl',
[k.VK_MENU] = 'Alt',
[k.VK_PAUSE] = 'Pause',
[k.VK_CAPITAL] = 'Caps Lock',
[k.VK_KANA] = 'Kana',
[k.VK_JUNJA] = 'Junja',
[k.VK_FINAL] = 'Final',
[k.VK_KANJI] = 'Kanji',
[k.VK_ESCAPE] = 'Esc',
[k.VK_CONVERT] = 'Convert',
[k.VK_NONCONVERT] = 'Non Convert',
[k.VK_ACCEPT] = 'Accept',
[k.VK_MODECHANGE] = 'Mode Change',
[k.VK_SPACE] = 'Space',
[k.VK_PRIOR] = 'Page Up',
[k.VK_NEXT] = 'Page Down',
[k.VK_END] = 'End',
[k.VK_HOME] = 'Home',
[k.VK_LEFT] = 'Arrow Left',
[k.VK_UP] = 'Arrow Up',
[k.VK_RIGHT] = 'Arrow Right',
[k.VK_DOWN] = 'Arrow Down',
[k.VK_SELECT] = 'Select',
[k.VK_PRINT] = 'Print',
[k.VK_EXECUTE] = 'Execute',
[k.VK_SNAPSHOT] = 'Print Screen',
[k.VK_INSERT] = 'Insert',
[k.VK_DELETE] = 'Delete',
[k.VK_HELP] = 'Help',
[k.VK_0] = '0',
[k.VK_1] = '1',
[k.VK_2] = '2',
[k.VK_3] = '3',
[k.VK_4] = '4',
[k.VK_5] = '5',
[k.VK_6] = '6',
[k.VK_7] = '7',
[k.VK_8] = '8',
[k.VK_9] = '9',
[k.VK_A] = 'A',
[k.VK_B] = 'B',
[k.VK_C] = 'C',
[k.VK_D] = 'D',
[k.VK_E] = 'E',
[k.VK_F] = 'F',
[k.VK_G] = 'G',
[k.VK_H] = 'H',
[k.VK_I] = 'I',
[k.VK_J] = 'J',
[k.VK_K] = 'K',
[k.VK_L] = 'L',
[k.VK_M] = 'M',
[k.VK_N] = 'N',
[k.VK_O] = 'O',
[k.VK_P] = 'P',
[k.VK_Q] = 'Q',
[k.VK_R] = 'R',
[k.VK_S] = 'S',
[k.VK_T] = 'T',
[k.VK_U] = 'U',
[k.VK_V] = 'V',
[k.VK_W] = 'W',
[k.VK_X] = 'X',
[k.VK_Y] = 'Y',
[k.VK_Z] = 'Z',
[k.VK_LWIN] = 'Left Win',
[k.VK_RWIN] = 'Right Win',
[k.VK_APPS] = 'Context Menu',
[k.VK_SLEEP] = 'Sleep',
[k.VK_NUMPAD0] = 'Numpad 0',
[k.VK_NUMPAD1] = 'Numpad 1',
[k.VK_NUMPAD2] = 'Numpad 2',
[k.VK_NUMPAD3] = 'Numpad 3',
[k.VK_NUMPAD4] = 'Numpad 4',
[k.VK_NUMPAD5] = 'Numpad 5',
[k.VK_NUMPAD6] = 'Numpad 6',
[k.VK_NUMPAD7] = 'Numpad 7',
[k.VK_NUMPAD8] = 'Numpad 8',
[k.VK_NUMPAD9] = 'Numpad 9',
[k.VK_MULTIPLY] = 'Numpad *',
[k.VK_ADD] = 'Numpad +',
[k.VK_SEPARATOR] = 'Separator',
[k.VK_SUBTRACT] = 'Num -',
[k.VK_DECIMAL] = 'Numpad .',
[k.VK_DIVIDE] = 'Numpad /',
[k.VK_F1] = 'F1',
[k.VK_F2] = 'F2',
[k.VK_F3] = 'F3',
[k.VK_F4] = 'F4',
[k.VK_F5] = 'F5',
[k.VK_F6] = 'F6',
[k.VK_F7] = 'F7',
[k.VK_F8] = 'F8',
[k.VK_F9] = 'F9',
[k.VK_F10] = 'F10',
[k.VK_F11] = 'F11',
[k.VK_F12] = 'F12',
[k.VK_F13] = 'F13',
[k.VK_F14] = 'F14',
[k.VK_F15] = 'F15',
[k.VK_F16] = 'F16',
[k.VK_F17] = 'F17',
[k.VK_F18] = 'F18',
[k.VK_F19] = 'F19',
[k.VK_F20] = 'F20',
[k.VK_F21] = 'F21',
[k.VK_F22] = 'F22',
[k.VK_F23] = 'F23',
[k.VK_F24] = 'F24',
[k.VK_NUMLOCK] = 'Num Lock',
[k.VK_SCROLL] = 'Scrol Lock',
[k.VK_OEM_FJ_JISHO] = 'Jisho',
[k.VK_OEM_FJ_MASSHOU] = 'Mashu',
[k.VK_OEM_FJ_TOUROKU] = 'Touroku',
[k.VK_OEM_FJ_LOYA] = 'Loya',
[k.VK_OEM_FJ_ROYA] = 'Roya',
[k.VK_LSHIFT] = 'Left Shift',
[k.VK_RSHIFT] = 'Right Shift',
[k.VK_LCONTROL] = 'Left Ctrl',
[k.VK_RCONTROL] = 'Right Ctrl',
[k.VK_LMENU] = 'Left Alt',
[k.VK_RMENU] = 'Right Alt',
[k.VK_BROWSER_BACK] = 'Browser Back',
[k.VK_BROWSER_FORWARD] = 'Browser Forward',
[k.VK_BROWSER_REFRESH] = 'Browser Refresh',
[k.VK_BROWSER_STOP] = 'Browser Stop',
[k.VK_BROWSER_SEARCH] = 'Browser Search',
[k.VK_BROWSER_FAVORITES] = 'Browser Favorites',
[k.VK_BROWSER_HOME] = 'Browser Home',
[k.VK_VOLUME_MUTE] = 'Volume Mute',
[k.VK_VOLUME_DOWN] = 'Volume Down',
[k.VK_VOLUME_UP] = 'Volume Up',
[k.VK_MEDIA_NEXT_TRACK] = 'Next Track',
[k.VK_MEDIA_PREV_TRACK] = 'Previous Track',
[k.VK_MEDIA_STOP] = 'Stop',
[k.VK_MEDIA_PLAY_PAUSE] = 'Play / Pause',
[k.VK_LAUNCH_MAIL] = 'Mail',
[k.VK_LAUNCH_MEDIA_SELECT] = 'Media',
[k.VK_LAUNCH_APP1] = 'App1',
[k.VK_LAUNCH_APP2] = 'App2',
[k.VK_OEM_1] = {';', ':'},
[k.VK_OEM_PLUS] = {'=', '+'},
[k.VK_OEM_COMMA] = {',', '<'},
[k.VK_OEM_MINUS] = {'-', '_'},
[k.VK_OEM_PERIOD] = {'.', '>'},
[k.VK_OEM_2] = {'/', '?'},
[k.VK_OEM_3] = {'`', '~'},
[k.VK_ABNT_C1] = 'Abnt C1',
[k.VK_ABNT_C2] = 'Abnt C2',
[k.VK_OEM_4] = {'[', '{'},
[k.VK_OEM_5] = {'\'', '|'},
[k.VK_OEM_6] = {']', '}'},
[k.VK_OEM_7] = {'\'', '"'},
[k.VK_OEM_8] = {'!', '§'},
[k.VK_OEM_AX] = 'Ax',
[k.VK_OEM_102] = '> <',
[k.VK_ICO_HELP] = 'IcoHlp',
[k.VK_PROCESSKEY] = 'Process',
[k.VK_ICO_CLEAR] = 'IcoClr',
[k.VK_PACKET] = 'Packet',
[k.VK_OEM_RESET] = 'Reset',
[k.VK_OEM_JUMP] = 'Jump',
[k.VK_OEM_PA1] = 'OemPa1',
[k.VK_OEM_PA2] = 'OemPa2',
[k.VK_OEM_PA3] = 'OemPa3',
[k.VK_OEM_WSCTRL] = 'WsCtrl',
[k.VK_OEM_CUSEL] = 'Cu Sel',
[k.VK_OEM_ATTN] = 'Oem Attn',
[k.VK_OEM_FINISH] = 'Finish',
[k.VK_OEM_COPY] = 'Copy',
[k.VK_OEM_AUTO] = 'Auto',
[k.VK_OEM_ENLW] = 'Enlw',
[k.VK_OEM_BACKTAB] = 'Back Tab',
[k.VK_ATTN] = 'Attn',
[k.VK_CRSEL] = 'Cr Sel',
[k.VK_EXSEL] = 'Ex Sel',
[k.VK_EREOF] = 'Er Eof',
[k.VK_PLAY] = 'Play',
[k.VK_ZOOM] = 'Zoom',
[k.VK_PA1] = 'Pa1',
[k.VK_OEM_CLEAR] = 'OemClr'
}

k.key_names = names

function k.id_to_name(vkey)
local name = names[vkey]
if type(name) == 'table' then
return name[1]
end
return name
end

function k.name_to_id(keyname, case_sensitive)
if not case_sensitive then
keyname = string.upper(keyname)
end
for id, v in pairs(names) do
if type(v) == 'table' then
for _, v2 in pairs(v) do
v2 = (case_sensitive) and v2 or string.upper(v2)
if v2 == keyname then
return id
end
end
else
local name = (case_sensitive) and v or string.upper(v)
if name == keyname then
return id
end
end
end
end

return k
 

Seven Memz

Telegram: @sevenmemz
Проверенный
1,312
1,874
с библиотекой moonloader/lib/game/keys.lua доступна такая функция setGameKeyState(id кнопки, 255), она имитирует нажатие кнопки, но там я не нашел нажатие клавиши G. Просьба подсказать айди, если он есть
Данная клавиша не является вроде игровой, функция эмулирует нажатие только игровых клавиш.
Если с помощью этой штуки нельзя нажать G, то можно ли с помощью VKEYS.LUA эмулировать это и как? Я видел, что во многих скриптах юзят Vkeys, но как использовать это, не нашел нигде
Виртуальную клавишу эмулировать: https://wiki.blast.hk/ru/moonloader/lua/setVirtualKeyDown
 

Tema05

Известный
1,120
236

Seven Memz

Telegram: @sevenmemz
Проверенный
1,312
1,874
Это сесть на пассажирское место.
В одиночной игре такой клавиши нет вроде и на пассажирское место ты там сесть не можешь (самп кстати тоже ее не синхронизирует)