AutoIt Problem

07/13/2010 15:43 raidking#1
Hallo,
Ich möchte dass wenn der Sro_Client offen ist ein schleife beginnt, undzwar soll er solange die ENTER-Taste drücken bis ich eingeloggt bin bzw sich der Client schließt, sollter sich der Client schließen soll das script von vorne Anfangen. Ich habe schon viel rumprobiert, allerdings bis jetzt ohne Erfolg. Kann mir vielleicht jemand das Script schreiben bzw. die Schleife?

Danke schonmal
07/13/2010 16:23 Cholik#2
#moved
07/13/2010 16:28 omer36#3
starte sro, gib name und pw ein und drück dann F1 und er fängt an ENTER zu drücken....wenn du ESC drückst, beendest du es wieder..

PHP Code:

HotKeySet
("{ESC}""_exit")
HotKeySet("{F1}""_start")


Func _start()
While 
ProcessExists("silkroad.exe")
        
Sleep(100)
        
Send("{ENTER}")
WEnd
EndFunc

Func _exit
()
    Exit
EndFunc




While 1
    Sleep
(100)
WEnd 
07/13/2010 16:38 raidking#4
Danke schonmal
Das war allerdings nicht ganz mein Ziel. Ich habe ein Script geschrieben, dass Proxy öffnet crackloader öffnet, ID und PW eingibt, so und jetzt soll er automatisch so lange ENTER drücken bis ich halt eingeloggt bin bzw sich der Client schließt und sollte sich der Client schließen soll er halt wieder von vorne anfangen bzw nur das game starten und dann halt weiter machen...

Geht das auch iwie

Danke
07/13/2010 20:11 Jeoni#5
Um zu sehen, ob du eingeloggt bist, müsstest du (sofern das bei dem Spiel möglich ist) mit _MemoryRead einen Speicherwert auslesen, der dir das sagt, oder, wenn sich das Hintergrundbild verändert, wenn du eingeloggt bist, das mit PixelGetColor (AutoIt Help ftw.) überprüfen.

Müsste dann so aussehen (hab leider kein AutoIt da, daher kann ich es nicht deteilliert machen):
PHP Code:
HotKeySet("{F1}""_Start_Stop")
HotKeySet("{ESC}""_Exit")

$an 0

While 1
 
If $an 0 Then
  Sleep
(100)
 Else
  If 
ProcessExists("silkroad.exe"Then
   
If Not PixelGetColor(...) = "FFFFFF" Then ;KAwas in PixelGetColor reinkommtFarbe eben ändern
    Send
("{Enter}")
    
Sleep(100) ;Wert anpassbar
   
Else
    
Sleep(100)
   EndIf
  Else
   
Run("silkroad.exe")
   
ProcessWait("silkroad.exe")
  EndIf
 EndIf
WEnd

Func _Start_Stop
()
 If 
$an 0 Then
  $an 
1
 
Else
  
$an 0
 
EndIf
End Func

Func _Exit
()
 Exit
End Func 
Sorry, wenn ein Befehl falsch geschrieben ist. Hab eben im Moment kein AutoIt zur Hand.