AutoIt Desktop-Scanner

12/14/2010 09:08 i[F]uN#1
Hallo Com,

ich bin auf der Suche nach einem verständlichen, vllt noch erklärten Code für die durchsuchung des ganzen Bildschirmes.

Das ganze sollte für ein Egoshooter eingesetzt.


Ablaufen wird es etwa so ablaufen:
Der ganze Bildschirm wird nach dem Pixel des gegnerischen Kopfes abgesucht - wenn das dann erfasst wurde 1x draufschiessen dann sleep (50)
nochmals draufknallen sleep (50) ... bis das (WTF?! der oder das oO ) Pixel nicht mehr existiert. Reloaden und weiter geht's (:

Wär' nett wenn da jemand eine Lösung hat die relativ verständlich ist und die man auch verstehen kann.


Freundliche Grüsse
soca
12/14/2010 11:09 ZeraPain#2
Code:
$color = 0x000000

While 1
	$coord = PixelSearch(0, 0, @DesktopWidth, @DesktopHeight, $color)
	If Not @error Then
		Do
			MouseClick("left", $coord[0], $coord[1])
			Sleep(50)
		Until PixelGetColor($coord[0], $coord[1]) <> $color
	EndIf
WEnd
12/14/2010 11:42 | Moep |#3
In der Zeit in der Autoit den Pixel gefunden hat, hab ich dich 5mal abgeknallt... Spiel lieber richtig, haste mehr von.
01/01/2011 19:23 i[F]uN#4
Hallo, ich hab hier nochmals ein kleines Problem dazu:

PHP Code:
$color 0xCE9E19

    $coord 
PixelSearch(00, @DesktopWidth, @DesktopHeight$color)
    If 
Not @error then
        MouseClick
("left"$coord[0], $coord[1])
         
sleep (100)
                ....
                        ....
     EndIf 
Also jetzt sucht er den Desktop nach diesem einen Pixel ab. Nun hat er das Pixel und klickt drauf. Nun möchte ich von DEM Pixel aus einen MouseMove bzw. einen weiteren MouseClick hinkriegen.

Normalerweise:

PHP Code:

MouseMove
(XYGeschwindigkeit
Doch nun hab' ich ja keine Koordinaten zur Auswahl bzw. das gesuchte Pixel kann überall sein.

Was gibt's da für Möglichkeiten?


Freundliche Grüsse
i[F]uN
01/01/2011 19:36 omer36#5
MouseClick("left", $coord[0], $coord[1])

und was meinst du wie hier die coors´s zur stande kommen?
x = $coord[0]
y = $coord[1]


€oder du meinst glaube ich so:

zb
MouseClick("left", $coord[0]+50, $coord[1]+30)
01/01/2011 19:40 i[F]uN#6
Quote:
Originally Posted by omer36 View Post
MouseClick("left", $coord[0], $coord[1])

und was meinst du wie hier die coors´s zur stande kommen?
x = $coord[0]
y = $coord[1]


€oder du meinst glaube ich so:

zb
MouseClick("left", $coord[0]+50, $coord[1]+30)
Ich wollte grad drauf los schreiben, dass du mich falsch verstanden hast :awesome:

Mal testen ob's geht - ich werd's dann editieren.

Edit:
Funktioniert perfekt - danke nochmals (: