Juhu ich habe es hinbekommen Sogar mit einer zusätzlichen Farbe, für mich schon als Erfolg zu werten
Allerdings eins bekomm ich noch nicht hin und zwar das ganze in einer Endlosschleife laufen zu lassen. Bekomme immer einen Error.
Kann mir da vielleicht nochmal jemand helfen?
Hier mal das Script:
AutoIt
;-- TIME_STAMP 2017-01-22 21:16:57
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $g_aCheckPos
; $g_iColor = Hintergrundfarbe des SciTE-Window
Global $g_iColor = 0x87c323, $g_iColor1 = 0x34302d, $g_iCheckCount = 1, $g_iSleep = 100, $g_iTimeout = 3000, $g_x = $g_aCheckPos, $g_y = $g_aCheckPos
Global $g_ixPosClick = 86, $g_iyPosClick = 508
Global $g_aArray = [[$g_x + 290, $g_y + 198, $g_iColor], _
[$g_x + 290, $g_y + 198, $g_iColor], _
[$g_x + 290, $g_y + 198, $g_iColor], _
[$g_x + 325, $g_y + 631, $g_iColor1]]
Global $g_bAdlib = AdlibRegister('_CheckColor', $g_iTimeout)
While $g_bAdlib = True
Sleep(100)
WEnd
_Exit()
Func _CheckColor()
Local Static $iCheckCount = 0
If _PixelArrayCheckColor($g_aArray, $g_iSleep) = True Then
MouseClick("left", $g_ixPosClick, $g_iyPosClick, 1, 1)
EndIf
If _PixelArrayCheckColor($g_aArray, $g_iSleep) = True Then
ConsoleWrite('+ Bingo!!!' & @CRLF)
Else
ConsoleWrite('! Ops...' & @CRLF)
EndIf
$iCheckCount += 1
If $iCheckCount = $g_iCheckCount Then $g_bAdlib = False
EndFunc
Func _PixelArrayCheckColor($aArray, $iSleep = 1)
Local $iColor
For $i = 0 To UBound($aArray) -1 Step 1
$iColor = PixelGetColor($aArray[$i][0], $aArray[$i][1])
If $iColor <> $aArray[$i][2] Then Return False
ConsoleWrite('- $iColor(' & _Hex($iColor) &') = PixelGetColor('& _Hex($aArray[$i][2]) & ')' & @CRLF)
Sleep($iSleep)
Next
Return True
EndFunc
Func _Hex($iDec)
Return '0x' & Hex($iDec, 6)
EndFunc
Func _Exit()
AdlibUnRegister('_CheckColor')
Exit
EndFunc
Alles anzeigen
Danke