Ich versuche derzeit eine Art zeitgesteuertes Script mit AutoIt zu erstellen.
Die Kurzbeschreibung, was das Script machen soll
Dauerhaft diverse Tastendrücke ausführen
Jede Stunde die Taste 5 betätigen
Alle 15 Minuten die Taste 4 betätigen und 2 Mausklicks auf statische Koordinaten
Alle 5 Minuten die Taste 6 betätigen
Nun mein derzeitiger vorhandener Code:
Code:
While 1
$timer = TimerInit ()
While 1
If TimerDiff ($timer) > 900000 Then
sleep(1000)
Send("4")
MouseClick("left", 802, 562, 2)
Sleep(1000)
MouseClick("left", 859, 605, 2)
sleep(13000)
ExitLoop
EndIf
While 1
If TimerDiff ($timer) > 3600000 Then
Send("5")
ExitLoop
EndIf
While 1
If TimerDiff ($timer) > 30000 Then
Send("6")
ExitLoop
EndIf
Sleep(500)
############################################################
# //--> Die eigentliche Funktion die dauerhaft läuft <--\\ #
############################################################
Sleep(500
WEnd
WEnd
WEnd
WEnd
Seid gnädig mit mir, ist mein erstes Script in AutoIt ^^
Nun die Frage: Gibt es da eine bessere bzw. elegantere Lösung, oder macht das Script das, was es wie o.g. soll. Denn eine Stunde warten ob auch alle Funktionen wirklich ihren Dienst erledigen wollte Ich dann doch nicht.
Thema eleganter: schau dir mal die Makros @MIN und @HOUR bzw. die Funktion TimerDiff() und TimerInit()
Nochmal für AotuIt Newbies bitte ^^
Und zum Script:
Ich habe das jetzt vorerst mal mit Tränken und niedriger Zeitangabe probiert.
Allerdings ist es so, daß sobald die Zeit abgelaufen ist, die Tasten immerwieder gedrückt werden, und der Rest vom Script nicht mehr weiterläuft. Ich möchte aber, daß im Beispiel oben, die Taste 6 alle 5 Minuten betätigt wird, und danach das Script weiterläuft.
Kann mir da mal jemand ein Beispiel geben oder mir helfen bitte ? =/
mit @MIN und @HOUR kannst du die derzeitige Stunden und Minuten auslesen.
Das behebt natürlich das Problem, daß die Tasten dauerhaft gedrückt werden. Danke -_-
Das mit MIN und HOUR habe Ich mittlerweile raus, aber keine Lösung auf das "Dauerdrücken".
Das Script macht das was es soll, eben mit dem kleinen Fehler, daß sobald die 5 Minuten beispielsweise abgelaufen sind, die Taste 6 immerwieder gedrückt wird, statt einmal.
Und jetzt nochmal: Wie muss Ich das im oben gezeigtem Code ändern, daß die Taste nur 1 mal alle 5 Minuten gedrückt wird ?
Wieso Ironie? Also willst du dich nicht bei uns bedanken? pfff...
Bedanken ? Für genau was ?
Würdest Du dich bei nem Huchschuldozenten bedanken, wenn der dir erklärt das 1+1 = 2 ist ? Dir also Dinge erklärt die Du bereits weisst, aber nicht zur Lösung deines Problems führen ? Ja ? Respekt ^^
Wenn dir jemand erklärt wie du 1+1 zusammenrechnest, muss er dir dann auch noch erklären wie du 10+10 rechnest oder wie du 1+1-2 rechnest? Nein! Er hat die das Werkzeug gegeben mit den du deine Probleme in Zukuft selber lösen kannst. Wenn du nämlich nicht verstehst wie du 1+1 rechnest, sondern dir nur merkst dass 1+1=2 ist, dann wirst du ihn bei jeder Aufgabe die ihr noch nicht zusammengerechnet habt wieder fragen müssen ob dein Ergebnis das richtige ist...
So, und nun um dir zu zeigen dass du mit mit ein bisschen Eigeninitiative mit meinem Ansatz zum Ziel gekommen wärst.
Dein Request:
Quote:
Originally Posted by Madingo
Dauerhaft diverse Tastendrücke ausführen
Jede Stunde die Taste 5 betätigen
Alle 15 Minuten die Taste 4 betätigen und 2 Mausklicks auf statische Koordinaten
Wenn dir jemand erklärt wie du 1+1 zusammenrechnest, muss er dir dann auch noch erklären wie du 10+10 rechnest oder wie du 1+1-2 rechnest? Nein! Er hat die das Werkzeug gegeben mit den du deine Probleme in Zukuft selber lösen kannst. Wenn du nämlich nicht verstehst wie du 1+1 rechnest, sondern dir nur merkst dass 1+1=2 ist, dann wirst du ihn bei jeder Aufgabe die ihr noch nicht zusammengerechnet habt wieder fragen müssen ob dein Ergebnis das richtige ist...
Oder man bringt sich einfach alles selbst bei, weil jeder anders rechnet, und den anderen unter die Nase reiben will, daß er mit dem Löffel der Weisheit im Schnabel geboren wurde :
Code:
#include <Timers.au3>
HotKeySet("!e", "_end")
$timer_1h = TimerInit()
$timer_15m = TimerInit()
$timer_5m = TimerInit()
While 1
If Int(TimerDiff($timer_1h )/ 1000) >= 3600 Then
Send("5")
$timer_1h = TimerInit()
EndIf
If Int(TimerDiff($timer_15m)/ 1000) >= 900 Then
sleep(1000)
Send("4")
MouseClick("left", 553, 760,2 )
Sleep(1000)
MouseClick("left", 618, 803, 2)
sleep(13000)
$timer_15m = TimerInit()
EndIf
If Int(TimerDiff($timer_5m)/ 1000) >= 300 Then
Send("6")
$timer_5m = TimerInit()
EndIf
[....]
WEnd
Func _end()
Exit
EndFunc ;==>_end