Автокликер Clickermann :: Форум

Основной раздел => Использование => Topic started by: ricc on February 26, 2017, 09:33:38 PM

Title: Автоматизация при зажатии одной клавишы
Post by: ricc on February 26, 2017, 09:33:38 PM
Доброго времени суток! Помогите с автоматизацией. Мне нужно, чтобы при зажатии допустим клавиши LShift происходила комбинация поочередных двойных зажатий клавиш AW на 1сек, потом сразу же WD на 1сек и так до бесконечности пока зажата клавиша LShift . И обычный автоклик при зажатии левой кнопки мыши, чтобы происходил клик с задержкой по 10мс подскажите, и чтобы он начинал работать при нажатии клавиши CapsLock и переставал соответственно. За ранее спасибо!
Title: Re: Автоматизация при зажатии одной клавишы
Post by: Vint on February 27, 2017, 10:57:15 AM
Первая половина
Code: (clickermann) [Select]
THREAD(LS, 0)
    WAITMS(10)     // антибаг
    KEYDOWN(#W)
    WAITMS(10)
    WHILE(1)
        KEYDOWN(#A)
        WAITMS(1000)
        KEYUP(#A)
        WAITMS(10)
        KEYDOWN(#D)
        WAITMS(1000)
        KEYUP(#D)
        WAITMS(10)
    END_CYC
END_THREAD

IF(ISKEYDOWN(160) = 1)  // или 16
    IF($ls = 0)
        $ls = 1
        SETTHREAD(LS, 1)
    END_IF
ELSE
    IF($ls = 1)
        $ls = 0
        SETTHREAD(LS, 2)
        WAITMS(100)
        KEYUP(#A)
        WAITMS(10)
        KEYUP(#D)
        WAITMS(10)
        KEYUP(#W)
    END_IF
END_IF
WAITMS(50)

По второй - нельзя делать ЛКМ при зажатой ЛКМ. Или управление по другой кнопке или по клавише.
Title: Re: Автоматизация при зажатии одной клавишы
Post by: ricc on February 27, 2017, 02:33:02 PM
После запуска начинает сразу работать без зажатия LShift и нажимает такую комбинацию (в начале WA на 1сек, потом D на 1сек, A на 1сек и так поочередно только D и A до бесконечности).
Title: Re: Автоматизация при зажатии одной клавишы
Post by: Vint on February 27, 2017, 03:05:02 PM
Возможно разделение на левый/правый шифт и не работает. Найденный в сети код 160 для LShift, заменить на 16 - просто SHIFT.

И опечатка с изначально запущенным потоком
THREAD(LS, 0)

и задержка после стопа.


По поводу W. W то не отжимается. Какой смысл? Она остаётся зажатой до бросания шифта.
Или нужно обязательно бросать?
Я думал это движение "по кругу" в одном, потом другом направлении.
Проверял в реале или на блокноте? Блокнот покажет одну букву, так и должно быть.

Код исправил.
Title: Re: Автоматизация при зажатии одной клавишы
Post by: ricc on February 27, 2017, 03:52:34 PM
Теперь работает при зажатии  LShift, а по поводу AW и WD нужно обязательно бросать, потому как я планирую сюда добавить еще пару комбинаций.
Title: Re: Автоматизация при зажатии одной клавишы
Post by: Vint on February 27, 2017, 04:01:40 PM
Ну ты тогда сначала всё распланируй.
Title: Re: Автоматизация при зажатии одной клавишы
Post by: ricc on February 27, 2017, 04:36:55 PM
Вот распланировал, только чтоб все бросалось: A+Space, D+Space, D+Alt, A+Alt.
Title: Re: Автоматизация при зажатии одной клавишы
Post by: Vint on February 27, 2017, 06:30:03 PM
A+Alt по умолчанию ставит скрипт на паузу.
Title: Re: Автоматизация при зажатии одной клавишы
Post by: Vint on February 27, 2017, 06:35:02 PM
Определяйся до конца и вписывай
Code: (clickermann) [Select]
THREAD(LS, 0)
    WAITMS(10)     // антибаг
    // нажимаем WA
    KEYDOWN(#W)
    WAITMS(10)
    KEYDOWN(#A)
    WAITMS(1000)
    //отпускаем WA
    KEYUP(#W)
    WAITMS(10)
    KEYUP(#A)
    WAITMS(10)
   
    // нажимаем WD
    KEYDOWN(#W)
    WAITMS(10)
    KEYDOWN(#D)
    WAITMS(1000)
    //отпускаем WD
    KEYUP(#W)
    WAITMS(10)
    KEYUP(#D)
    WAITMS(10)
   
    // и так далее...
END_THREAD

IF(ISKEYDOWN(160) = 1)  // или 16
    IF($ls = 0)
        $ls = 1
        SETTHREAD(LS, 1)
    END_IF
ELSE
    IF($ls = 1)
        $ls = 0
        SETTHREAD(LS, 2)
        WAITMS(100)
        KEYUP(#A)
        WAITMS(10)
        KEYUP(#D)
        WAITMS(10)
        KEYUP(#W)
        // отпускаем всё,что могло остаться нажатым
    END_IF
END_IF
WAITMS(50)
Title: Re: Автоматизация при зажатии одной клавишы
Post by: ricc on February 27, 2017, 06:52:56 PM
Благодарствую!!! :)