Ok, ich möchte ein kleines Programm zum testen schreiben, dass bei einem Guitarhero-ähnlichem Spiel die Taste für die Note im richtigen Zeitpunkt und für die richtige Dauer drückt. Im Prinzip hab ich mir das etwa so vorgestellt:
$yellow = PixelSearch (left, top, right, bottom, color , shade-variation)
If Not @error Then
Send("{1 down}")
Sleep($sleep)
$i = 0
ElseIf @error Then
Send("{1 up}")
$i = 1
EndIf
If $i = 1 Then
Sleep($sleep2)
EndIf
Alles anzeigen
Also es sucht im vorgegebenen Rahmen nach der Farbe, wenn es sie findet, sendet und hält es 1 solange bis die Farbe nicht mehr gefunden wird. $i soll bezwecken, dass das Programm nicht so viel CPU beansprucht.
Mein Problem ist, dass es nicht wie beschrieben funktioniert. Wenn 1 gesendet wird dann lässt er sie auch nicht mehr los wenn die Note längst vorbei ist. Es kommt mir eher total willkürlich vor, wann im Endeffekt die Taste wieder losgelassen wird. Und wenn ich zB 2 drücke, dann hält es 2 bis das Script pausiert oder beendet wird. Genauso mit anderen Tasten, die im Script gar nicht vorkommen.
Mit mehreren Noten hab ich es auch schon probiert und er trifft gerade mal rund 50% und hält sie auch eher willkürlich lang. Mit diesem Script
$yellow = PixelSearch (left, top, right, bottom, color , shade-variation)
If Not @error Then
Send("{1}")
Sleep($sleep)
$i = 0
ElseIf @error Then
$i = 1
EndIf
If $i = 1 Then
Sleep($sleep2)
EndIf
Alles anzeigen
trifft er 100% der Noten, aber hält sie selbstverständlich nicht.
Bitte um einen Ratschläge ![]()
MfG