PixelSearch

05/18/2012 23:56 masterkuchen1324#1
Hallo, Ich brauche hilfe bei einen PixelSearch AutoIt Bot.
nun meine Frage:
also ich habe bisher diesen code gebaut:
Code:
HotKeySet( "{F6}","_Exit")

While 1
   $Variable = PixelSearch(187,116,1157,622,0x2A2014)
   If  IsArray($Variable) = True Then
	  MouseMove($Variable [0], $Variable [1], 1)
	  MouseClick($Variable)
   EndIf
WEnd

Func _Exit()
   Exit
EndFunc
Und ich will, das er bei den Farbcode (0x2A2014) ein paar Pixel weiter drunter klickt. Also das er nicht direkt auf das rote klickt, sondern ein bisschen weiter Unten.

Ich bedanke mich schonmal im foraus für jede Hilfe.
05/19/2012 00:31 Tobolobo#2
Code:
MouseClick("left", $Variable [0] , $Variable [1] + AnzahlderPixel)
einfach statt AnzahlderPixel die Anzahl der Pixel eintragen, die darunter geklickt werden soll!
Das MouseMove kannste eigentlich weglassen
05/19/2012 00:42 masterkuchen1324#3
Jo danke,
Und wie mache ich es, das der bot nicht in Endlosschleife auf den Rotenpixelklickt? also das er einmal klickt, und wen der Pixel weg ist, soll er auf hören. Aber wen ein neuer roter Pixel erscheint dan sol er wieder einmal klicken.
Bitte um Antwort!
05/19/2012 02:08 Achat#4
Quote:
Originally Posted by masterkuchen1324 View Post
Jo danke,
Und wie mache ich es, das der bot nicht in Endlosschleife auf den Rotenpixelklickt? also das er einmal klickt, und wen der Pixel weg ist, soll er auf hören. Aber wen ein neuer roter Pixel erscheint dan sol er wieder einmal klicken.
Bitte um Antwort!
Das macht er doch gar nicht??? Du fragst ja jedes mal über If IsArra() ab, ob der Pixel gefunden wurde.

MfG
05/19/2012 13:09 masterkuchen1324#5
Ja schon, aber wen der pixel ja da ist, dan klickt er immer wieder auf den pixel aber er soll nur einmal drauf klicken...
05/19/2012 13:33 KDeluxe#6
Dann benutz doch eine Variable mit dem Wert "True" wenn geklickt werden soll, wenn es schon angeklickt wurde stellst du den Wert auf "False". Wenn die IsArray() Bedingung nicht mehr erfüllt wird stellst du den Wert einfach wieder auf "True".