ein einfacher bot ?

02/27/2010 22:26 RPGator#1
also vorab sollte man sagen das ich wirklich erst seit 2 tagen scripte, ich hatte einfach langeweile und naja ^^
nun zu meiner frage was bei dem bot falsch ist, er soll einfach nur im abstand von 5 sekunden jeweils die tasten w s s a d drücken also
W (5 sekunden Pause)
S (5 sekunden Pause)
S (5 Sekunden Pause)
A (5 Sekunden Pause)
D (5 Sekunden Pause)
und am schluss sollte eigendlich eine schleife hin damit sich die ganze sache wiederhohlt.
einen start & ende button hat er auch schon.
Hier das script:

MsgBox (0, "Programm Gestartet", "Drück OK um zu Beginnen")

Hotkeyset("{F5}","Start")
Hotkeyset("{F6}","Pause")
Hotkeyset("{F7}","Ende")

$xD = ""

Do
sleep (4000)
send ("wssad")
until $xD = "penis"


kann mir jemand sagen wo der fehler ist ?
02/27/2010 22:32 LordKill#2
also das einfachste ist ja sich mal tutorials anzugucken^^würde auch mit einer while anfangen :P

while 1
Send("w")
Sleep(5000)
Send("s")
Sleep(5000)
Send("s")
Sleep(5000)
Send("a")
Sleep(5000)
Send("d")
Sleep(5000)
wend
02/27/2010 22:36 RPGator#3
Quote:
Originally Posted by LordKill View Post
also das einfachste ist ja sich mal tutorials anzugucken^^würde auch mit einer while anfangen :P

while 1
Send("w")
Sleep(5000)
Send("s")
Sleep(5000)
Send("s")
Sleep(5000)
Send("a")
Sleep(5000)
Send("d")
Sleep(5000)
wend
oke angenommen ich mache das so wie bekomm ich dann eine schleife da rein ?
02/27/2010 22:38 KDeluxe#4
Das ist schon eine Schleife, aber du kannst das While auch einfach mit Do austauschen
02/27/2010 22:45 LordKill#5
Quote:
Originally Posted by KillerDeluxe View Post
Das ist schon eine Schleife, aber du kannst das While auch einfach mit Do austauschen
^this und wenn du später mal anfängst mit nem koda zu arbeiten spukt der dir auch zuerst ne while raus :P

ich würde auch funktionen einbauen, da die while so allein ungesund ist ^^ sofort nach dem drücken des ok buttons haut der dir die tasten wssad rein :P

wirste ja wohl erkannt haben beim testen ^^
02/27/2010 22:52 RPGator#6
naja da dachte ich könnte ich mit sleep arbeiten oder geht das nicht ?
02/27/2010 22:54 KDeluxe#7
Geht schon, aber das pausiert dein ganzes Script, ist also bei größeren unbrauchbar.

Bei dir geht es aber ohne Probleme
02/27/2010 23:03 RPGator#8
wiegesagt ich fange erst an ^^trotsdem danke für den tipp
und was sollte ich anstelle von sleep nehmen ?
02/27/2010 23:26 | Moep |#9
Quote:
Originally Posted by RPGator View Post
wiegesagt ich fange erst an ^^trotsdem danke für den tipp
und was sollte ich anstelle von sleep nehmen ?
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]
02/28/2010 01:30 RPGator#10
danke moep ^^
jetzt muss ich das nurnoch irgendwie umsetzen ^^
02/28/2010 02:20 KDeluxe#11
PHP Code:
$Zeit 1000 Zeit in Sekunden
$Timer 
TimerInit() ; Timer
If TimerDiff($Timer) >= $Zeit Then mach irgendetwas 
In diesem Beispiel würde ich aber die Methode von LordKill nehmen

PHP Code:
while 1
Send
("w")
Sleep(5000)
Send("s")
Sleep(5000)
Send("s")
Sleep(5000)
Send("a")
Sleep(5000)
Send("d")
Sleep(5000)
wend 
02/28/2010 10:41 | Moep |#12
Da gibt es verschiedene Wege, zum einen kannst du dir einfach eine sleep funktion nachbauen, welche den vorteil hat dein Script nicht zu pausieren. Nachteil, es werden in der Zeit nur die Sachen ausgeführt die in der Do...Until Schleife stehen.
Code:
Func wait($time)
$timerInit = TimerInit()
Do
	Sleep(1)

        ; TODO add your Code here 

Until TimerDiff($timerInit) >= $time
EndFunc
oder, die etwas kompliziertere Architektur. Du initialisierst je nach Bedarf deine Timer, und fragst dann per "AdlibRegister" nebenläufig die Werte der Timer ab. Vorteil, dein Code ist nicht in einer Schleife "gefangen" und es können beliebige Aktionen ausgeführt werden bis der Timer seinen spezifizierten Wert erreicht hat.

€ Aber wie KillerDeluxe schon treffend gesagt hat, für dein einfaches Script ist ein sleep() mehr als ausreichend... ;)
02/28/2010 11:12 RPGator#13
nach einigem hin und her (für neulinge echt anspruchsvoll ^^) kan das dabei herraus

sleep(5000)
HotKeySet ( "{F1}", "Start")
HotKeySet ( "{F2}", "Pause")
HotKeySet ( "{Esc}" , "End")
while 1=1
send("w")
sleep(5000)
send("s")
sleep(5000)
send("s")
sleep(5000)
send("w")
sleep(5000)
send("s")
sleep(5000)
send("s")
sleep(5000)
send("d")
sleep(5000)
send("a")
sleep(5000)
send("{space}")
sleep(5000)
send("s")
sleep(5000)
send("{space}")
sleep(5000)
send("a")
sleep(5000)
send("d")
Wend

func End()
exit
EndFunc





so HotKeySet ( "{Esc}" , "End") das funktioniert, was aber nicht funktioniert ist

HotKeySet ( "{F1}", "Start")
HotKeySet ( "{F2}", "Pause")

sollte man mal was anderes machen das man den Bot pausieren kann und wenn man wieder da wäre ihn wieder starten kann das funktioniert irgendwie noch nicht so . . .
02/28/2010 11:52 | Moep |#14
Klar, du hast ja auch die Funktionen "Start" und "Pause" nirgends in deinen Code definiert. Woher soll dass Script also wissen was zu tun ist? ;)
02/28/2010 12:11 RPGator#15
Quote:
Originally Posted by | Moep | View Post
Klar, du hast ja auch die Funktionen "Start" und "Pause" nirgends in deinen Code definiert. Woher soll dass Script also wissen was zu tun ist? ;)
am das steht doch eig am anfang o.o

sleep(5000)
HotKeySet ( "{F1}", "Start")
HotKeySet ( "{F2}", "Pause")
HotKeySet ( "{Esc}" , "End")
while 1=1
.....

F1 für Starten
F2 für pausieren wenn man wegmuss damit er nicht weiter macht ^^
und F3 zum beenden