ACHTUNG ALLE KOORDINATEN DIE ICH EINGETRAGEN HABE SIND FÜR DIE KLEINSTE FENSTERAUFLÖSUNG!!!!!!!
Was brauchen wir?
-Gut wären Autoit Kenntnisse ;D
Erstmal müssen wir gucken was unser Angelbot überhaupt soll
Also :
-Köder suchen, und finden ;D (Am besten aus dem Inventar so kann man mehr Köder benutzen)
-Köder benutzen
-Angel einwerfen
-Auf Fischblase warten und darauf reagieren
-Angel rausziehen
-Und vllt. Noch ein paar Extras wie Autologin oder Fischkiller
Köder suchen/benutzen:
Also: Köder suchen hmmmm was sagt uns das?Wir brauchen eine Funktion mit der wir eine
Bestimmte Farbe eines Köders(In diesem Fall der Wurm) suchen können und zwar im Inventar!
mit
PHP Code:
pixelsearch
als erstes müssen wir ein paar optionen setzen dammit er
die koordinaten relativ zum Fenster sucht:
PHP Code:
Opt("MouseCoordMode",2)
Opt("PixelCoordMode",2)
AutoItSetOption("WinTitleMatchMode", 4)
wir deklarieren erstmal die Variable $Koeder_Farbe mit der Köderfarbe
PHP Code:
$Koeder_Farbe = 0xAD7B6C ; "0xAD7B6C" ist die Köderfarbe
dazu scannen wir oben links und unten rechts mit dem au3Window info tool:
PHP Code:
$Pixelsearch = pixelsearch( 635, 249, 785, 531 ,$Koeder_Farbe,10 )
;Die Pixelsearch funktion wird in der variable $Pixelsearch gespeichert
;die ersten 4 "Parameter" also die Werte die mit dem Komma getrennt wurden sind die koordinaten
;(Die ersten 2 sind die werte die wir bekommen wenn wir das inventar oben links scannen ,
;die nächsten 2 ;zahlen sind das Ergebnis wenn wir unten links scannen
;Danach ,nach welcher Farbe wir suche wollen in diesem fall unsere ;Variable $Koeder_Farbe die wir ja vorher deklariert haben
;zum schluss dann der Abweichwert ,also wie weit die farbe abweichendarf
So nun brauchen wir eine "if" schleife also :
PHP Code:
func _BenutzKoeder()
If IsArray($Pixelsearch) = True Then
Mousemove($Pixelsearch[0], $Pixelsearch[1], 1)
sleep(10)
mouseclick( "right" )
endif
endfunc
Gut also Hier wird gefragt wenn $Pixelsearch eine Array ist also isArray Dann
hat die Variable $Pixelsearch 2 Werte einmal x ($Pixelsearch[0] und einmal y ($Pixelsearch[1])
Nun wollen wir die Maus dahin bewegen :
also Mousemove($Pixelsearch[0], $Pixelsearch[1], 1)
die 1 am ende bestimmt wie schnell die Maus sich bewegen soll
1 = Sehr schnell
Dann warten wir noch 10 Sekunden (Sleep(10))
und drücken dann rechtsklick(mouseclick("right"))
das ganze packen wir nochmal in eine Funktion mit dem Namen "_BenutzKoeder()"
So alles zusammengefasst:
PHP Code:
Opt("MouseCoordMode",2)
Opt("PixelCoordMode",2)
AutoItSetOption("WinTitleMatchMode", 4)
$Koeder_Farbe = 0xAD7B6C
func _BenutzKoeder()
$Pixelsearch = pixelsearch( 635, 249, 785, 531 ,$Koeder_Farbe,10 )
If IsArray($Pixelsearch) = True Then
Mousemove($Pixelsearch[0], $Pixelsearch[1], 1)
sleep(10)
mouseclick( "right" )
endif
endfunc
wir wollen die angel einwerfen ... am besten packen wir die Angelfertigkeit erstmal auf F4.
Nun zum Script
PHP Code:
Func _AngelEinwerfen()
winactivate( "METIN2" )
Send("{F4 DOWN}")
Sleep(500)
Send("{F4 UP}")
EndFunc
dann wird zum aktiven fenster ein tastendruck gesendet
und zwar F4 welcher 500 Millisekunden gedrückt wird
Das ganze packen wir dann noch in die Funktion "_AngelEinwerfen()"
Nun kann unser bot schon den Köder aus dem Inventar suchen/benutzen
und die Angel einwerfen.
Das ganze fügen wir dann noch zum gesammt Script hinzu:
PHP Code:
Opt("MouseCoordMode",2)
Opt("PixelCoordMode",2)
AutoItSetOption("WinTitleMatchMode", 4)
$Koeder_Farbe = 0xAD7B6C
func _BenutzKoeder()
$Pixelsearch = pixelsearch( 635, 249, 785, 531 ,$Koeder_Farbe,10 )
If IsArray($Pixelsearch) = True Then
Mousemove($Pixelsearch[0], $Pixelsearch[1], 1)
sleep(10)
mouseclick( "right" )
endif
endfunc
Func _AngelEinwerfen()
winactivate( "METIN2" )
Send("{F4 DOWN}")
Sleep(500)
Send("{F4 UP}")
EndFunc
So also, was wollen wir?
wir wollen das er die ganze Zeit Nach der Fischblase sucht
bis sie gefunden wird.
als erstes müssen wir die Farbe der Fischblase in einer Variable deklarieren:
(Die Farbe bekommt ihr wieder durch das au3windowtool raus, hier ist sie schon vorhanden:
PHP Code:
$FischBlase = 0xFBF7FB
also die ganze Zeit hmm was sagt uns das?
Genau!
wir brauchen eine while schleife
also :
PHP Code:
while 1 ;Mach das und das solange 1 war ist d.h. es wird unendlich oft wiederholt
Es soll nach der Fischblase gesucht werden, also benutzen wir wieder Pixelsearch.
Die Koords kriegt ihr mit dem Au3windowtool raus:
Nun zur Funktion
PHP Code:
Pixelsearch( 253, 13, 528, 216, $FischBlase, 10)
;Die ersten 4 Zahlen sind die Koordinaten(wird oben in dem Bild beschrieben)
;Dann die Farbe, die wir ja schon vorher in einer Variable deklariert haben
;Und zum Schluss der Abweichwert(hier 10)
das geht so:
PHP Code:
if not @error Then
exitloop
endif
Schleife sozusagen unterbrochen/beendet d.h. das Script geht weiter
und zum schluss noch die if abfrage sozusagen eingrenzen endif
So jetzt alles zsm (In einer Funktion) :
PHP Code:
Func _Blase()
$FischBlase = 0xFBF7FB
While 1
Pixelsearch( 253, 13, 528, 216, $FischBlase, 10)
If Not @error Then
ExitLoop
EndIf
WEnd
EndFunc
PHP Code:
Opt("MouseCoordMode",2)
Opt("PixelCoordMode",2)
AutoItSetOption("WinTitleMatchMode", 4)
$Koeder_Farbe = 0xAD7B6C
$FischBlase = 0xFBF7FB
func _BenutzKoeder()
$Pixelsearch = pixelsearch( 635, 249, 785, 531 ,$Koeder_Farbe,10 )
If IsArray($Pixelsearch) = True Then
Mousemove($Pixelsearch[0], $Pixelsearch[1], 1)
sleep(10)
mouseclick( "right" )
endif
endfunc
Func _AngelEinwerfen()
winactivate( "METIN2" )
Send("{F4 DOWN}")
Sleep(500)
Send("{F4 UP}")
EndFunc
Func _Blase()
While 1
Pixelsearch( 253, 13, 528, 216, $FischBlase, 10)
If Not @error Then
ExitLoop
EndIf
WEnd
EndFunc
Angel rausziehen
So, also was wollen wir?
wir wollen das er die Angel nach einer bestimmten zeit des wartens rauszieht
das geht im Grunde ganz einfach .
ich finde es aber besser wenn er eine "zufällige" Zeit wartet das heist
z.b. zwischen 2000 und 2500 Millisekunden warten.
Das geht mit dem Befehl random:
PHP Code:
;als erstes speichern wir den Befehl random in einer Variable, und zwar so
$random_variable = random(2000,2500,1)
;Jetzt wird in der Variable eine Zahl zwischen 2000 und 2500 gespeichert
;dank der 1 am ende werden nur ganze Zahlen gespeichert
PHP Code:
sleep($random_variable)
;es wird 2000-2500 Millisekunden gewartet
winactivate( "METIN2" )
;Metin2 wird aktiviert
Send("{F4 DOWN}")
Sleep(500)
Send("{F4 UP}")
;Es wird F4 500 Millisekunden gedrückt gehalten
So jetzt alles zusammen in einer Funktion:
PHP Code:
Func _Rausziehen()
$random_Variable = Random(2000,2500,1)
Sleep($random_variable)
winactivate( "METIN2" )
Send("{F4 DOWN}")
Sleep(500)
Send("{F4 UP}")
Endfunc
Nun das Fertige Script :
Ich habe alle Funktionen nochmal in eine Mainfunktion gepackt damit diese leichter zu starten ist
Außerdem wurden noch einige Sleeps eingebaut, da der bot sonst ZU schnell ist
PHP Code:
Opt("MouseCoordMode",2)
Opt("PixelCoordMode",2)
AutoItSetOption("WinTitleMatchMode", 4)
$Koeder_Farbe = 0xAD7B6C
$FischBlase = 0xFBF7FB
while 1
_Main()
wend
func _Main()
_BenutzKoeder()
sleep(200)
_AngelEinwerfen()
_Blase()
_Rausziehen()
sleep(3000)
endfunc
func _BenutzKoeder()
$Pixelsearch = pixelsearch( 635, 249, 785, 531 ,$Koeder_Farbe,10 )
If IsArray($Pixelsearch) = True Then
Mousemove($Pixelsearch[0], $Pixelsearch[1], 1)
sleep(10)
mouseclick( "right" )
endif
endfunc
Func _AngelEinwerfen()
winactivate( "METIN2" )
Send("{F4 DOWN}")
Sleep(500)
Send("{F4 UP}")
EndFunc
Func _Blase()
While 1
Pixelsearch( 253, 13, 528, 216, $FischBlase, 10)
If Not @error Then
ExitLoop
EndIf
WEnd
EndFunc
Func _Rausziehen()
$random_Variable = Random(2000,2500,1)
Sleep($random_variable)
winactivate( "METIN2" )
Send("{F4 DOWN}")
Sleep(500)
Send("{F4 UP}")
Endfunc
So das wars hoffe ich hab euch geholfen ;D