AutoIt Hilfe

02/15/2008 15:14 klo30#1
Huhu an alle ,

hab schon ne ganze menge gelernt in AutoIt sachen nur eine frage habe ich da noch ...

Nach dem ich alles geschrieben habe und ich den Bot starte dann macht er sofort alles aber er soll es erst machen sobald ich mit der maus auf das Programm geklickt habe wo er das machen soll.

Oder das ich es Öffnen kann und dann erst eine Taste drücken muss damit er erst die ganzen tastenschläge macht....

Wäre sehr nett wenn mir einer das erklären kann ...

Mfg

klo30
02/15/2008 17:32 Hikkikomori#2
du könntest folgendes einfügen vor dem eigentlichen prozess:

WinWaitActive("Windowname vom Programm")

er wartet so lange bis dieses gewählte fenster im vordergrund ist und fährt erst dann fort mit dem script.

zusätzlich kannst du ne art hotkey einbauen:

HotKeySet("{F7}","Name der Funktion")
02/15/2008 21:27 klo30#3
Hmm bitte eine schnelle hilfe habe den Source code hier so :

Quote:
HotKeySet("{F7}","Bot Starten")
Send("{TAB} (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) ")
Sleep(4500)
Nur wenn ich denBot Zum Test mit der F7 Taste Speichere und dann zur .exe Satei mache und dann drauf drücke..

Kommt ein Fenster und dort steht drin... ::

Quote:
Line -1 :
Error:Unknown function name.
Was heißt das was habe ich falsch gemacht ??

Bitte helft

Mfg

klo30
02/15/2008 22:22 Ganf#4
OK, der HotKeySet("KEY", "FUNKTION") ruft eine Funktion aus. Also mach das so:

PHP Code:
HotKeySet("{F7}","_void_BotStarten")

Func _void_BotStarten()
        
Send("{TAB} (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) (SPACE) ")
        
Sleep(4500)
EndFunc

While 1
        Sleep
(50)
Wend 

MFG
Ganf
02/16/2008 12:01 klo30#5
Okay ich hab das jetzt mal so einfach als exe gemacht nur jetzt wenn ich dadrauf klicke und dann ein textdukoment aufmachen und dann F7 drücke drüct der bot aber kein space...

was is daran noch falsch ??

aber erst mal danke an euch beiden=)
02/16/2008 14:40 Ganf#6
OK, gerade gesehen, hab ich vorher net bemerkt:

Wenn du Eine Leerzeichen möchtest, musst du das genau so wie Tab machen. Also {SPACE} und nicht (SPACE).

Voller Code:
PHP Code:
HotKeySet("{F7}","_void_BotStarten")

Func _void_BotStarten()
    
Send("{TAB} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE}" 
    
"{SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} {SPACE} ")
    
Sleep(4500)
EndFunc

While 1
    Sleep
(50)
Wend 

MFG
Ganf
02/16/2008 14:43 klo30#7
Jo oki ich teste das mal kurz ich geb dann info ob es geklappt hat ..

EDIT// Boa danke Ganf es klappt...
02/16/2008 14:45 Ganf#8
Ich hab Voller mit F geschreiben lol. Naja egal!
02/16/2008 14:51 klo30#9
Ganf gehmal icq on dann kann ich das mit dir da machen bitte ......

Egal ob mit F oder V es klappt jetzt zumindestens der erste teil von meinem bot ^^...

mfg

klo30
02/19/2008 15:58 Speedboy#10
Ich hätte da auch eine Frage! (Wollte nicht extra einen neunen Thread auf machen)

Im Moment muss ich meine Schwester oft an den PC lassen, da ihrer kaputt ist (-.-).


Jedenfalls wollte ich sie mal ein bisschen ärgern, weil sie ein Virus per ICQ angenommen hat...!

Ich habe den Teil von Ganf genommen und ein wenig verändert:

//UPTADE 2, nochmal verändert:

Quote:
HotKeySet("{ENTER}","_void_BotStarten")

Func _void_BotStarten()
Send("{TAB}{ENTER}Hallo{SPACE}ich{SPACE}bin{SPACE} ein{SPACE}Te st!{ENTER}" )
Sleep(4500)
EndFunc

While 1
Sleep(50)
Wend
Was passieren soll:

Meine Schwester ist im ICQ und schickt gerade eine Nachricht ab (mit Enter).

Dann Tippt das Script einen Text ein und sendet es wieder mit Enter.


Was passiert: [Updated]

Ich öffne das Script, gehe in ICQ und schreibe Irgendwas zu Irgendjemandem...

Dann klicke ich auf Enter und das Script wird ausgelöst und pausenlos wird gesendet "Hallo ich bin ein Te st"!

Den Fehler hab ich mittlerweile gefunden: Immer wenn Enter gedrückt wird, löst sich das Script wieder neu

aus! Weiß jemand, wie das nur einmal gesendet wird aber wenn meine Schwester das nächste mal Enter
drückt auch wieder?

Am besten mit einer Sleep Funktion von ca. 1 sec aber wohin?





Kann mir bitte jmd. helfen/den text korrigieren?
02/19/2008 19:11 klo30#11
Huhu Ganf hat mir schon einiges weiter geholfen ...

das ist dein Code Speedboy:
Quote:
HotKeySet("{ENTER}","_void_BotStarten")

Func _void_BotStarten()
Send("{TAB}{ENTER}Hallo{SPACE}ich{SPACE}bin{SPACE} ein{SPACE}Te st!{ENTER}" )
Sleep(4500)
EndFunc

While 1
Sleep(50)
Wend
Versuche mal das ....

HotKeySet("x","_void_BotStarten")

Func _void_BotStarten()
$x = 1
While $x <= 2000
Send("{TAB}{ENTER}Hallo{SPACE}ich{SPACE}bin{SPACE} ein{SPACE}Te st!{ENTER}" )
Sleep(1200)
$x = + 1
WEnd
EndFunc

While 1
Sleep(50)
Wend
Jetzt schreibt er den ganzen Text solange bis $x 2000 ist und das knapp jede sekunde ...

das deine schwester mitsicherheit das x benutz wird der bot dadurch gestartet und die ganze zeit wieder holt ...

Mfg

klo30
02/19/2008 19:12 Ganf#12
Also wie ich das verstehe willst du:
- Sie drückt ENTER
- Das Skript soll pausenlos spammen!

Dan setzt du das einfach in ne while rein xD

PHP Code:
HotKeySet("{ENTER}","_void_BotStarten")

Func _void_BotStarten()
   While 
1
      Send
("{TAB}{ENTER}Hallo{SPACE}ich{SPACE}bin{SPACE} ein{SPACE}Te st!{ENTER}" )
      
Sleep(4500)
   
Wend
EndFunc

While 1
Sleep
(50)
Wend 
xD, das spammt jetzt unendlich oft!


MFG
Ganf
02/19/2008 19:15 klo30#13
Ganf meine idee ist glaube auch net schlecht ^^
02/20/2008 13:14 Speedboy#14
Danke an euch beide!!

Ich probiere es mal eben und melde mich dann...

@Ganf

Funktioniert, außer dass mein Internet abgekackt ist, weil ich das ICQ Fenster dummerweise

genau vor das Symbol zum Abrechen getanen habe xD

@klo30

Ich muss erst ne Kleinlichkeit Essen, dann komm ich zu deinem Vorschlag^^

So, der funktioniert auch, danke!

@beide

Ich will ja nicht wie eine kleine Nervensäge sein, aber könnt ihr das auch so machen, dass der Text mit

Enter nur einmal abgesendet wird und dann erst wieder, wenn meine Schwester nochmal auf Enter drückt?


Also wenn Enter gedrückt wird, löst sich der Bot aus und drückt wieder Enter --> Teufelskreis


Wenn aber eine Sperre bei der Funktion (Func _void_BotStarten()) eingebaut wird (für ca. 2 Sek.),

nachdem zum ersten mal Enter gedrückt wurde, wäre das Problem gelöst, d.h., es wird einmal der Text

gesendet, aber wenn sie die nächste Nachricht verschickt wird es auch nur einmal gesendet!

Hat das Jemand verstanden? xD
02/20/2008 15:23 klo30#15
Also ich editiere gleich ich muss gucken ob meine idee klappt ....

Wenn ja dann poste ich hier speedboy

Edit//
PHP Code:
HotKeySet("{ENTER}","_void_BotStarten")

Func _void_BotStarten()
 
Sleep(1200)
 
Send("{TAB}Hallo{SPACE}ich{SPACE}bin{SPACE} ein{SPACE}Te st!{ENTER}" )
 
Sleep(1200)
EndFunc

While 1
    Sleep
(50)
Wend 
Jetzt wird die nachricht nur abgesendet wenn du Enter drückst so ist es jedenfalls bei mir ...

ich drücke enter ne sekunde später kommt der text und es geht net weiter ....
wenn ich nochmal enter drücke kommt wieder der text usw..

Mfg

klo30