Здравствуйте уважаемые форумчане. Есть такой вопрос:
Есть 4 зоны поиска (количества пиксилей), когда пиксели появляются в зоне, бот кликает по ним мышкой. по отдельности, когда в определенной зоне появляются пиксели, все норм. Но, когда скорость появления пикселей возрастает и они появляюся в 3 или 4 зонах одновременно, я не могу добиться того, что бы бот успевал кликать по ним всем. Работаю через виз редактор, по этому организовал поиск пикселей пошагово с минимальными паузами, типо если в 1 зоне нет, сканирует 2 и тд. Результат есть, но хотелось бы добиться лучшего.
1. 1ekt0r - 17 Марта, 2025 - 10:49:27 - перейти к сообщению
2. Zireael - 17 Марта, 2025 - 18:43:55 - перейти к сообщению
Сделать скрин, искать на скрине.
Если делать скрин не с экрана, а с окна, то будет ещё быстрее.
Если делать скрин не с экрана, а с окна, то будет ещё быстрее.
3. 1ekt0r - 18 Марта, 2025 - 03:29:27 - перейти к сообщению
Zireael пишет:
Сделать скрин, искать на скрине.
Если делать скрин не с экрана, а с окна, то будет ещё быстрее.
Если делать скрин не с экрана, а с окна, то будет ещё быстрее.
А как искать на скрине не открывая его? или нужно обязательно открывать?
4. Zireael - 18 Марта, 2025 - 04:54:54 - перейти к сообщению
Открывать ничего не нужно.
Скрин сохраняется в массив, в функции поиска нужно указать что поиск на скрине, а не экране.
Смотрите примеры: findcolor
Скрин сохраняется в массив, в функции поиска нужно указать что поиск на скрине, а не экране.
Смотрите примеры: findcolor
Цитата:
Так же возможно искать цвет пикселя загруженного ранее изображения или полученного скриншота в двухмерный массив int
CODE:
int SCREEN[500][700];
//...............
int k=findcolor(-1, #x[0],#y[0], стартx, стартy, финишx, финишy, color, #SCREEN[0][0]);
messagebox (k);
CODE:
int SCREEN[500][700];
//...............
int k=findcolor(-1, #x[0],#y[0], стартx, стартy, финишx, финишy, color, #SCREEN[0][0]);
messagebox (k);
5. Kibor - 18 Марта, 2025 - 05:42:42 - перейти к сообщению
Только сначала надо сделать скрин, который поместится в этот массив
screen -(для просмотра ссылки Вам необходимо авторизоваться)
screen -(для просмотра ссылки Вам необходимо авторизоваться)
CODE:
int SCREEN[200][150];//Выделяем память. Выделить можно больше, с запасом, но не меньше. Если выделить меньше размеров скрина вернет ошибку.
screen (#SCREEN[0][0], старт_X, старт_Y, финиш_X, финиш_Y, w);
int k=findcolor(-1, #x[0],#y[0], 0, 0, финиш_X-старт_X, финиш_Y-старт_Y, color, #SCREEN[0][0]);
messagebox (k);
screen (#SCREEN[0][0], старт_X, старт_Y, финиш_X, финиш_Y, w);
int k=findcolor(-1, #x[0],#y[0], 0, 0, финиш_X-старт_X, финиш_Y-старт_Y, color, #SCREEN[0][0]);
messagebox (k);
6. 1ekt0r - 29 Марта, 2025 - 17:39:34 - перейти к сообщению
Kibor пишет:
Только сначала надо сделать скрин, который поместится в этот массив
screen -(для просмотра ссылки Вам необходимо авторизоваться)
screen -(для просмотра ссылки Вам необходимо авторизоваться)
CODE:
int SCREEN[200][150];//Выделяем память. Выделить можно больше, с запасом, но не меньше. Если выделить меньше размеров скрина вернет ошибку.
screen (#SCREEN[0][0], старт_X, старт_Y, финиш_X, финиш_Y, w);
int k=findcolor(-1, #x[0],#y[0], 0, 0, финиш_X-старт_X, финиш_Y-старт_Y, color, #SCREEN[0][0]);
messagebox (k);
screen (#SCREEN[0][0], старт_X, старт_Y, финиш_X, финиш_Y, w);
int k=findcolor(-1, #x[0],#y[0], 0, 0, финиш_X-старт_X, финиш_Y-старт_Y, color, #SCREEN[0][0]);
messagebox (k);
спасибо со скриншотом разобрался, но теперь не могу понять, как определить зоны поиска именно на скриншоте через визуальный редактор
7. Kibor - 29 Марта, 2025 - 23:52:46 - перейти к сообщению
Рассчитайте смещения где делаете скриншот относительно окна или экрана.
поэкспериментируйте.
поэкспериментируйте.