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!