1ekt0r |
Отправлено: 17 Марта, 2025 - 17:49:27
|


Участник

Покинул форум
Сообщений всего: 88
Дата рег-ции: Нояб. 2019
Репутация: 0

|
Здравствуйте уважаемые форумчане. Есть такой вопрос:
Есть 4 зоны поиска (количества пиксилей), когда пиксели появляются в зоне, бот кликает по ним мышкой. по отдельности, когда в определенной зоне появляются пиксели, все норм. Но, когда скорость появления пикселей возрастает и они появляюся в 3 или 4 зонах одновременно, я не могу добиться того, что бы бот успевал кликать по ним всем. Работаю через виз редактор, по этому организовал поиск пикселей пошагово с минимальными паузами, типо если в 1 зоне нет, сканирует 2 и тд. Результат есть, но хотелось бы добиться лучшего. |
|
|
Zireael |
Отправлено: 18 Марта, 2025 - 11:54:54
|


Эксперт

Покинул форум
Сообщений всего: 4552
Дата рег-ции: Нояб. 2017
Репутация: 590

|
Открывать ничего не нужно.
Скрин сохраняется в массив, в функции поиска нужно указать что поиск на скрине, а не экране.
Смотрите примеры: 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); |
|
|
Kibor |
Отправлено: 18 Марта, 2025 - 12:42:42
|


Эксперт

Покинул форум
Сообщений всего: 8268
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357

|
Только сначала надо сделать скрин, который поместится в этот массив
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); |
|
|
1ekt0r |
Отправлено: 30 Марта, 2025 - 00:39:34
|


Участник

Покинул форум
Сообщений всего: 88
Дата рег-ции: Нояб. 2019
Репутация: 0

|
Kibor пишет: Только сначала надо сделать скрин, который поместится в этот массив
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);
спасибо со скриншотом разобрался, но теперь не могу понять, как определить зоны поиска именно на скриншоте через визуальный редактор |
|
|
|