Autoit Pixelsearch problem

10/06/2013 18:07 Mogile#1
Hallo

Ich wollte ein kleinen bot machen, der, sobald eine bestimmte Farbee bei einer x/y koordinate erscheint, mit der zeile darunter weitermacht, leider funktioniert er nicht wirklich,kann mir evt. jemand helfen ?

Code:
HotKeySet("{esc}", "close")
WinWaitActive ("beispiel")

While 1
$coord = PixelSearch ( 441, 485, 0xFF1313 )
If Not @error Then

Sleep (1500)
send ("{w down}")
Sleep (500)
send ("{w up}")
Sleep (1900)
Send ("t")
Sleep (1300)
Send ("/home s")
Sleep (300)
Send ("{enter}")
EndIf
WEnd
ich bekomme immer folgende fehlermeldung:

Code:
$coord = PixelSearch ( 441, 485, 0xFF1313 )
$coord = ^ ERROR
10/06/2013 18:33 BladeTiger12#2
Pixelsearch will einen Bereich haben in dem es sucht:

[Only registered and activated users can see links. Click Here To Register...]


Also:

Code:
;$coord = PixelSearch(x1, y1, x2, y2, farbe)

$coord = PixelSearch(0, 0, @DesktopWidth, @DesktopHeigth, 0x00FF00)
10/06/2013 18:38 alpines#3
Ansonsten nimmt man einfach PixelGetColor und vergleicht ihn mit dem Wert.
10/07/2013 07:01 Sh1Rum#4
So wie es aussieht willst du ein bot für ein spiel machen..vielleicht WinGetPos() <- [Only registered and activated users can see links. Click Here To Register...] für den PixelSearch($Array[1],$Array[2],$Array[3],$Array[4],Hexcode)[Nur vom Handy gemacht]
Vielleicht solltest du mal Controlsend() versuchen ..ich bin nicht sicher ob send() funktionier :}
10/07/2013 12:44 alpines#5
Sh1Rum, Es ist falsch zu sagen, dass man zwangshalber einen Array als Parameter zu nutzen hat. (So hab ich es deinem Post entnommen, "PixelSearch($Array[1], $Array[2], $Array[3], $Array[4], Hexcode)", da 1. Ein Array bei 0 anfängt und 2. man auch konstanten nehmen kann wie z.B. 42.)

Aber in diesem Fall ist es besser PixelGetColor zu nutzen, da man hier nur einen Pixel abscannen möchte und kein Feld auf einen Pixel abscannen möchte.
10/07/2013 13:29 Sh1Rum#6
Wie gesagt es ist vom Handy gemacht ;> und es war ja eh nur ein beispiel wie man es machen konnte ;>