Что нового

Клик по цвету

dmdtip

Новичок
Сообщения
6
Репутация
0
Доброго времени суток! У меня такой вопрос,вот имеется на экране например 15 одинаковых цветов.
$coord = PixelSearch ( 24, 177, 1100, 491, 0xFEAE2C ,20)

Можно ли как то кликать в каждый цвет поочереди,а не в одно и тоже место до того,пока не исчезнет он? Если да,то покажите пример,заранее Спасибо!
 

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
24
15 одинаковых цветов...
Конкретизируйте пожалуйста:
1) 15 различных областей одного цвета?
2) или 15 пикселей на экране одного цвета?
3) Координаты областей имеются? Или их искать нужно?

а еще лучше скриншот выложите.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
На скорость не претендую, но думаю на нужды автора хватит за глаза как пример.
Код:
qwqw(0,0,1024,768, 0xFFFFFF, 10)
Func qwqw($x1, $y1, $x2, $y2, $col, $shade)
   For $y = $y1 To $y2 Step 1
	  For $x = $x1 To $x2 Step 1
		 PixelSearch($x, $y, $x, $y, "0x"&Hex($col,6), $shade)
		 If Not @error Then MouseClick("left", $x, $y, 1, 10)
	  Next
   Next
EndFunc
 
Автор
D

dmdtip

Новичок
Сообщения
6
Репутация
0
1370593228-clip-134kb.jpg
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Может быть это надо отправить в раздел по ботам?
 

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
24
хм, ну скорость можно увеличить сканируя не всю область, а скажем по одной строчке $y, скажем на растоянии равном одной четвертой области полоски жизни...
Код:
For $y = $y1 To $y2 Step 1
      For $x = $x1 To $x2 Step 15 ; так будет проверяться не каждая (вертикальная строчка?)!
         PixelSearch($x, $y, $x, $y, "0x"&Hex($col,6), $shade)
         If Not @error Then MouseClick("left", $x, $y, 1, 10)
      Next
   Next
 
Автор
D

dmdtip

Новичок
Сообщения
6
Репутация
0
Код:
#region ---Au3Recorder generated code Start ---
Opt("WinWaitDelay",100)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)

Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")

_WinWaitActivate("инфа","")
while 1

qwqw(202, 86, 957, 445,0xFEAE2C,20)
WEnd 
Func qwqw($x1, $y1, $x2, $y2, $col, $shade)
   For $y = $y1 To $y2 Step 1
      For $x = $x1 To $x2 Step 15 ; так будет проверяться не каждая (вертикальная строчка?)!
         PixelSearch($x, $y, $x, $y, "0x"&Hex($col,6), $shade)
       if not @error Then
            MouseClick("left", $x, $y, 1, 30)
            EndIf 
      Next
   Next
EndFunc

Func TogglePause()
$Paused = NOT $Paused
While $Paused
 sleep(100)
 ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc

Func Terminate()
Exit 0
EndFunc

#region --- Internal functions Au3Recorder Start ---
Func _WinWaitActivate($title,$text,$timeout=0)
WinWait($title,$text,$timeout)
If Not WinActive($title,$text) Then WinActivate($title,$text)
WinWaitActive($title,$text,$timeout)
EndFunc
#endregion --- Internal functions Au3Recorder End ---

#endregion --- Au3Recorder generated code End ---


Накидал что то,но так и не смог заставить кликать по всем монстрам в бою....
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
dmdtip,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Верх