Ich habe ein kleines Script für ein Spiel geschrieben. Dabei benutze ich ImageSearch. Mein Problem ist folgendes:
Das Script hat soweit ganz gut funktioniert bis ich den PC neu gestartet habe und es erneut angemacht habe. Seitdem passiert nach starten der Funktion gar nichts. Wenn ich das zu suchende Bild auf dem Desktop öffne findet das Script das Bild in kurzer Zeit. Das Spiel ist im Fenster Modus.
Hier das Script, mit dem es anfangs noch funktioniert hat
Code:
#include <ImageSearch.au3>
WinActivate("Fenstername")
#RequireAdmin
HotKeySet("{F5}", "_Go")
HotKeySet("{F6}", "_End")
Func _Go()
While 1
Sleep(2000)
_ImgSearch("bild1")
Sleep(2000)
_ImgSearch("bild2")
Sleep(2000)
Do
$bReturn = _ImgSearch("bild3", 1000)
If _ImgSearch("bild4") Then
_ImgSearch("bild4")
EndIf
Until NOT $bReturn
_ImgSearch("bild5")
Sleep(2000)
WEnd
EndFunc
Func _ImgSearch($sPic, $iTimeout = 5000, $bClick = 1, $iTol = 5)
Local $iX = 0, $iY = 0, $bResult = 0, $iTimer = TimerInit()
$aPics = StringRegExp($sPic, '([^|]+)', 3)
While TimerDiff($iTimer) < $iTimeout
For $i = 0 To UBound($aPics) - 1
$bResult = _ImageSearch(@ScriptDir & "/Data/" & $aPics[$i] & ".bmp", 1, $iX, $iY, $iTol)
If $bResult = 1 Then ExitLoop(2)
Sleep(200)
Next
WEnd
If $bClick AND $bResult Then MouseMove($iX, $iY)
Sleep(600)
MouseClick("Left")
Sleep(100)
MouseClick("Left")
Return $bResult
EndFunc
Func _End()
Exit
EndFunc
While Sleep(100)
Wend
Meine Kenntnisse im Programmieren sind einigermaßen beschränkt. Für Verbesserungsvorschläge wäre ich dankbar!






