Im folgenden werde ich euch zeigen, wie meine Version vom Köderfüller aussieht.
Für Anfänger ist das Script eher nicht geeignet, da ich z.B. Arrays verwende.
Hier das Script mit Erklärungen nach den ";" :
Edit: die Koordinaten sind für 800x600 fenstermodus
Die Farben sollten normalerweiße passen
Ihr solltet euch mit Arrays auskennen, wenn nicht, dürft ihr euch nicht wundern, dass z.b. das 1. Inventarfenster im bereicht $ar_inv_x[0 (!!!)] liegt, da arrays immer bei 0 beginnen statt bei 1 und somit immer alles um 1 nach unten verschoben ist
wenn euch das Guide geholfen hat, euren Bot zu verbessern, oder einfach eure Autoit-Kenntnisse verbessert hat, dann klickt *THX*, wenn ihr lust habt
MFG
felixli93
Für Anfänger ist das Script eher nicht geeignet, da ich z.B. Arrays verwende.
Hier das Script mit Erklärungen nach den ";" :
Code:
Opt ("PixelCoordMode",2) ; stellt die CoordMode auf Client (wie im Info-tool)
Opt ("MouseCoordMode",2) ; stellt die CoordMode auf Client (wie im Info-tool)
HotKeySet ("{f11}","start") ; HotKey
HotKeySet ("{f12}","ende") ; HotKey
;dürfte klar sein:
while 1
sleep (500)
WEnd
;der eigentliche Köderfüller
Func start ()
Global $spalte1 = 647 ; x-Koordinate der 1. Spalte im Inventar (client-mode)
Global $spalte2 = $spalte1 +32 ; da 1 Inventarfachbreite = 32 Pixel
Global $spalte3 = $spalte2 +32 ; usw...
Global $spalte4 = $spalte3 +32 ; ...
Global $spalte5 = $spalte4 +32 ; ...
Global $zeile1 = 259 ; y-Koordinate der 1. Zeile im Inventar (client-mode)
Global $zeile2 = $zeile1 +32 ; da 1 Inventarfachhöhe = 32 Pixel
Global $zeile3 = $zeile2 +32 ; usw...
Global $zeile4 = $zeile3 +32 ; ...
Global $zeile5 = $zeile4 +32 ; ...
Global $zeile6 = $zeile5 +32 ; ...
Global $zeile7 = $zeile6 +32 ; ...
Global $zeile8 = $zeile7 +32 ; ...
Global $zeile9 = $zeile8 +32 ; ...
Global $paste = 0x9F8567 ; Farbe der Paste
Global $leer = 0x0B0B0B ; Farbe eines leeren Inventarfensters
;jetzt wird's schwieriger (arrays)
Global $ar_inv_x[45] ; array für die Spaltenkoordinaten wird deklariert
For $i = 0 to 44 step 5 ; jedes 5. Inventarfach ab [0]ist in Spalte 1
$ar_inv_x[$i] = $spalte1
Next
For $i = 1 to 44 step 5 ; jedes 5. Inventarfach ab [1] ist in Spalte 2
$ar_inv_x[$i] = $spalte2
Next
For $i = 2 to 44 step 5 ; jedes 5. Inventarfach ab [2] ist in Spalte 3
$ar_inv_x[$i] = $spalte3
Next
For $i = 3 to 44 step 5 ; jedes 5. Inventarfach ab [3] ist in Spalte 4
$ar_inv_x[$i] = $spalte4
Next
For $i = 4 to 44 step 5 ; jedes 5. Inventarfach ab [4] ist in Spalte 5
$ar_inv_x[$i] = $spalte5
Next
Global $ar_inv_y[45] ; array für die Zeilenkoordinaten wird deklariert
For $i = 0 to 4 ; die ersten 5 Inventarfächer sind in Zeile 1
$ar_inv_y[$i] = $zeile1
Next
For $i = 5 to 9 ; die nächsten 5 Inventarfächer sind in Zeile 2
$ar_inv_y[$i] = $zeile2
Next
For $i = 10 to 14 ; die nächsten 5 Inventarfächer sind in Zeile 3
$ar_inv_y[$i] = $zeile3
Next
For $i = 15 to 19 ; die nächsten 5 Inventarfächer sind in Zeile 4
$ar_inv_y[$i] = $zeile4
Next
For $i = 20 to 24 ; die nächsten 5 Inventarfächer sind in Zeile 5
$ar_inv_y[$i] = $zeile5
Next
For $i = 25 to 29 ; die nächsten 5 Inventarfächer sind in Zeile 6
$ar_inv_y[$i] = $zeile6
Next
For $i = 30 to 34 ; die nächsten 5 Inventarfächer sind in Zeile 7
$ar_inv_y[$i] = $zeile7
Next
For $i = 35 to 39 ; die nächsten 5 Inventarfächer sind in Zeile 8
$ar_inv_y[$i] = $zeile8
Next
For $i = 40 to 44 ; die nächsten 5 Inventarfächer sind in Zeile 9
$ar_inv_y[$i] = $zeile9
Next
Global $ar_inv[45]
;koordinaten von F3 sind so gewählt, dass die Farben mit denen im Inventar ;übereinstimmen, wenn dasselbe Item darauf liegt (!)
$f3 = PixelGetColor (535,581) ; die farbe vom F3-Feld wird genommen
If $f3 <> $paste Then ; wenn keine Paste auf F3 liegt
;(folgendes nicht unbedingt nötig)
If $f3 <> $leer Then ; wenn etwas anderes auf F3 liegt, wirft er es raus
MouseClick ("left",535,581,1,5)
MouseClick ("left",100,100,1,5)
EndIf
For $i = 0 to 44 ;scannt alle 45 Inventarfächern nach ihren Farben
$ar_inv[$i] = PixelGetColor ($ar_inv_x[$i],$ar_inv_y[$i])
Next
for $i = 0 to 44
;checkt, ob auf einem Inv-Fenster ne Paste liegt
If $ar_inv[$i] = $paste Then
;legt, wenn ja, diese auf F3
MouseClick ("left",$ar_inv_x[$i],$ar_inv_y[$i],1,5)
MouseClick ("left",535,581,1,5)
MouseMove (100,100,5)
;und steigt aus der loop aus
ExitLoop
EndIf
Next
;an dieser Stelle checkt er, ob nun köder auf F3 liegen
$f3 = PixelGetColor (535,581)
If $f3 <> $paste Then ;wenn nicht, schreibt er es in ne MsgBox
MsgBox (0,"köderfüller","es befinden sich keine weiteren köder im inventar")
EndIf
EndIf
EndFunc
Func ende () ; dürfte klar sein
Exit
EndFunc
Die Farben sollten normalerweiße passen
Ihr solltet euch mit Arrays auskennen, wenn nicht, dürft ihr euch nicht wundern, dass z.b. das 1. Inventarfenster im bereicht $ar_inv_x[0 (!!!)] liegt, da arrays immer bei 0 beginnen statt bei 1 und somit immer alles um 1 nach unten verschoben ist
wenn euch das Guide geholfen hat, euren Bot zu verbessern, oder einfach eure Autoit-Kenntnisse verbessert hat, dann klickt *THX*, wenn ihr lust habt
MFG
felixli93