Author Topic: Нажатие ЛКМ при наведении курсора на определенный цвет  (Read 2597 times)

0 Members and 2 Guests are viewing this topic.

Dima555

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Нужно чтобы при наведении курсора на определенный цвет, мгновенно происходил клик ЛКМ в эту точку. Возможно ли это? Помогите пожалуйста.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
GETSCREEN($_xmouse,$_ymouse,$_xmouse,$_ymouse)
IF(PXL($_xmouse,$_ymouse) = 255) // если под курсором цвет 255
   LCLICK($_xmouse,$_ymouse)
   WAITMS(100)
ELSE
   WAITMS(20)
END_IF

Dima555

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Спасибо, все работает. Правда мне не помогло, так как картинка постоянно движется, то клик происходит уже за пределами нужного цвета ((Возможно знаете как это можно сделать с меньшей задержкой, возможно с помощью другой программы?
« Last Edit: April 18, 2017, 09:02:03 PM by Dima555 »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Code: (clickermann) [Select]
WHILE($var = 0)
    $timer1 = $_ms
    GETSCREEN($_xmouse,$_ymouse,$_xmouse,$_ymouse)
    IF(PXL($_xmouse,$_ymouse) = 255)
        $var = 1
    ELSE
        WAITMS(20)
    END_IF
END_CYC

LOGWRITE("время реакции : ", $_ms - $timer1, " мс")
LOGWRITE(" ")

HALT

Лог:
Code: [Select]
9:57:58 время реакции : 1 мс
Время между проверками 20 мс. WAITMS(20). Ну можешь уменьшить до 5 мс.

Ещё может быть, что приложение реагирует не на нажатие ЛКМ, а на отжатие, хотя и вряд ли.
По умолчанию задержка в кликах LCLICK и др. 30 мс. Можно прописать "0" здесь:
Clickermann\config.ini
параметр smart_delay = 30


Но даже, если и по отжатию, минимальный интервал 20 мс, максимальный  51 мс.
По нажатию,                            минимальный интервал 20 мс, максимальный  21 мс.
Это ни о чём. Скорость клика реального человека даже рядом не лежит.

Вот мои тесты:
Код
[spoiler]
Code: (clickermann) [Select]
WAITMS(300)
WHILE(1)
    WHILE(ISKEYDOWN(1) = 0)
        WAITMS(5)
    END_CYC
    $timer1 = $_ms
    WHILE(ISKEYDOWN(1) = 1)
        WAITMS(5)
    END_CYC
   
    WHILE(ISKEYDOWN(1) = 0)
        WAITMS(5)
    END_CYC
    $sm = $_ms - $timer1
    WHILE(ISKEYDOWN(1) = 1)
        WAITMS(5)
    END_CYC
   
    LOGWRITE("время неполное ", $sm, " мс,  полное ", $_ms - $timer1, " мс")
END_CYC
HALT
[/spoiler]

Неполное время - до второго нажатия. Полное - до отпускания
Code: [Select]
10:20:58 время неполное 153 мс,  полное 227 мс
10:20:58 время неполное 158 мс,  полное 244 мс
10:20:59 время неполное 181 мс,  полное 248 мс
10:20:59 время неполное 157 мс,  полное 249 мс

Даже аппаратная кнопка 2x на мыши в среднем даёт 120 мс на двойной.
Code: [Select]
10:25:53 время неполное 126 мс,  полное 191 мс
10:25:54 время неполное 118 мс,  полное 191 мс
10:25:55 время неполное 118 мс,  полное 190 мс
10:25:56 время неполное 129 мс,  полное 194 мс
« Last Edit: April 19, 2017, 10:30:01 AM by Vint »