$sProzess

03/27/2011 13:35 Elborod#1
Servus,

just a short question...

warum funzt das hier nicht?
PHP Code:
AdlibRegister("Test",5000)
While 
1
sleep
(200)
WEnd
Func Test
()
$var Ping("www.google.at",100)
If 
$var Then

Else
        
$sProzess "lol.launcher.exe"
        
RunWait('"' & @ComSpec '" /c taskkill /F /IM '&$sProzess'', @SW_HIDE)
        
sleep (20000)
            
mouseclick ("left",1025,571) ;Nein Button (Verbinden/Again)
EndIf
EndFunc 
Es wird alle 5sec getestet ob das Internet noch geht. Wenn es nicht geht sollte der prozess lol.launcher.exe gekillt werden und nach 20sec dann ein mouslick. irgendwie funktioniert weder das eine noch das andere...

Wie ein paar von euch sicher erkennen werden, ist der Code für einen Farmbot für LoL. Der farmt NUR in selbst erstellten rooms mit pw und bots. also daher kein schaden fürs spiel...

ich brauch aber noch eine kleine "absturzt" sicherung, da bei mir das internet ab und zu für 1min weg ist.... :mad:


wär toll wen mir wer helfen könnte...

Grüße Stoani :pimp:
03/27/2011 13:51 BlackHybrid#2
Wie wäre es mit
PHP Code:
If $var 0 Then

...
EndIf 
03/27/2011 14:01 Elborod#3
danke für die rasche Antwort.


Leider wars das auch noch ned ganz. Hat sich nicht wirklich was verändert. Mit einer msgbox hats funktioniert. kann es sein, das er den mouseclick nicht macht, solange der prozess nicht gekillt ist?...:o

hab noch
PHP Code:
#RequireAdmin 
dazu geschrieben... zur sicherheit
PHP Code:
#RequireAdmin

AdlibRegister("Test",5000)
While 
1
sleep
(200)
WEnd
Func Test
()
$var Ping("www.google.at",100)
If 
$var <0 then
$sProzess 
"lol.launcher.exe"
        
If ProcessExists($sProzessThen
        ProcessClose
($sProzess)
        
sleep (20000)
            
mouseclick ("left",1025,571)
        EndIf
EndIf
EndFunc 
Grüße
Stoani
03/27/2011 14:12 BlackHybrid#4
Meinst du es vllt so?

PHP Code:
AdlibRegister("Test"5000)
While 
1
    Sleep
(200)
WEnd
Func Test
()
    
$var Ping("www.google.at"100)
    If 
$var 0 Then
        Sleep
(20000)
        
MouseClick("left"1025571
        
ProcessClose("lol.launcher.exe")
        
ProcessWaitClose("lol.launcher.exe")
        
$sProzess "lol.launcher.exe"
        
RunWait("C:\...\...\lol.launcher.exe")

    EndIf
EndFunc 
03/27/2011 14:36 Elborod#5
Eventuell mit Winclose?

Funzt noch immer nicht...
03/27/2011 14:47 BlackHybrid#6
Oops kleinen Fehler gemacht :D

PHP Code:
If $var 0 Then
    $sProzess 
"lol.launcher.exe"
    
RunWait('"' & @ComSpec '" /c taskkill /F /IM ' $sProzess'', @SW_HIDE)
    
Sleep(20000)
    
MouseClick("left"1025571)
EndIf 
03/27/2011 14:54 Elborod#7
PHP Code:
While 1
   danke
Wend 
Endlich komm ich weiter.... ;D
03/27/2011 16:32 5769854332#8
1. Wird die Funktion "Test" überhaupt aufgerufen?
2.
Code:
Ping("www.google.at", 100)
100 ms ist wenig... Bei mir braucht ein Packet für google.at im Schnitt 293 ms pro Paket (Start-> Ausführen -> cmd.exe, "ping www.google.at"). AutoIt Hilfe:
3.
Code:
AdlibRegister("Test",5000)
...
Sleep(20000)
evtl. ein Fall einer race condition,d.h. bevor sleep endet wird wieder AdlibRegister ausgeführt.
03/27/2011 17:19 Elborod#9
PHP Code:
#RequireAdmin

while 1;spielanfang...
Mouseclick("left",1286,816)
sleep (2000)
for 
$t=1 to 2
MouseClick
("right")
sleep (2000)
next
MouseClick
("left")
sleep (2000)

$coord PixelSearch0,0,1600,9000xAA0303)

                If 
Not @error Then
                        MouseClick
("left",782,489)
                    
sleep (10000)
                        
MouseClick("left",1318,781)
                    
sleep (5000)
                        
MouseClick("left",437,782);spiel erstellen(01)
                        
MouseClick("left",500,598);game name click


;____Neustart des Games und erstellen einer neuen Runde_________________________________
run
("C:\Riot Games\League of Legends\lol.launcher.exe")
sleep(5000)
MouseClick("left",1135,698)
sleep(20000)
send("Passwort")
send("{enter}")
sleep(30000);
MouseClick("left",798,97)
sleep(1000)
MouseClick("left",499,288)
sleep(1000)
MouseClick("left",1113,757)
send ("Polymethül");game name
send
("{tab}")
send ("Trevoiyarona");pw
MouseClick
("left",385,784)
sleep (5000)
for 
$z=1 To 5
MouseClick
("left",1094,511)
sleep (1000)
Next
    
For $u=1 To 4
MouseClick
("left",622,509)
sleep (1000)
Next
MouseClick
("left",1002,545)
sleep (10000)
MouseClick("left",1028,559)
sleep (5000)
MouseClick("left",744,631)
sleep (120000)
;
_______________________________________________


                        send 
("Polymethül");game name
                        send
("{tab}")
                        
send ("Trevoiyarona");pw

                        MouseClick
("left",385,784)
                    
sleep (5000)
                        for 
$z=1 To 5
                        MouseClick
("left",1094,511)
                    
sleep (1000)
                        
Next
                        
For $u=1 To 4
                        MouseClick
("left",622,509)
                    
sleep (1000)
                        
Next
                        MouseClick
("left",1002,545)
                    
sleep (10000)
                        
MouseClick("left",1028,559)
                    
sleep (5000)
                        
MouseClick("left",744,631)
                    
sleep (120000)

Else
        
MouseClick("right",800,387)
    
sleep (3000)
        
MouseClick("right",631,503)
    
sleep (3000)


    EndIf
WEnd


Func end
()
        Exit
EndFunc

    
while 1
        sleep 
(30)
    
WEnd 
So sieht mein Script bisher aus. Ich hätte auch gern weniger Mouseclick verwendet aber ging leider ned ;D

Leider bin ich doch nicht wie erwartet weitergekommen. Ich hab immer noch das Problem, dass mein Internet ab und zu abstürzt und der bot dann unwirksam wird.
Ich hab bereits den Vorgang für den Neustart des Spiels geschrieben, es müsste also nur noch folgendes "Übersetzt" werden:

Alle 30000ms wird überprüft ob das Internet geht.
wenn Ja, dann script weiter ausführen
wenn Nein, dann Spiel sofort beenden und neustarten.

Wie gesagt der Neustartteil ist bereits geschrieben...

Kann mir da wer weiterhelfen?

Ps.: Google ist leider nicht allwissend ;D

Grüßé
Stoani
03/27/2011 17:51 PenGuin :O#10
Kurze Frage:
Willst du wirkich so lange warten, bis die Gegner gewonnen haben?
Das kann ziemlich lange dauern, da ja auch die Teams ausgeglichen sein müssen...
03/27/2011 18:00 Elborod#11
Quote:
Kurze Frage:
Willst du wirkich so lange warten, bis die Gegner gewonnen haben?
Das kann ziemlich lange dauern, da ja auch die Teams ausgeglichen sein müssen..
Also...

Die Teams sind ausgeglichen und je länger das Spiel dauert desto mehr EP/IP bekommt man... Ein spiel 5vs5 dauert normal so bis 20/25min. das ist nicht so lange. außerdem ist die länge egal, da ich sowieso in der zeit schlafe... :D
03/27/2011 18:34 5769854332#12
starte halt einen zweiten Thread (oder eine zweite exe <- ich kenne mich mit AutoIt Threads nicht aus...):

Code:
While 1
Sleep (5000)
$var=Ping("www.google.at", 1000)
If ($var == 0) Then

;starte die 1. exe neu
ProcessClose(...)
Sleep(2000)
Run(...)
EndIf
WEnd