"2 Funktionen" in einem Bot

01/09/2010 18:14 luggl#1
Habe heute mal folgendes Script geschrieben:

PHP Code:
While 1
     
PixelSearch(471310,670587,0xEB1609,15
    If 
IsArray() Then
        MouseClick
("left", [0],  [1], 1)
        
MouseDown ("left")
        
Send ("{Space}")
    EndIf
WEnd



While 1
     
PixelSearch (84742143749,0x222222,15)
    If 
IsArray () Then
        Send 
("1")
    EndIf
WEnd 
Nun meine Frage dazu:

Ich habe ja 2 "Aufträge" für das Programm.
Einmal soll er den Pixelwert suchen und KLICKEN und das zweite mal soll er einen Pixelwert suchen und 1 drücken.

Doch wie kann ich einstellen, dass er beides ausführt?

als ich es getestet hat er immer nur geklickt, nicht 1 gedrückt.

Ja ich weiß, ist vielleicht ne einfache Frage für euch, aber bin gerade mal ein bisschen am ausprobieren.

Hoffe ihr versteht was ich meine!

Lg
01/09/2010 18:19 HardCore.1337#2
Durch die While Schleife wird die Aktion immer wieder ausgeführt.
Lösch die einfach mal und probiers nochmal ;)
01/09/2010 18:20 Erte#3
Code:
While 1
_Klick()
_Taste1()
WEnd

Func _Klick()
;Inhalt für den Klick
EndFunc

Func_Taste1()
;Inhalte für die Taste
EndFunc
Du kannst natürlich auch den Inhalt von den Funktionen direkt in die While Schleife schreiben. Wichtig ist nur dass es eine While Schleife gibt, und nicht 2. Sollte klappen. Nebenbei nehme ich mal an dass der PHP Tag deine Variablen aufgegessen hat.
01/09/2010 18:23 KDeluxe#4
Probiers mal so:
PHP Code:
While Sleep(10)
    = 
PixelSearch(471310,670587,0xEB1609,15)
    If 
IsArray() Then
        MouseClick
("left"011)
        
MouseDown ("left")
        
Send ("{Space}")
    EndIf
    
Call("_search2")
WEnd

Func _search2
()
     = 
PixelSearch (84742143749,0x222222,15)
    If 
IsArray() Then
        Send 
("1")
    EndIf
WEnd 
Edit:
Die eckigen Klammern schreibt man nicht

IsArray müsste eine Fehlermeldung ergeben
01/09/2010 18:36 luggl#5
Quote:
Originally Posted by KillerDeluxe123 View Post
Probiers mal so:
PHP Code:
While Sleep(10)
    = 
PixelSearch(471310,670587,0xEB1609,15)
    If 
IsArray() Then
        MouseClick
("left"011)
        
MouseDown ("left")
        
Send ("{Space}")
    EndIf
    
Call("_search2")
WEnd

Func _search2
()
     = 
PixelSearch (84742143749,0x222222,15)
    If 
IsArray() Then
        Send 
("1")
    EndIf
WEnd 
Edit:
Die eckigen Klammern schreibt man nicht

IsArray müsste eine Fehlermeldung ergeben
Was bedeutet dieser "call"-Befehl? Kannst du mir das kurz erklären.

Und: Kann ich beliebig viele Befehle in eine While-Schleife schreiben?

Oder geht das auch einzeln, weil das ja sonst sehr unübersichtlich wird. :(

Also dass ich immer eine neue While Schleife schreibe, was dann ausgeführt wird.

Aber auch "Nicht-While befehle" wie:

Send f1 oder sowas..

wie ist das möglich?!
01/09/2010 19:01 HardCore.1337#6
call bedeutet soviel wie aufrufen.
Heißt der Call befehl ruft die FUnktion auf
01/09/2010 19:03 KDeluxe#7
Wenn du es übersichtlicher haben willst kannst du es so machen, wie Erte schon geschrieben hat
01/09/2010 19:22 luggl#8
Also du meinst, wenn ich dann NOCH eine Funktion einfügen will muss das dann so aussehn:

PHP Code:
While 1
_Klick
()
_Taste1()
_Funktion()
WEnd

Func _Klick
()
;
Inhalt für den Klick
EndFunc

Func_Taste1
()
;
Inhalte für die Taste
EndFunc

Func_ Funktion 
()
;
Inhalte für die Funktion
Endfunc 
Habe ich das richtig verstanden ? :)
01/09/2010 19:34 KDeluxe#9
1 Fehler:

PHP Code:
Func_ Funktion () 
musst du in
PHP Code:
Func _Funktion() 
ändern

E\\

Sind 2 Fehler:
PHP Code:
Func_Taste1() 
musst du in
PHP Code:
Func _Taste1() 
ändern
01/09/2010 19:43 Erte#10
Ja.
01/09/2010 20:15 luggl#11
Aber wie oben schon:

Ich muss dann einfach noch eien Funktion hinzufügen?
01/09/2010 20:26 luggl#12
Also muss ich wie oben schon gefragt, einfach noch eine Funktion hinzufügen?!
01/09/2010 20:35 KDeluxe#13
Ja

Zum Beispiel so:
PHP Code:
While 
_Klick
() 
_Taste1() 
_Funktion() 
WEnd 

Func _Klick
() 
MsgBox(0"""Klick")
EndFunc 

Func _Taste1
() 
MsgBox(0"""Taste")
EndFunc 

Func _Funktion
() 
MsgBox(0"""Funktion")
Endfunc 
01/09/2010 20:54 luggl#14
Okay, vielen vielen Dank!

Jemand ne Idee wie man eine Funktion einbauen könnte, dass wenn ein Wert sinkt (von Rot in Schwarz z.B.) dass dann eine Taste gedrückt wird?

also wenn die Leiste sonst rot ist, und wenn sie dann 50% verliert und schwarz wird (50%) , dass dann 1 gedrückt wird? :)
01/10/2010 00:03 93lucas#15
mach halt If $pixel = dadada then send taste