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






