Здравствуйте.
Собственно, вопрос в названии. Поясню.
Клик реализуется следующим образом:
- находится изображение;
- на него наводится курсор мыши;
- клик;
- увод курсора (опционально)
Вопрос в следующем:
Как сделать паузу между наведением и кликом. Дело в том, что при использовании enablerealmouse() движение курсора занимает некоторое время и клик происходит "по пути", не дожидаясь окончания движения.
И еще небольшая просьба к Кибору - разместите, пожалуйста, в справке современное описание функций (в частности - findimage). Добавлена уже куча разных опций и искать их по обновлениям довольно некомфортно...
1. Chick - 10 Июня, 2020 - 21:21:19 - перейти к сообщению
2. Kibor - 10 Июня, 2020 - 21:39:29 - перейти к сообщению
Chick пишет:
Дело в том, что при использовании enablerealmouse() движение курсора занимает некоторое время и клик происходит "по пути", не дожидаясь окончания движения.
Никак нет. Клик происходит только после того как движение пришло к конечной точке. Это реализовано в самой функции mouse, которая и делает клик в findimage_
Возможно большая рандомность в enablerealmouse и не попадает по картинке.
Chick пишет:
Как сделать паузу между наведением и кликом
Делайте клик не в блоке поиска, а отдельно блоками мыши. Навел, пауза, нажал. Но это не надо.. Поставьте меньше рандомность и все будет нормально.
3. Chick - 10 Июня, 2020 - 21:40:33 - перейти к сообщению
Рандомность до нуля убрал.
enablerealmouse(30,15,0,0);
Всё-равно не попадает ((
enablerealmouse(30,15,0,0);
Всё-равно не попадает ((
4. Kibor - 10 Июня, 2020 - 21:47:09 - перейти к сообщению
Значит что то не то делаете и не так ищите. Кликает в конечной точке.
5. Chick - 10 Июня, 2020 - 21:48:32 - перейти к сообщению
Kibor пишет:
Значит что то не то делаете и не так ищите. Кликает в конечной точке.
Я однозначно что-то не так делаю
Ладно, буду разбираться )) Похоже, визуальный редактор кода - немного не соответствует моим желаниям. Перепишу всё вручную ))
6. Kibor - 10 Июня, 2020 - 21:52:37 - перейти к сообщению
Паузу сделать так:
В блоке поиска сделать - навести мышь и поставить паузу после действий мыши.
Потом блок мыши с кликом и в нем такие координаты (если переменные не меняли)
x_KIB y_KIB
+ начало зоны поиска если не 0 0
В блоке поиска сделать - навести мышь и поставить паузу после действий мыши.
Потом блок мыши с кликом и в нем такие координаты (если переменные не меняли)
x_KIB y_KIB
+ начало зоны поиска если не 0 0
7. Chick - 10 Июня, 2020 - 22:17:21 - перейти к сообщению
Kibor пишет:
Паузу сделать так:
В блоке поиска сделать - навести мышь и поставить паузу после действий мыши.
Потом блок мыши с кликом и в нем такие координаты (если переменные не меняли)
x_KIB y_KIB
+ начало зоны поиска если не 0 0
В блоке поиска сделать - навести мышь и поставить паузу после действий мыши.
Потом блок мыши с кликом и в нем такие координаты (если переменные не меняли)
x_KIB y_KIB
+ начало зоны поиска если не 0 0
Заменил конструкцию:
CODE:
if (m==1){mouse(LEFT, xs+xKIB+xm+2, ys+yKIB+ym-2); goto hy;}
на
CODE:
if (m==1){mousemove(xs+xKIB+xm+2, ys+yKIB+ym-2); sleep(10000); mouse(LEFT); sleep(3000); goto hy;}
и всё замечательно отработало!
Так что, всё-таки, похоже, всё дело именно в промежутке времени, затрачиваемом на движение курсора.
8. Kibor - 11 Июня, 2020 - 02:47:05 - перейти к сообщению
Chick пишет:
Так что, всё-таки, похоже, всё дело именно в промежутке времени, затрачиваемом на движение курсора.
Может быть. Но не потому что кликает в движение, а потому что игре или программе требуется пауза после наведения мыши перед кликом.Проверьте в паинте когда кликает. Кликает в конце.
Паузу такую можно сделать с дополнительным блоком мыши.