Pingcheck

05/22/2009 15:27 Syc0n#1
Ich überlege jetzt schon die ganze Zeit wie man einen vernünftigen Pingcheck in einen Bot einbauen kann.

1. Idee) Adlibenable("pingcheck",5000)
Zum Beginn des Bots wird immer gechekt ob der ping = 0 ist.

Frage dazu:
1) Kann ich mehrere Adlibenables in einen Bot einbauen?
2) Endet Adlibenable, wenn die Funktion endet?

2. Idee) Ping.exe
Während des normalen Bots, läuft parallel dazu eine ping.exe. Diese checkt immer ob der ping = 0 ist.

Frage dazu:
1) Würde die Ping.exe auch anspringen, wenn ich im Ladebildschirm bin,
weil im Ladebildschirm der Ping ja 0 ist?

Wär nett wenn ihr mir das beantworten könntet.
05/22/2009 15:34 Frutex#2
zu 1. 1) €: Es geht mit 2 exen....
1. 2) Das habe ich noch nicht ausprobiert, jedoch denke ich endet es erst wenn du disable benutzt.

2. Ja, leider tut es das.
05/22/2009 15:36 toni66#3
zu 1)

a) Es geht nur eine Adlib gleichzeitig.
b) Die Adlibfunktion läuft von AdlibEnable bis AdlibDisable unabhängig von anderen Funktionen.
c) Es gibt ja noch andere Möglichkeiten parallele Prozesse laufen zu lassen. Beispielweise mit _Timer_SetTimer ...
05/22/2009 16:06 Syc0n#4
Danke erstmal.
Zum Thema Timer_SetTimer hab ich mal was gebastelt:

PHP Code:
_Timer_SetTimer($Form1,10000"Pingcheck")

Func Pingcheck()
If 
_MemoryRead($ping,$hprocess) = 0 Then
blabla
EndFunc 
Heißt also, dass nur 1 mal die Funktion nach 10 Sekunden aufgerufen wird?

Und das mit dem Ladebildschirm ist irgendwie doof... ne gescheihte Lösung,anstatt nur nach/vor dem Ladebildschirm den Ping zu checken, gibs da net oder?
05/22/2009 16:22 Cargo Loader#5
Zu 2)
Es gibt in der tt6 ja eine Funktion, die ausliest ob man im Ladebildschirm ist.
Du kannst diese Funktion doch auf deinen Check anpassen.
Wenn dann der Ladebildschirm angezeigt wird, wird die .exe beendet.
05/22/2009 16:26 Syc0n#6
KK ich machs mit 2 exen und nem Ladebildschirmcheck. Danke trotzdem an alle

kann geclosed werden.
05/22/2009 16:35 toni66#7
Quote:
Originally Posted by Syc0n View Post

Heißt also, dass nur 1 mal die Funktion nach 10 Sekunden aufgerufen wird?
Die Funktion wird alle 10 Sekunden aufgerufen - solange bis du den Timer wieder beendest. Der Vorteil von Timern ist das du auch mehrere Timer gleichzeitig laufen lassen kannst.

Alle laufenden Timer beenden
PHP Code:
_Timer_KillAllTimer($Form1
05/22/2009 21:11 Syc0n#8
gelöst.
05/23/2009 18:08 Syc0n#9
Funktioniert dieser Timer überhaupt auf Vista x64?
PHP Code:
#include <Timers.au3>

$Form1_1 GUICreate("All in One"573455193125)
GUISetState(@SW_SHOW)

_Timer_SetTimer($Form1_1,500,"ss")

While 

    sleep
(1000)
wend


Func ss
()
    
$i $i 1
    msgbox
(0,"",$i)
EndFunc 
JEdesmal, wenn der die Function ss() machen sollte, schmiert autoit einfach ab...
05/23/2009 21:55 toni66#10
Fehlt nur ne Kleinigkeit die bei Timerfunktionen aber benötigt wird.

PHP Code:
Func ss($hWnd$Msg$iIDTimer$dwTime)
    
#forceref $hWnd, $Msg, $iIDTimer, $dwTime
    
$i $i 1
    msgbox
(0,"",$i)
EndFunc