Как сделать проверку зажатия клавиши пару секунд ?

WiZarDPro

Новичок
Автор темы
3
0
Версия MoonLoader
.026-beta
В луа не шарю..
Написал простенький скриптик, хочу сделать, что бы сообщение в чат выводилось после 2-х секунд удерживания клавиши, подскажите, как сделать, нигде не нашел..
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if isKeyJustPressed(6) then
            sampSendChat("/n Slit")
        end
    end
end
 
Последнее редактирование модератором:

A S K I T

Активный
201
69
Привет. Надеюсь не костыль, но весь гугл облазил - ничего не нашёл, придумал что смог.

Lua:
local key = require "vkeys" -- Библиотека

while true do wait(0) -- Цикл
    if isKeyJustPressed(VK_K) and not sampIsChatInputActive() and not sampIsDialogActive() then -- Проверка нажатия кнопки и не открыт-ли чат или диалог
        wait(2000) -- Ожидаем 2 секунды
        if isKeyDown(VK_K) and not sampIsChatInputActive() and not sampIsDialogActive() then -- Проверяем, нажата ли кнопка
            sampAddChatMessage('Привет. Ты кстати крутой.', -1) -- Сюда пишем любой код, либо переменную, если код в другом месте
        end
    end
end
 
Последнее редактирование:

WiZarDPro

Новичок
Автор темы
3
0
Привет. Надеюсь не костыль, но весь гугл облазил - ничего не нашёл, придумал что смог.

Lua:
local key = require "vkeys" -- Библиотека

while true do wait(0) -- Цикл
    if isKeyJustPressed(VK_K) and not sampIsChatInputActive() and not sampIsDialogActive() then -- Проверка нажатия кнопки и не открыт-ли чат или диалог
        wait(2000) -- Ожидаем 2 секунды
        if isKeyDown(VK_K) and not sampIsChatInputActive() and not sampIsDialogActive() then -- Проверяем, нажата ли кнопка
            sampAddChatMessage('Привет. Ты кстати крутой.', -1) -- Сюда пишем любой код, либо переменную, если код в другом месте
        end
    end
end
Спасибо ! Немого переписал и все отлично работает с таким кодом, благодарю за помощь !
 
  • Грустно
Реакции: Double Tap Inside

A S K I T

Активный
201
69
Спасибо ! Немого переписал и все отлично работает с таким кодом, благодарю за помощь !
Рад помочь. Если не сложно, отправь сюда переписанный код, чтобы другие люди могли посмотреть как это делается.
 

Double Tap Inside

Известный
Проверенный
1,902
1,249
В луа не шарю..
Написал простенький скриптик, хочу сделать, что бы сообщение в чат выводилось после 2-х секунд удерживания клавиши, подскажите, как сделать, нигде не нашел..

Lua:
require("moonloader")

function main()
    local hold_timeout = 2.000 -- sec
    local keydown_start

    while true do
        wait(0)
       
        if isKeyJustPressed(VK_K) then
            keydown_start = os.clock()
       
        elseif isKeyDown(VK_K) then
            if keydown_start and (os.clock()-keydown_start) > hold_timeout then
                keydown_start = nil
                sampAddChatMessage("Rabotaet!", 0xFF8800)
            end
       
        else
            keydown_start = nil
        end
    end
end
 
Последнее редактирование: