Вопрос по нажатию клавиш

Disturbed

Участник
Автор темы
26
2
Версия MoonLoader
.026-beta
Как сделать так чтобы при вводе команды активировалось нажатие на клавишу "Alt" | При деактивации перестает нажимать на эту кнопку..
Еще не очень разобрался с if/else


Код:
script_name('Mass media')
script_author('bw_clipper')
script_description('1')

require "lib.moonloader"
require "lib.sampfuncs"


local sampev = require 'lib.samp.events'
local activate = false
local ffi = require "ffi"
ffi.cdef[[
     void keybd_event(int keycode, int scancode, int flags, int extra);
]]

function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end

    sampAddChatMessage(" {A4E1FF}[Scammers]{FFFFFF} Scammers - {A4FFC2}был {FFFFFF}успешно {A4FFC2}загружен {FFFFFF}приятной игры.", 0x01A0E9)
    sampAddChatMessage(" {A4E1FF}[Scammers]{FFFFFF} Для - {A4FFC2}активации {FFFFFF}введите команду {A4FFC2}/Scammers{FFFFFF}!", 0x01A0E9)
sampRegisterChatCommand("Scammers", Scammers)
    while true do wait(0) end
    wait(-1)
end

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 Scammers(arg)
activate = not activate if activate then i = 1 sampAddChatMessage('Вы активировали ловлю дерева/травы', 0x90EE90) else i = 31 sampAddChatMessage('Вы выключили ловлю.', 0x90EE90) end
lua_thread.create(function()
while i <= 30 do
        EmulateKey(VK_MENU, true)
i = i + 1
            if i == 30 then activate = false end
        end
    end)
end
 
Последнее редактирование:

MaksQ

Известный
967
816
Как сделать так чтобы при вводе команды активировалось нажатие на клавишу "Alt" | При деактивации перестает нажимать на эту кнопку..
Еще не очень разобрался с if/else


Код:
script_name('Mass media')
script_author('bw_clipper')
script_description('1')

require "lib.moonloader"
require "lib.sampfuncs"


local sampev = require 'lib.samp.events'
local activate = false
local ffi = require "ffi"
ffi.cdef[[
     void keybd_event(int keycode, int scancode, int flags, int extra);
]]

function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end

    sampAddChatMessage(" {A4E1FF}[Scammers]{FFFFFF} Scammers - {A4FFC2}был {FFFFFF}успешно {A4FFC2}загружен {FFFFFF}приятной игры.", 0x01A0E9)
    sampAddChatMessage(" {A4E1FF}[Scammers]{FFFFFF} Для - {A4FFC2}активации {FFFFFF}введите команду {A4FFC2}/Scammers{FFFFFF}!", 0x01A0E9)
sampRegisterChatCommand("Scammers", Scammers)
    while true do wait(0) end
    wait(-1)
end

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 Scammers(arg)
activate = not activate if activate then i = 1 sampAddChatMessage('Вы активировали ловлю дерева/травы', 0x90EE90) else i = 31 sampAddChatMessage('Вы выключили ловлю.', 0x90EE90) end
lua_thread.create(function()
while i <= 30 do
        EmulateKey(VK_MENU, true)
i = i + 1
            if i == 30 then activate = false end
        end
    end)
end
Lua:
require 'lib.moonloader'

local autoalt = false

function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('alt', function() autoalt = not autoalt end)
    ClickAlt = lua_thread.create(ClickAlt)
    while true do wait(0)


end end

function ClickAlt()
    while true do wait(0)
        if autoalt then
            setVirtualKeyDown(18, true)
             wait(1)
            setVirtualKeyDown(18, false)
        end
        wait(100) -- задержка в мс.
end end