|
You last visited: Today at 15:20
Advertisement
$sProzess
Discussion on $sProzess within the AutoIt forum part of the Coders Den category.
03/27/2011, 13:35
|
#1
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
$sProzess
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....
wär toll wen mir wer helfen könnte...
Grüße Stoani
|
|
|
03/27/2011, 13:51
|
#2
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Wie wäre es mit
PHP Code:
If $var < 0 Then
... EndIf
|
|
|
03/27/2011, 14:01
|
#3
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 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?...
hab noch 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($sProzess) Then ProcessClose($sProzess) sleep (20000) mouseclick ("left",1025,571) EndIf EndIf EndFunc
Grüße
Stoani
|
|
|
03/27/2011, 14:12
|
#4
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
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", 1025, 571) ProcessClose("lol.launcher.exe") ProcessWaitClose("lol.launcher.exe") $sProzess = "lol.launcher.exe" RunWait("C:\...\...\lol.launcher.exe")
EndIf EndFunc
|
|
|
03/27/2011, 14:36
|
#5
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
Eventuell mit Winclose?
Funzt noch immer nicht...
|
|
|
03/27/2011, 14:47
|
#6
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Oops kleinen Fehler gemacht
PHP Code:
If $var > 0 Then $sProzess = "lol.launcher.exe" RunWait('"' & @ComSpec & '" /c taskkill /F /IM ' & $sProzess, '', @SW_HIDE) Sleep(20000) MouseClick("left", 1025, 571) EndIf
|
|
|
03/27/2011, 14:54
|
#7
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
PHP Code:
While 1
danke
Wend
Endlich komm ich weiter.... ;D
|
|
|
03/27/2011, 16:32
|
#8
|
elite*gold: 150
Join Date: Dec 2010
Posts: 112
Received Thanks: 159
|
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:
"timeout [optional] Is the time to wait for an answer in milliseconds (default is 4000)."
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
|
#9
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
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 = PixelSearch( 0,0,1600,900, 0xAA0303)
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
|
#10
|
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
|
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
|
#11
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
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...
|
|
|
03/27/2011, 18:34
|
#12
|
elite*gold: 150
Join Date: Dec 2010
Posts: 112
Received Thanks: 159
|
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
|
|
|
All times are GMT +1. The time now is 15:21.
|
|