vorwort: ich kenn mich mit autoit quasi 0 aus , dennoch sind es die kleinen scripts die mir schon lange helfen
bin bestimmt schon 2h am googlen aber nichts trifft genau mein problem
wie es sein sollte : ich brauch nen (hoffentlich)kleines script das wenn ich eine taste drücke (in meinem fall jetzt F4) mir (gleichbleibende)buchstaben+AUFSTEIGENDE ZAHL schreibt
bsp:
wenn ich F4 drücke-> schreib "buchstaben1"
wenn ich F4 das nächste mal drücke-> schreib "buchstaben2"
wenn ich F4 das nächste mal drücke-> schreib "buchstaben3"
usw.
das ist was ich momentan nutze - wobei ich hier die zahlen immer selbst eintippen muss was mit der zeit mühsam wird
vorwort: ich kenn mich mit autoit quasi 0 aus , dennoch sind es die kleinen scripts die mir schon lange helfen
bin bestimmt schon 2h am googlen aber nichts trifft genau mein problem
wie es sein sollte : ich brauch nen (hoffentlich)kleines script das wenn ich eine taste drücke (in meinem fall jetzt F4) mir (gleichbleibende)buchstaben+AUFSTEIGENDE ZAHL schreibt
bsp:
wenn ich F4 drücke-> schreib "buchstaben1"
wenn ich F4 das nächste mal drücke-> schreib "buchstaben2"
wenn ich F4 das nächste mal drücke-> schreib "buchstaben3"
usw.
das ist was ich momentan nutze - wobei ich hier die zahlen immer selbst eintippen muss was mit der zeit mühsam wird
Hey leute ich bin gerade dabei einen Seafight bot zu schreiben der Monster schießt... Er fährt auch rum aber wenn er ein monster sieht ( in meinem Fall moby dick unterbricht er nicht das fahren... Ich werde den Code hier posten
Hey guys,
I´m about to write a seafight monstershoot bot and he drives allready but if he find the monster he don´t brake up the driving and go to shoot the monster he just keep driving and driving and driving...
Du bleibst in der Schleife Do.. Until hängen.
Dein Bot macht solang "$monstersearch" bis "$killingmobydick" erfüllt ist, "$killingmobydick" prüft aber (ich hätte nicht gedacht das man Variablen als Funktionen einsetzen kann, sieht skurril aus) ob $mobydick ein Array ist, was nur einmal am Anfang abgefragt wird. Somit ist $mobydick nie ein Array, weil es nicht nochmal $mobydick sucht.
Pack das lieber in separate Funktionen und lass die While Schleife durchlaufen
Pseudocode:
While True
$aMonster = _sucheMonster()
For $position in $aMonster => _klick_das_monster_an_und_bekaempfe_es()
_suche_weiter()
WEnd
Ich hoffe du willst den Bot nicht veröffentlichen. Der mag vielleicht bei dir die richtigen Koordinaten anklicken, jedoch gibt es viele verschiedene Bildschirmauflösungen. Außerdem ist der Codestil auch fragwürdig
Hey hab ne frage undzwar bräuchte ich jemanden der mir helfen kann ich habe gestern ein script bekommen in welchem die Leertaste Permanent gesendet werden soll (Das ist Perfekt) und dabei wird noch F4 gedrückt jetzt ist mein problem das F4 zu langsam gesendet wir kann mir das jemand schneller stellen?
Script:
Global Const $hotkeyPause = "{PAUSE}", $hotkeyExit = "{ESC}", $keyToSend = "{F4}"
Global Const $timeSleep = 10, $timeKeyInterval = 2000 ; time in ms
Global $running = False
Global $timerKeyToSend, $countKeySent
While Sleep($timeSleep)
If $running Then
Send("{SPACE}")
If TimerDiff($timerKeyToSend) >= $timeKeyInterval * $countKeySent Then
Send($keyToSend)
$countKeySent += 1
EndIf
EndIf
WEnd
Func _TogglePause()
$running = Not $running
If $running Then
$countKeySent = 1
$timerKeyToSend = TimerInit()
EndIf
EndFunc
Hi, dafür musst du in der zweiten Zeile bei $timeKeyIntervall = 2000 einfach den Wert ändern.
Das ist in ms angegeben, also im moment ist es alle 2 Sekunden. Für eine Sekunde dann einfach auf 1000 stellen und so weiter.
Hey hab ne frage undzwar bräuchte ich jemanden der mir helfen kann ich habe gestern ein script bekommen in welchem die Leertaste Permanent gesendet werden soll (Das ist Perfekt) und dabei wird noch F4 gedrückt jetzt ist mein problem das F4 zu langsam gesendet wir kann mir das jemand schneller stellen?
Script:
Global Const $hotkeyPause = "{PAUSE}", $hotkeyExit = "{ESC}", $keyToSend = "{F4}"
Global Const $timeSleep = 10, $timeKeyInterval = 2000 ; time in ms
Global $running = False
Global $timerKeyToSend, $countKeySent
While Sleep($timeSleep)
If $running Then
Send("{SPACE}")
If TimerDiff($timerKeyToSend) >= $timeKeyInterval * $countKeySent Then
Send($keyToSend)
$countKeySent += 1
EndIf
EndIf
WEnd
Func _TogglePause()
$running = Not $running
If $running Then
$countKeySent = 1
$timerKeyToSend = TimerInit()
EndIf
EndFunc
Func _Exit()
Exit
EndFunc
Das ist doch KDeluxe's Code. Wieso hast du nicht ihn einfach gefragt?
Das stimmt nicht. Den Timer zurückzusetzen kostet mehr Zeit als die Rechenoperation durchzuführen. Die ständige Neuberechnung des Wertes kostet aber zumindest in der Theorie mehr CPU Leistung, in der Praxis wirst du es nicht wahrnehmen können.
Das "Problem" mit der CPU kann man allerdings mit einer Zwischenvariable lösen. Hier wird dann zwar mehr Arbeitsspeicher benötigt aber nehmen wir mal an AutoIt behandelt die Variable als 64 Bit Zahl, dann kostet es in der Annahme ganze 8 Bytes an Arbeitsspeicher. 1 GB (eigentlich GiB) hat 1.073.741.824 Bytes. Auch das wird man in der Praxis nicht merken können (ist übrigens die beste Lösung).
Prüfen kann man es mit einem einfachen Script:
Hier sieht man recht "deutlich", dass die ständige Zurücksetzung des Timers mehr Zeit beansprucht als die ständige Neuberechnung der abzuwartenden Zeit.
Zur Verdeutlichung habe ich es noch mit anderen Daten
Well, I would like to know how to add the function to Pausing and restarting the following script.
I want when I press "pause" return everything to normal (in this case when i press the key "a", the key "a" write only "a") and when I restart the script, press 2 keys at once (in this case when i press the key "a" , the key "a" write "v7").
How can i do it?... i tried many ways but nothing happened.
AutoIt Script Requests 07/31/2008 - Dekaron - 10 Replies Meh...bored with my scripts atm (releasing another tomorrow...), so I'm gonna ask you all what you want in a script. Post your ideas here.