AutoIT Frage

06/20/2009 18:26 anders5#1
Hi,
Ich hab seit ein paar tagen mit AutoIt angefanen, und versuche jetz ma nen Farmbot zu schreiben. Jetz zur Frage:
Wie kann man zwei while schleifen geleichzeitig laufen lassen?
Ich will damit erreichen dass, der bot gleichzeitig die Farbwerte zum potten kontrolliert, und dass er sachen aufsammelt und gleichzeitig schlägt.

Danke schon ma im vorraus
06/20/2009 22:12 ScOrNiLiSaToR#2
PHP Code:
also ich habe das so gelöst das ich es mit den farbwerten 
dann mit send 
("{y}") (ohne sleepund send 
("{space down}") (auch ohne sleep)
MFG SCORNI hoffe konnte helfen wenn ja dan thx pls 
06/21/2009 13:49 k42uy4#3
Hab mal ausprobiert
die beiden Funktionen gleichzeitig laufen zu lassen,
bei mir funktioniert es nur so:

Code:
While 1
Send("{^}")
Send("{Space}")
Send("{^}")
WEnd
Ist zwar nicht die beste Lösung,
aber mir fällt jetzt keine andere Lösung ein.
06/21/2009 20:25 anders5#4
Thx schon ma soweit,
ja das kann man natürlich so machen, aber wenn er dann immer wieder aufsammeln will und halt auch noch feritgkeiten und schlagen muss ich ja sleeps einbauen und dann wird er code ja ewig lang,
weiß vllt jemand noch ne anders lösung?
06/21/2009 20:43 | Moep |#5
Schau dir mal "AdlibEnable" in der Hilfe an.
06/22/2009 20:08 anders5#6
thx,
ich habs mit adlibenable versucht klappt auch einigermaßen aber jetz direkt die nächste Frage: wenn ich mehrere Schleifen parallel laufen lassen will kann ich ja nur ein adlibenable machen oder? und kann ich mit _Time_SetTimer mehrere gleichzeitig laufen lassen?
06/23/2009 14:55 anders5#7
ok sry mit adlibenable gehts doch net,
hier ma die einzelnen codes die ich gerne in einem hätte

pickup:
PHP Code:
HotKeySet "{Numpad1}" "start" )
HotKeySet "{Numpad3}" "Ende" )

Global 
$paused

HotKeySet
("{Numpad2}""Pause")

Func Pause()
    
$Paused NOT $Paused
    
While $Paused
        sleep
(100)
        
ToolTip('Script is "Paused"',0,0)
    
WEnd
EndFunc


While (1)
Sleep (200)
Wend

Func start
()
    While 
1
        Send 
("{y}")
        
Sleep (100)
    
WEnd

EndFunc

Func Ende 
()
Exit
EndFunc 
fertigkeit:
PHP Code:
HotKeySet "{Numpad1}" "start" )
HotKeySet "{Numpad3}" "Ende" )

Global 
$paused

HotKeySet
("{Numpad2}""Pause")

Func Pause()
    
$Paused NOT $Paused
    
While $Paused
        sleep
(100)
        
ToolTip('Script is "Paused"',0,0)
    
WEnd
EndFunc


While (1)
Sleep (200)
Wend

Func start
()
    While 
1
        $pixel 
PixelSearch 144033610x592019)
        if @
error then
        send 
("{F2}")
        EndIf
    
WEnd

EndFunc

Func Ende 
()
Exit
EndFunc 
potter:
PHP Code:
Opt('PixelCoordMode'2)
Opt('MouseCoordMode'2)

HotKeySet "{Numpad1}" "start" )
HotKeySet "{Numpad3}" "Ende" )

Global 
$paused

HotKeySet
("{Numpad2}""Pause")

Func Pause()
    
$Paused NOT $Paused
    
While $Paused
        sleep
(100)
        
ToolTip('Script is "Paused"',0,0)
    
WEnd
EndFunc

While 1
    sleep 
(200)
WEnd

Func start
()
    While (
1)
        
$tpleiste PixelGetColor (123,570)
        
$mpleiste PixelGetColor (100586)

        if 
$tpleiste 0x141414 then
            send 
("{1}")
        ElseIf  
$mpleiste 0x454545 then
            send 
("{2}")
        EndIf
    
WEnd
EndFunc

Func Ende
()
    Exit
Endfunc 
vllt kann ma jemand versuchen die in einen code zu machen
06/23/2009 15:07 felixli93#8
lass doch ganz einfach alles nach einander überprüfen, einfach innerhalb einer while-schleife alles ablaufen lassen, wo ist da das problem?
06/23/2009 17:40 anders5#9
ja schon aber dann is es ja net gleichzeitig, weil wenn er zB zur pottet wenn eigentlich was zum aufhben da is macht das ja keinen sinn
06/23/2009 23:09 Shadow992#10
Quote:
Originally Posted by anders5 View Post
ja schon aber dann is es ja net gleichzeitig, weil wenn er zB zur pottet wenn eigentlich was zum aufhben da is macht das ja keinen sinn
Da Multithreading wie in c++
[Only registered and activated users can see links. Click Here To Register...]