AutoIT Script soll Buttons im Hintergrund drücken.

01/09/2018 02:08 criunk#1
Hallo, ich hätte da mal eine Frage. Ich habe mir ein kleine Script gebastelt und würde das ganze nun so umschreiben wollen dass er die Schleife im Hintergrund ausführt so dass ich nebenbei YouTube videos gucken kann. Das Problem ist, die Buttons sind nicht statisch da und sind teilweise erst später zu klicken, je nachdem wie schnell der Server reagiert. Sprich Druck->15ms laden->Druck->12ms laden->Druck usw. Wie kriege ich das ganze nun effektiv hin dass er wirklich nur drückt wenn der Button da ist? Momentan habe ich alles so eingestellt dass er wie ein wahnsinniger hin und her klickt in der Hoffnung so viele Buttons wie möglich zu erwischen. Es klappt auch ganz gut, aber da muss es doch eine sauberere Methode geben?

MFG

01/09/2018 06:55 Moneypulation#2
Erstens solltest du mal deine Tausend MouseClicks durch sowas ersetzen

PHP Code:
Local $rangeX[2] = [1000,1200]
Local $rangeY[2] = [700,800]

For 
$i=0 To 10
    MouseClick
("left",Random($rangeX[0],$rangeX[1],1),Random($rangeY[0],$rangeY[1],1),1,2)
Next 
Wie schnell sich der Zeiger bewegen soll kannst du auch in MouseClick angeben. MouseMove brauchst du daher nicht. Um dir weiterzuhelfen, bräuchten wir schon mehr Information. Wenn es sich um eine Webseite handelt, kannst du ja die IE.au3 nutzen um mit _IEAction($obj, "click") im Hintergrund zu klicken. Oder du holst dir den Handle vom Control und klickst mittels ControlClick.
01/09/2018 16:58 elmarcia#3
If you want to work in background i always use controlclick for my bots, then u can do whatever you want and the mouse will be free to use.
01/09/2018 20:42 criunk#4
Quote:
Originally Posted by Moneypulation View Post
Erstens solltest du mal deine Tausend MouseClicks durch sowas ersetzen

PHP Code:
Local $rangeX[2] = [1000,1200]
Local $rangeY[2] = [700,800]

For 
$i=0 To 10
    MouseClick
("left",Random($rangeX[0],$rangeX[1],1),Random($rangeY[0],$rangeY[1],1),1,2)
Next 
Wie schnell sich der Zeiger bewegen soll kannst du auch in MouseClick angeben. MouseMove brauchst du daher nicht. Um dir weiterzuhelfen, bräuchten wir schon mehr Information. Wenn es sich um eine Webseite handelt, kannst du ja die IE.au3 nutzen um mit _IEAction($obj, "click") im Hintergrund zu klicken. Oder du holst dir den Handle vom Control und klickst mittels ControlClick.
Es handelt sich um ein Spiel auf Unity basis, das Problem ist nicht die Geschw. des Zeigers sondern WANN der Klick stattfinden soll, denn manchmal braucht der Server des Spiels länger und manchmal kürzer bis man den Button wieder klicken kann (Ist ausgegraut).