Что нового

Перемещение мыши на цвет

Tsigun

Новичок
Сообщения
29
Репутация
0
Хочу сделать бота, который перемещает мышь на определенный цвет. Идея заключается в том, что прицел( мышь ) стоит в вентре экрана, и по правую и левую сторону есть по 4 мишени ( в сумме 8 областей поиска) мне нужно что бы скрипт сканировал область на наличие определенного цвета, и если цвет есть, он наводился и нажимал лкм, после чего возвращался в изначальное положение и так по кругу. Я примерно представляю как это может выглядить, но не знаю как к одной функции MouseMove приписать 8 областей поиска. Я знаю что можно выбрать целую область со всеми мишенями, но в таком случае получается слишком много пикселей этого цвета и мышь начинает прыгать по всему экрану.
Сообщение автоматически объединено:

Хочу уточнить, если программа найдет в одной из 8 областей цвет, то она переместит мышь на уже заданную координату для этой области. Опять же,я вроде понимаю как это реализовать, но не понимаю как это сделать одновременно для 8 мишеней и 8 координатами.
 
Последнее редактирование:

All2khoff

Продвинутый
Сообщения
352
Репутация
65
Код:
While 1
search(200, 300, 250, 350, 0xED1C24)                       ;координаты 1й области (координаты левой стороны прямоугольника, верхней стороны прямоугольника, правой стороны прямоугольника, нижней стороны прямоугольника, цвет)
;search()                                                    ;координаты 2й области
;search()
;search()
;search()
;search()
;search()
;search()                                                    ;координаты 8й области
WEnd

Func search($x,$y, $x1, $y1, $color)
    $coord = PixelSearch($x,$y, $x1, $y1, $color)    ;проверяем наличие цвета в области
    If Not @error Then                                        ;если цвет найден действуем
        $mvx = $x+$x1/2
        $mvy = $y+$y1/2
        MouseMove($mvx,$mvy)                                ;центр области где найден цвет
        Sleep(200)                                            ;задержка 0.2 секунды дабы курсор мышки успел доехать.
        MouseClick("left")
        Sleep(200)
        MouseMove(400,500)                                    ;ввести координаты центра экрана.
        Sleep(1000)                                            ;1 секунда паузы
    EndIf
EndFunc

это предварительный набросок когда вам доподлинно известно где именно находятся мишени и область поиска ровно по мишеням. тогда выстрел будет в центр области.
если же нужно прям искать мишени по экрану то такой код будет стрелять в молоко.
 
Последнее редактирование:
Верх