|
You last visited: Today at 00:33
Advertisement
Autoit Pixel Search
Discussion on Autoit Pixel Search within the AutoIt forum part of the Coders Den category.
12/16/2013, 17:16
|
#1
|
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
|
Autoit Pixel Search
Hi Leute wie kann ich 2 oder mehr Farben gleichzeitig suchen ?
mein Aktuelles Script,
Code:
HotKeySet ("{F1}", "Start")
HotKeySet ("{F2}", "_Exit")
While 1
Sleep(250)
WEnd
Func Start()
While 1
$pxs = PixelSearch(3,9,1277,882, 0x9C0200)
If isArray($pxs) then
MouseMove($pxs[0],$pxs[1], 0)
MouseClick("Left")
EndIf
WEnd
EndFunc
Func _Exit()
Exit
EndFunc
|
|
|
12/16/2013, 17:43
|
#2
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Du kannst das einfach kombinieren
Code:
$a = PixelSearch()
$b = PixelSearch()
If IsArray($a) and IsArray($b) Then ;...
|
|
|
12/16/2013, 17:56
|
#3
|
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
|
Quote:
Originally Posted by alpines
Du kannst das einfach kombinieren
Code:
$a = PixelSearch()
$b = PixelSearch()
If IsArray($a) and IsArray($b) Then ;...
|
Wie genau sollte es aussehen?
Code:
HotKeySet ("{F1}", "Start")
HotKeySet ("{F2}", "_Exit")
While 1
Sleep(250)
WEnd
Func Start()
While 1
$a = PixelSearch(3,9,1277,882, 0x0E0E22)
$b = PixelSearch(3,9,1277,882, 0x9C0200)
If IsArray($a) and IsArray($b) Then
MouseMove($pxs[0],$pxs[1], 0)
MouseClick("Left")
EndIf
WEnd
EndFunc
Func _Exit()
Exit
EndFunc
So?
habe auch das hier gefunden aber bei mir läuft das nicht ...
Code:
HotKeySet('a', '_Exit')
HotKeySet('f', 'Fertig_Starten')
Func Fertig_Starten()
While 1
$Fertig = PixelSearch(135, 300, 1126, 895, 0xAEE6E1) ; Fertig
If IsArray($Fertig) = True Then
MouseMove($Fertig[0],$Fertig[1],0)
MouseClick('left', $Fertig[0], $Fertig[1], 1, 0)
Endif
; Nach dem er das $Fertig gemacht hat, unabhängig davon ob er es gefunden hat oder nicht, soll er zum nächsten If springen nur WIE???
;Siehe unten Beispiel:
$Test1 = PixelSearch(135, 300, 1126, 895, 0x335B00) ;Test1
If IsArray($Test1) = True Then
MouseMove($Test1[0],$Test1[1],0)
MouseClick('left', $Test1[0], $Test1[1], 0, 1)
Endif
$Test2 = PixelSearch(135, 300, 1126, 895, 0x2D1E11);Test2
If IsArray($Test2) = True Then
MouseMove($Test2[0],$Test2[1],0)
MouseClick('left', $Test2[0], $Test2[1], 0, 1)
Endif
$Test3 = PixelSearch(135, 300, 1126, 895, 0xFE9F6F);Test3
If IsArray($Test3) = True Then
MouseMove($Test3[0],$Test3[1],0)
MouseClick('left', $Test3[0], $Test3[1], 0, 1)
Endif
$Test4 = PixelSearch(135, 300, 1126, 895, 0x696C5B);Test4
If IsArray($Test4) = True Then
MouseMove($Test4[0],$Test4[1],0)
MouseClick('left', $Test4[0], $Test4[1], 0, 1)
EndIf
WEnd
EndFunc ;==>Fertig_Starten
Func _Exit()
Exit
EndFunc ;==>_Exit
While 1
Sleep(50)
Wend
|
|
|
12/16/2013, 18:04
|
#4
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Das war nur Pseudocode, so wird das natürlich nicht funktionieren da du $pxs[2] nicht definiert hast.
Kommt darauf an was du genau möchtest, möchtest du an die Fundstelle von $a klicken oder von $b, oder beides?
|
|
|
12/16/2013, 18:05
|
#5
|
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
|
er soll auf beide Farben klicken
|
|
|
12/16/2013, 18:07
|
#6
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Kannst du damit probieren. Der klickt beide an wenn beide Pixel da sind, ansonsten klickt der keins:
Code:
HotKeySet ("{F1}", "Start")
HotKeySet ("{F2}", "_Exit")
While 1
Sleep(250)
WEnd
Func Start()
While 1
$a = PixelSearch(3,9,1277,882, 0x0E0E22)
$b = PixelSearch(3,9,1277,882, 0x9C0200)
If IsArray($a) and IsArray($b) Then
MouseClick("left", $a[0], $a[1], 1, 0)
MouseClick("left", $b[0], $b[1], 1, 0)
EndIf
WEnd
EndFunc
Func _Exit()
Exit
EndFunc
Wenn du es so haben möchtest das der auch drauf klickt wenn nur eins davon sichtbar ist dann musst du das anders formulieren.
|
|
|
12/16/2013, 18:12
|
#7
|
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
|
Danke was muss ich ändern damit er auf die Farbe drückt die grade da ist ?
und wenn ich zb. noch andere farben möchte dann
c,d,e,f,g etc.?
|
|
|
12/16/2013, 18:38
|
#8
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Du hast das doch als erstes gepostet was passiert wenn er es findet, wiederhol den Teil einfach und fertig. Es scheint als ob du gar nichts davon kannst, schau dir doch mal zuerst Tutorials an.
|
|
|
12/17/2013, 13:20
|
#9
|
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
|
Quote:
Originally Posted by alpines
Du hast das doch als erstes gepostet was passiert wenn er es findet, wiederhol den Teil einfach und fertig. Es scheint als ob du gar nichts davon kannst, schau dir doch mal zuerst Tutorials an.
|
Würde ich mich auskennen hätte ich hier nicht gefragt :P
Danke für die Hilfe !
Code:
HotKeySet ("{F1}", "Start")
HotKeySet ("{F2}", "_Exit")
While 1
Sleep(250)
WEnd
Func Start()
While 1
$a = PixelSearch(3,9,1277,882, 0x9C0200)
If IsArray($a) Then
MouseClick("left", $a[0], $a[1], 1, 0)
EndIf
$b = PixelSearch(3,9,1277,882, 0x0E0E22)
If IsArray($b) Then
MouseClick("left", $b[0], $b[1], 1, 0)
EndIf
WEnd
EndFunc
Func _Exit()
Exit
EndFunc
|
|
|
12/17/2013, 13:38
|
#10
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Du suchst aber glaube ich keine Hilfe sondern jemand der das für ich macht also gehört das entweder in den Request (Sticky) Thread oder in die Coding TBM.
|
|
|
12/24/2013, 16:34
|
#11
|
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
|
Ist es möglich das er nach 2 Farben sucht zb.
es sind Blaue und Rote Bilder und Grüne und Rote Bilder er soll auf das Grüne und Rote Bild drücken ?
ein Teil Grün der andere Teil Rot, er soll 2 Farben erkennen und auf das Bild mit den passenden Farben drücken.
Mein Script;
Code:
HotKeySet ("{F1}", "Start") ;Start
HotKeySet("{F2}", "TogglePause") ;Pause + Weiter
HotKeySet ("{F3}", "_Exit"); Exit
Global $Paused
While 1
Sleep(250)
WEnd
Func Start()
While 1
$a = PixelSearch(11,13,1265,987, 0xED1B24) ;rot
$b = PixelSearch(11,13,1265,987, 0xA8E71E) ;grün
If IsArray($a) and IsArray($b) Then
MouseClick("left", $a[0], $a[1], 1, 0)
MouseClick("left", $b[0], $b[1], 1, 0)
EndIf
WEnd
EndFunc
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
WEnd
EndFunc
Func _Exit()
Exit
EndFunc
Beispiel Bild;
|
|
|
12/24/2013, 16:38
|
#12
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Da musst du ein bisschen rechnen, eine Funktion dafür gibt es nicht. Auch keine UDF.
|
|
|
12/24/2013, 19:57
|
#13
|
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
|
Quote:
Originally Posted by alpines
Da musst du ein bisschen rechnen, eine Funktion dafür gibt es nicht. Auch keine UDF.
|
OK danke für die Antwort !
|
|
|
|
Similar Threads
|
AUTOIT - script using pixel search doesnt work properly
08/11/2011 - AutoIt - 2 Replies
I have posted again triying to explain better wich is my problem. My level of english is very low and a friend is helping me to express my problem i got whith the script.
Is the secon time i post the same please apologize me , and delete old post because here everyone will understand better what i am asking , and what i need.
I have done a bot that must be running all time.
It has 2 diferents parts.
Part 1 must do :
|
AutoIt Pixel Search & Click Frage.
11/23/2010 - AutoIt - 12 Replies
Hey e*pvpers.
Bin grade angefangen, mich bisschen in AutoIt reinzuarbeiten.
Wollte dazu nen kleinen, recht simplen Bot erstellen, der eine bestimmte Pixelfarbe sucht - Wenn er das gefunden hat, sollte er eig draufklicken.
Bin allerdings nur so weit gekommen, dass der Pixel gefunden wird, und ein Klick auch gemacht wird. Allerdings klickt die Maus da wo der Cursor grade steht, und movt nicht zu dem jeweiligen Pixel.
Und da ich wie gesagt grad erst anfange, weiss ich den Befehl...
|
Problem mit Pixel search Autoit
06/18/2010 - AutoIt - 14 Replies
Wie der Titel schon sagt habe ich ein Problem mit der funktion Pixel search
Mein Problem ist das die Maus immer über die Rausgesuchte Pixel Position geht
zb O ist der ausgewählte punkt es kommt aber eher sowas raus als ob ich Ö striche ausgewählt hab
Also aimt immer etwas über der angegebennen position der Code :
und dann hätte ich noch die frage ob man mehrere Pixel Searches in einem Script laufen lassen kann
Zb: Wenn die Lebensanzeige sinkt oder Fast lehr ist das eine Function...
|
All times are GMT +2. The time now is 00:33.
|
|