Тема: AHK: Одновременный поиск нескольких пикселей
Здравствуйте.
Не мог бы кто подсказать как сделать так что бы PixelSearch искал несколько разных пикселей в одной и той же области.
Имеется код:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#Persistent
SetBatchLines, -1
SetTimer, S1, 0
Pause
*~XButton2::
Loop
{
S1:
MouseGetPos, xpos, ypos
zX1:=xpos-5,zX2:=xpos+5,zY1:=ypos-5,zY2:=ypos+5
PixelSearch, VarX, VarY, zX1, zY1, zX2, zY2, 0x000001, 4, Fast RGB
PixelSearch, VarX, VarY, zX1, zY1, zX2, zY2, 0x000002, 2, Fast RGB
PixelSearch, VarX, VarY, zX1, zY1, zX2, zY2, 0x000003, 1, Fast RGB
if !ErrorLevel
{
;Sleep, 10
;MouseMove, VarX, VarY
;moveAmount := (moveAmount = 2) ? 3 : 0
;mouseXY(moveAmount,1000)
MouseClick ,, ; VarX, VarY,, 0
SetTimer, S1, Off
SetTimer, S2, -50
}
If !GetKeyState("XButton2", "P")
Break
}
Return
mouseXY(VarX,VarY)
{
DllCall("mouse_event",int,1,int,x,int,y,uint,0,uint,0)
}
End::ExitApp
S2:
SetTimer, S1, On
Return
Цвета взяты просто для примера:
PixelSearch, VarX, VarY, zX1, zY1, zX2, zY2, 0x000001, 4, Fast RGB
PixelSearch, VarX, VarY, zX1, zY1, zX2, zY2, 0x000002, 2, Fast RGB
PixelSearch, VarX, VarY, zX1, zY1, zX2, zY2, 0x000003, 1, Fast RGB
Это совершенно разные цвета и "подбор тонна" сюда не подходит. (0-255 перед фаст)
Но в данном случае ищет только последнюю строчку PixelSearch, а нужно что бы искало все 3 варианта одновременно.
Есть мысль по поводу If и Else, но не понимаю как это реализовать, да и кажется что это будет малоэффективно так как на перебор условий уйдёт слишком много времени я полагаю.
Может быть есть другой вариант?
Если нет то можно небольшой пример с If Else и PixelSearch?
Спасибо!