Etwas eine bestimmte zeit machen

09/04/2012 17:50 SinalkoKnight#1
Hallo Lieber Coder ;)
Also ich wollte ein Programm machen das 13 sekunden lang die F5 taste drückt und danach 2 mal die F3 taste und das die ganze zeit ich
bedanke mich jetzt schon mal für alle hilfen
Thanks gibts natürlich auch
09/04/2012 17:56 -STORM-#2
Ich nehme an, du kriegst die Tastendrücke selbst hin?
Code:
$timer = TimerInit()
Do
;// Tastendrücke...
Until TimerDiff($timer) >= 13000
Der Timer zählt in Millisekunden (1s = 1000ms).
TimerInit() startet ihn und TimerDiff($timer) gibt immer die Differenz zur Startzeit zurück.
09/04/2012 17:57 Havelock_Vetinari#3
Quote:
Originally Posted by -STORM- View Post
Ich nehme an, du kriegst die Tastendrücke selbst hin?
Code:
$timer = TimerInit()
Do
;// Tastendrücke...
Until TimerDiff($timer) >= 13000
Der Timer zählt in Millisekunden (1s = 1000ms).
Dann würde aber die F5 taste immer wieder neu gedrückt werden.

Nicht getesteter Code , bin mir sehr unsicher ob das funktioniert :
Code:
HotKeySet("{F6}","ende")


While 1
	Send("{F5} {Down}")
	Sleep(13000)
	Send("{F5} {Up}")
	Sleep(50)
	Send("{F3}")
	Sleep(50)
	Send("{F3}")
WEnd



Func ende()
	Exit
EndFunc
09/04/2012 18:01 -STORM-#4
Hmm, vielleicht habe ich ihn falsch verstanden, ich dachte, das wäre sein Ziel.
Dein Code sollte jedenfalls funktionieren.
Edit: Ohne zu testen, würde ich vermuten, dass es "{F5 Down}" lautet.
09/04/2012 18:03 Havelock_Vetinari#5
Quote:
Originally Posted by -STORM- View Post
Hmm, vielleicht habe ich ihn falsch verstanden, ich dachte, das wäre sein Ziel.
Dein Code sollte jedenfalls funktionieren.
Weiß selber nicht wie er es meint :) Ich hab verstanden 13sec. F5 halten ,danach 2 mal F3... Aber ist ja auch egal .Kann sich ja das passende Script nehmen

€dt:{F5 Down} hatte ich vorhin ,shien aber dann nach testen nicht zu funktionieren... {F5} {Down} ging , zumindest hat es die Seite neu geladen ^^
09/04/2012 18:11 SinalkoKnight#6
Quote:
Originally Posted by Alex_II View Post
Weiß selber nicht wie er es meint :) Ich hab verstanden 13sec. F5 halten ,danach 2 mal F3... Aber ist ja auch egal .Kann sich ja das passende Script nehmen

€dt:{F5 Down} hatte ich vorhin ,shien aber dann nach testen nicht zu funktionieren... {F5} {Down} ging , zumindest hat es die Seite neu geladen ^^
ja so meint ich das^^ ich test es gleich mal schon mal thanks für euch :)
09/04/2012 18:19 KDeluxe#7
Quote:
Originally Posted by Alex_II View Post
€dt:{F5 Down} hatte ich vorhin ,shien aber dann nach testen nicht zu funktionieren... {F5} {Down} ging , zumindest hat es die Seite neu geladen ^^
Natürlich, erst wird ja F5 gedrückt, wodurch die Seite neu geladen wird und anschließend wird {DOWN} (Pfeiltaste nach unten) gedrückt.

"Richtig" wäre: Send("{F5 DOWN}")
09/04/2012 18:50 SinalkoKnight#8
also mein script ist imoment so Func start()
While 1
$timer = TimerInit()
Send ("{F4}")
Sleep (50)
Send ("{F4}")
Sleep (50)
Do
Send ("{F5}")
Until TimerDiff($timer) >= 10000
Send ("{F4}")
Sleep (50)
Send ("{F4}")
WEnd
EndFunc

nur mein problem ist nun das er die F4 taste dann nicht drückt sondern die ganze zeit F5 würd mich freuen wenn ihr des script verbessern könnt danke nochmal :)
09/04/2012 19:24 Ludder231#9
versuchs mit F4 down vllt regiert das Spiel zu lagnsam....
09/04/2012 19:46 KDeluxe#10
AutoItSetOption("SendKeyDownDelay", x)
x = Delay in ms
09/05/2012 18:38 SinalkoKnight#11
Quote:
Originally Posted by KDeluxe View Post
AutoItSetOption("SendKeyDownDelay", x)
x = Delay in ms
das versteh ich jetzt nicht so ganz wo soll denn da jetzt der send befehl oder die taste hin?
09/05/2012 20:08 -STORM-#12
Den Send Befehl musst du genau so ausführen, wie vorher.
Das ändert die Zeit, die jede Taste beim Send Befehl gedrückt gehalten wird.
Standard ist 5. D.h. Send("abc") würde jeweils 5ms lang a, b und c gedrückt halten.
Kommen die Eingaben mit dieser Einstellung nicht an, kannst du die Option höher einstellen.
Setz z.B. für x 20 ein und schau, ob es dann geht.
Hätte natürlich auch die Folge, dass es insgesamt länger dauert. Für nen Spambot sind lange Zeiten nicht so toll.
Optimal ist also, wenn du die Zeite findest, bei der gerade alle Eingaben ankommen, die aber nicht unnötig lang ist.
09/05/2012 20:09 KDeluxe#13
Quote:
Originally Posted by SinalkoKnight View Post
das versteh ich jetzt nicht so ganz wo soll denn da jetzt der send befehl oder die taste hin?
Wenn du etwas nicht verstehst solltest du dir erst einmal die Hilfe angucken, bevor du eine Frage stellst.
Du musst rein gar nichts in deinem Script ändern, lediglich diese eine Zeile in deinem Script hinzufügen (vor den Send() Befehlen).

Code:
AutoItSetOption("SendKeyDownDelay", 100)

While True
	Send ("{F4}")
	Send ("{F4}")

	$Timer = TimerInit()
	Do
		Send ("{F5}")
	Until TimerDiff($Timer) >= 10000
WEnd