Что нового

Действие/бездействие для объекта с меткой

Sergio

Новичок
Сообщения
41
Репутация
3
Добрый день уважаемые форумчане. Знакомлюсь с AUTOIT, решил для пробы написать бот к игре, чтобы, так сказать, совместить приятное с полезным. Имеется игровое поле, на котором рандомно в любом месте вырастает цветочек. Я написал (прошу не судить строго, свой первый) код
[hide]
Код:
Global $clever=0xFF0051
While 1
   WinActivate(" игра", " игра")
    $var = PixelSearch(73, 156, 1268, 1086, $clever) ; поиск цветка по пикселю
    if IsArray($var) =1 Then
	   MouseClick("left", $var[0], $var[1], 2, 0)
    EndIf
    Sleep(Random(3000, 5000, 0)) ; эта строка почему то не работает
WEnd
[/hide]

в целом на цветок нажимается, но как указать что нужно игнорировать цветок над которым желтый кружочек с цифрой? Пол дня гуглил, но либо коды слишком сложные для разбора полетов, либо не то что нужно. Буду очень признателен за отзывчивость
 

Вложения

  • поле.jpg
    поле.jpg
    199 КБ · Просмотры: 22

ildar

Осваивающий
Сообщения
252
Репутация
29
Если желтый кружок всегда расположен относительно цветка одинаково, высчитай разницу $x и $y
0xFFFF00 - вроде желтый
Код:
Global $clever=0xFF0051
While 1
   WinActivate(" игра", " игра")
    $var = PixelSearch(73, 156, 1268, 1086, $clever) ; поиск цветка по пикселю
    if IsArray($var) = 1 And PixelGetColor($var[0] - $x, $var[1] - $y) <> 0xFFFF00 Then
       MouseClick("left", $var[0], $var[1], 2, 0)
    EndIf
    Sleep(Random(3000, 5000, 1)) ; тут 1 думаю нужна
WEnd
 
Автор
S

Sergio

Новичок
Сообщения
41
Репутация
3
Спасибо что откликнулись. Примерно суть ясна, но
ildar сказал(а):
Код:
if IsArray($var) = 1 And PixelGetColor($var[0] - $x, $var[1] - $y) <> 0xFFFF00 Then

не совсем понимаю что означает <>? Для какой цели эти команды нужны. У меня так не работает. Может можно как то указать отклонение в желтом цвете?
UPD. Все понял почему не работает. Разобрался в чем ошибка.
 
Верх