Angelbot vorm Stehenbleiben schützen

02/27/2009 15:12 Manlius#1
Hiho Leute,
ich habe mir nun einen Angelbot gesriptet. Nun bleibt mein Bot leider stehn, wenn er einmal die Fischblase nicht erkennt. Hier is ein Teil des Sriptes, wie ich das mit der Fischblase gemacht hab.

PHP Code:
Send ("{1 down}")
            
Sleep (500)
            
Send ("{1 up}")
            
Sleep (1500)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
            Do
            
$fish1 PixelGetColor (395,37)
            
$fish10 PixelGetColor (501,68)
            
$fish100 PixelGetColor (394,38)
            
$fish1000 PixelGetColor (455,216)
            
$fish10000 PixelGetColor (277,127)
            
$fish11111 PixelGetColor (364,37)
        
Until $fish1 0xFCF8FC Or $fish10 0xECE9ED Or $fish100 0xFCF8FB Or $fish1000 0xEDE8EB Or $fish10000 0x52A9C5 Or $fish11111 0xFCF8FC
            Sleep 
($Sleep)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
            
Sleep (2000
Gibt es irgendein Befehl, dass wenn in dem Sript 1 Min oder so keine Aktivität ist, dass das Sript von vorne los geht?!

Danke
Manlius
02/27/2009 18:45 felixli93#2
Quote:
Originally Posted by Manlius View Post
Hiho Leute,
ich habe mir nun einen Angelbot gesriptet. Nun bleibt mein Bot leider stehn, wenn er einmal die Fischblase nicht erkennt. Hier is ein Teil des Sriptes, wie ich das mit der Fischblase gemacht hab.

PHP Code:
Send ("{1 down}")
            
Sleep (500)
            
Send ("{1 up}")
            
Sleep (1500)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
            Do
            
$fish1 PixelGetColor (395,37)
            
$fish10 PixelGetColor (501,68)
            
$fish100 PixelGetColor (394,38)
            
$fish1000 PixelGetColor (455,216)
            
$fish10000 PixelGetColor (277,127)
            
$fish11111 PixelGetColor (364,37)
        
Until $fish1 0xFCF8FC Or $fish10 0xECE9ED Or $fish100 0xFCF8FB Or $fish1000 0xEDE8EB Or $fish10000 0x52A9C5 Or $fish11111 0xFCF8FC
            Sleep 
($Sleep)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
            
Sleep (2000
Gibt es irgendein Befehl, dass wenn in dem Sript 1 Min oder so keine Aktivität ist, dass das Sript von vorne los geht?!

Danke
Manlius
versuchs mal so:


$durchlauf = 0
Do
$durchlauf = $durchlauf +1
$fish1 = PixelGetColor (395,37)
$fish10 = PixelGetColor (501,68)
$fish100 = PixelGetColor (394,38)
$fish1000 = PixelGetColor (455,216)
$fish10000 = PixelGetColor (277,127)
$fish11111 = PixelGetColor (364,37)
Until $fish1 = 0xFCF8FC Or $fish10 = 0xECE9ED Or $fish100 = 0xFCF8FB Or $fish1000 = 0xEDE8EB Or $fish10000 = 0x52A9C5 Or $fish11111 = 0xFCF8FC Or $durchlauf > 5000 (hier musst du bisschen rumprobieren, bei meinem klappt 5000 ganz gut, entspricht dann in etwa 2 minuten)


Edit:
dann bekommst du allerdings probleme, weil er danach immer noch die angel rausziehen will

deshalb hab ich das in meinem bot mit ne while-schleife gemacht:

Send ("{1 down}")
Sleep (500)
Send ("{1 up}")
Sleep (1500)
Send ("{F4 down}")
Sleep (500)
Send ("{F4 up}")
while 1
$fish1 = PixelGetColor (395,37)
$fish10 = PixelGetColor (501,68)
$fish100 = PixelGetColor (394,38)
$fish1000 = PixelGetColor (455,216)
$fish10000 = PixelGetColor (277,127)
$fish11111 = PixelGetColor (364,37)
If $fish1 = 0xFCF8FC Or $fish10 = 0xECE9ED Or $fish100 = 0xFCF8FB Or $fish1000 = 0xEDE8EB Or $fish10000 = 0x52A9C5 Or $fish11111 = 0xFCF8FC then
Sleep ($Sleep)
Send ("{F4 down}")
Sleep (500)
Send ("{F4 up}")
Sleep (2000)
$durchlauf = 0
exitloop
endif
If $durchlauf > 5000 then
exitloop
endif
wend



und nochmal
Edit:
ich würde auch eher mit Pixelsearch nach der blase scannen, ist effektiver und klappt auf jedem computer, weil du ne gewisse shade-variation einsetzen kannst
02/28/2009 00:08 Manlius#3
Quote:
Originally Posted by felixli93 View Post
versuchs mal so:


$durchlauf = 0
Do
$durchlauf = $durchlauf +1
$fish1 = PixelGetColor (395,37)
$fish10 = PixelGetColor (501,68)
$fish100 = PixelGetColor (394,38)
$fish1000 = PixelGetColor (455,216)
$fish10000 = PixelGetColor (277,127)
$fish11111 = PixelGetColor (364,37)
Until $fish1 = 0xFCF8FC Or $fish10 = 0xECE9ED Or $fish100 = 0xFCF8FB Or $fish1000 = 0xEDE8EB Or $fish10000 = 0x52A9C5 Or $fish11111 = 0xFCF8FC Or $durchlauf > 5000 (hier musst du bisschen rumprobieren, bei meinem klappt 5000 ganz gut, entspricht dann in etwa 2 minuten)


Edit:
dann bekommst du allerdings probleme, weil er danach immer noch die angel rausziehen will

deshalb hab ich das in meinem bot mit ne while-schleife gemacht:

Send ("{1 down}")
Sleep (500)
Send ("{1 up}")
Sleep (1500)
Send ("{F4 down}")
Sleep (500)
Send ("{F4 up}")
while 1
$fish1 = PixelGetColor (395,37)
$fish10 = PixelGetColor (501,68)
$fish100 = PixelGetColor (394,38)
$fish1000 = PixelGetColor (455,216)
$fish10000 = PixelGetColor (277,127)
$fish11111 = PixelGetColor (364,37)
If $fish1 = 0xFCF8FC Or $fish10 = 0xECE9ED Or $fish100 = 0xFCF8FB Or $fish1000 = 0xEDE8EB Or $fish10000 = 0x52A9C5 Or $fish11111 = 0xFCF8FC then
Sleep ($Sleep)
Send ("{F4 down}")
Sleep (500)
Send ("{F4 up}")
Sleep (2000)
$durchlauf = 0
exitloop
endif
If $durchlauf > 5000 then
exitloop
endif
wend



und nochmal
Edit:
ich würde auch eher mit Pixelsearch nach der blase scannen, ist effektiver und klappt auf jedem computer, weil du ne gewisse shade-variation einsetzen kannst
Hey cool vielen vielen Dank

Edit: Also das ganze sieht bei mir jetzt so aus:

PHP Code:
While 1
        Sleep 
(1000)
        
MouseClick ("left",$Inv10,$Inv11,1)
        If 
$kl_fisch_benutzer 1 Then
            $kl 
PixelSearch (630,273,795,565,$kleiner) ;kleiner Fischsuche
        
        
If Not @error Then
            MouseClick 
("right",$kl[0],$kl[1],1)
            
Sleep (1500)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
        EndIf
        While 
1
            $fish1 
PixelSearch (218,7,400,400,$fischbl1,10)
        If 
Not @error Then
            Sleep 
($Sleep)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
            
Sleep (2000)
            
$durchlauf 0
            ExitLoop
            
EndIf
        If 
$durchlauf 5000 Then
            ExitLoop
        
EndIf
        
WEnd
        
If @error 1 Then
            Sleep 
(1000)
            
Mouseclick ("left",$Inv20,$Inv21,2)
            
Sleep (500)
        EndIf
            
$kl PixelSearch (630,273,795,565,$kleiner) ;kleiner Fischsuche
        
If Not @error Then
            MouseClick 
("right",$kl[0],$kl[1],1)
            
Sleep (1500)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
        EndIf            
        While 
1
            $fish1 
PixelSearch (218,7,400,400,$fischbl1,10)
        If 
Not @error Then
            Sleep 
($Sleep)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
            
Sleep (2000)
            
$durchlauf 0
            ExitLoop
            
EndIf
        If 
$durchlauf 5000 Then
            ExitLoop
        
EndIf
        
WEnd
        
EndIf
        If @
error Then
        
If $1 Then
            Send 
("{1 down}")
            
Sleep (500)
            
Send ("{1 up}")
            
Sleep (1500)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
            
            While 
1
            $fish1 
PixelSearch (218,7,400,400,$fischbl1,10)
        If 
Not @error Then
            Sleep 
($Sleep)
            
Send ("{F4 down}")
            
Sleep (500)
            
Send ("{F4 up}")
            
Sleep (2000)
            
$durchlauf 0
            ExitLoop
            
EndIf
        If 
$durchlauf 5000 Then
            ExitLoop
        
EndIf
        
WEnd
        
EndIf
        
    EndIf 
DAs Problem is, dass er jetzt net mal mehr die Köder an der Angel befestigt seit dem ich das mit mit Pixelsearch drin hab.
02/28/2009 11:37 felixli93#4
Code:
Sleep (2500)
Send ( "{F3 down}" , 0 )
Sleep (200)
Send ( "{F3 up}" , 0 )
Sleep (500)
Send ( "{F4 down}" , 0 ) 
Sleep (200) 
Send ( "{F4 up}" , 0 )
Sleep (100)
;angler ende
$durhclauf = 0
While 1	
	SetError (0)
	$durchlauf=$durchlauf +1
    PixelSearch (250,0,450,50,$fischblase_farbe1,5)
	if not @error Then
		Sleep ( $warten )
		Send("{F4 down}")
		Sleep(300)
		Send("{F4 up}")
		ExitLoop
	EndIf
   	If $durchlauf > 5000 Then
   		$durchlauf = 0
   		exitloop
   	EndIf
sleep (5)
WEnd

ich weiß zwar nicht, was du da oben angestellt hast, aber das war nicht richtig ;)
03/02/2009 20:58 atze19#5
Benutz lieber statt einer Variable immer 1 zu addieren TimerInt und TimerDiff. Das ist um einiges genauer.
03/08/2009 13:01 fieser-hund#6
Quote:
Originally Posted by atze19 View Post
Benutz lieber statt einer Variable immer 1 zu addieren TimerInt und TimerDiff. Das ist um einiges genauer.
genau richtig
03/14/2009 21:27 Rayser9119#7
...
kj