Здравствуйте, уважаемые форумчане. Такая вот проблема: надо сделать поиск пикселя по цвету вне экрана, лазил по форуму нашел функцию на поиск:
слегка видоизменил, что б при условии, если пиксель будет найдет то coor будет равен 1.
Вот мой скрипт:
Вылетает ошибка связанная с функцией, может библиотеку какую не подключил? (На этот момент подключена библиотека: WinAPIEx.au3)
В заранее спасибо
Код:
Func _SearchPix($x1, $y1, $x2, $y2, $coll, $shvar=0, $step=1)
$ARGB = _WinAPI_IntToDWord(BitOR($coll, 0xFF000000))
$Size = WinGetClientSize($nWnd)
$L1 = $Size[0]*($y1-1)+$x1
$L2 = $Size[0]*($y2-1)+$x2
$L = $Size[0] * $Size[1]
$tBits = DllStructCreate('dword[' & $L & ']')
_WinAPI_GetBitmapBits($hBMP, 4 * $L, DllStructGetPtr($tBits))
$Offset = -1
For $i = $L1 To $L2 Step $step
If DllStructGetData($tBits, 1, $i) = $ARGB Then
$Offset = $i
ExitLoop
EndIf
Next
If $Offset = -1 Then
Return SetError(1)
Else
$x = Mod($Offset, $Size[0]) - 1
$y = Ceiling($Offset / $Size[0]) - 1
;$coor[2] = [$x, $y]
Return $coor=1
EndIf
EndFunc
слегка видоизменил, что б при условии, если пиксель будет найдет то coor будет равен 1.
Вот мой скрипт:
Код:
func Position_hide()
WinActivate($TWnd,$hWnd)
opt("PixelCoordMode",0)
$width = 21* $aPos[2] / 100
$Pos_HP = PixelSearch($x1=$width-$HP,$y1=53,$x2=$width-$HP+3,$y2=80,$coll=0x372A11) ;,0x372A11)
_SearchPix($coor)
$abby[0]=$coor
$Pos_Monst = PixelGetColor(573,65)
$Pos = PixelSearch( $x1=$width-$HP, $y1=53, $x2=310, $y2=84, $coll=0x5E9438)
$abby[1]=$coor
$PosMonster = PixelSearch( $x1=499, $y1=48, $x2=980, $y2=86, $coll=0x6A3838)
_SearchPix($coor)
$abby[2]=$coor
$PosMonster2 = PixelSearch( $x1=499, $y1=48, $x2=980, $y2=86, $coll= 0x8D2322)
_SearchPix($coor)
$abby[3]=$coor
$PosMonster3 = PixelSearch( $x1=499, $y1=48, $x2=980, $y2=86, $coll= 0x861D1D)
_SearchPix($coor)
$abby[4]=$coor
if $abby[0]=1 and $abby[2]=1 and $abby[3]=1 and $abby[4]=1 Then
ActivateHealth_hide()
EndIf
EndFunc
Вылетает ошибка связанная с функцией, может библиотеку какую не подключил? (На этот момент подключена библиотека: WinAPIEx.au3)
В заранее спасибо