Brauche mal eure Hilfe Autoit(Pixelsearch?!?!)

09/18/2018 15:04 Goliard2k6#1
Hi Leute,
ich habe seit paar Wochen mich etwas mit Auoit befasst habe auch meine ersten eigenen Bots die laufen ist wohl nur Pointer aber egal.
jetzt möchte ich allerdings in mein script Picsearch einbauen. dies klappt aber nicht habe die Dll usw kopiert und richtig eingefügt.

naja erstmal zum Script




#include<AutoItConstants.au3>;benötige ich für den rest!
#RequireAdmin ; wird als Admin ausgeführt





HotKeySet("{NUMPAD1}", "Stop") ;Schliesst mit 1
HotKeySet("{NUMPAD0}", "Start") ;Startet mit 0
HotKeySet("{NUMPAD4}", "Pause") ;Pause 1 STD. mit 4

;------------------------------------------------------------------
Func Start() ;Hier Start
While 1

;Gratis Fertig stellen 1Feld
$AS = PixelSearch(535, 250,535, 250,0xFEFEFE,2);Fertig stellen 1Feld
If not @error Then
$AS = PixelSearch(552, 250,552, 250,0xFCFCFC,2);Fertig stellen 1Feld
If not @error Then
$AS = PixelSearch(562, 247,562, 247,0xFBF8FB,2);Fertig stellen 1Feld
If not @error Then
$AS = PixelSearch(572, 247,572, 247,0xFFFFFF,2);Fertig stellen 1Feld
If not @error Then
$AS = PixelSearch(588, 247,588, 247,0xFAF8FA,2);Fertig stellen 1Feld
If not @error Then
MouseClick("left",563, 252,1) ;Fertig stellen 1Feld anklicken
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf

; Feld 1 fertig
$AS = PixelSearch(281, 119,281, 119,0xD381F8,20);Erste Bild LILA
If not @error Then
$AS = PixelSearch(274, 170,274, 170,0xD34B29,20);Erste Bild rot
If not @error Then
$AS = PixelSearch(286, 189,286, 189,0xD79F43,20);Erste Bild geld
If not @error Then
$AS = PixelSearch(203, 214,203, 214,0xC09F5D,20);Erste Bild braun
If not @error Then
$AS = PixelSearch(534, 230,587, 268,0x39E331,20);1 Feld grün
If not @error Then
MouseClick("left",564, 249,1) ;1 anklicken
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf

; Feld 2 fertig
$AS = PixelSearch(281, 119,281, 119,0xD381F8,20);Erste Bild LILA
If not @error Then
$AS = PixelSearch(274, 170,274, 170,0xD34B29,20);Erste Bild rot
If not @error Then
$AS = PixelSearch(286, 189,286, 189,0xD79F43,20);Erste Bild geld
If not @error Then
$AS = PixelSearch(203, 214,203, 214,0xC09F5D,20);Erste Bild braun
If not @error Then
$AS = PixelSearch(531, 294,590, 333,0x39E331,20);2 Feld grün
If not @error Then
MouseClick("left",563, 312,1) ;1 anklicken
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf

; Feld 3 fertig
$AS = PixelSearch(281, 119,281, 119,0xD381F8,20);Erste Bild LILA
If not @error Then
$AS = PixelSearch(274, 170,274, 170,0xD34B29,20);Erste Bild rot
If not @error Then
$AS = PixelSearch(286, 189,286, 189,0xD79F43,20);Erste Bild geld
If not @error Then
$AS = PixelSearch(203, 214,203, 214,0xC09F5D,20);Erste Bild braun
If not @error Then
$AS = PixelSearch(530, 357,590, 397,0x39E331,20);3 Feld grün
If not @error Then
MouseClick("left",565, 380,1) ;1 anklicken
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf

; Feld 4 fertig
$AS = PixelSearch(281, 119,281, 119,0xD381F8,20);Erste Bild LILA
If not @error Then
$AS = PixelSearch(274, 170,274, 170,0xD34B29,20);Erste Bild rot
If not @error Then
$AS = PixelSearch(286, 189,286, 189,0xD79F43,20);Erste Bild geld
If not @error Then
$AS = PixelSearch(203, 214,203, 214,0xC09F5D,20);Erste Bild braun
If not @error Then
$AS = PixelSearch(533, 422,592, 462,0x39E331,20);4 Feld grün
If not @error Then
MouseClick("left",566, 443,1) ;1 anklicken
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf

; Feld 5 fertig
$AS = PixelSearch(281, 119,281, 119,0xD381F8,20);Erste Bild LILA
If not @error Then
$AS = PixelSearch(274, 170,274, 170,0xD34B29,20);Erste Bild rot
If not @error Then
$AS = PixelSearch(286, 189,286, 189,0xD79F43,20);Erste Bild geld
If not @error Then
$AS = PixelSearch(203, 214,203, 214,0xC09F5D,20);Erste Bild braun
If not @error Then
$AS = PixelSearch(531, 487,591, 526,0x39E331,20);5 Feld grün
If not @error Then
MouseClick("left",564, 505,1) ;1 anklicken
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf

; Feld 6 fertig
$AS = PixelSearch(281, 119,281, 119,0xD381F8,20);Erste Bild LILA
If not @error Then
$AS = PixelSearch(274, 170,274, 170,0xD34B29,20);Erste Bild rot
If not @error Then
$AS = PixelSearch(286, 189,286, 189,0xD79F43,20);Erste Bild geld
If not @error Then
$AS = PixelSearch(203, 214,203, 214,0xC09F5D,20);Erste Bild braun
If not @error Then
$AS = PixelSearch(532, 551,592, 589,0x39E331,20);6 Feld grün
If not @error Then
MouseClick("left",564, 570,1) ;1 anklicken
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf

; Feld 7 fertig
$AS = PixelSearch(281, 119,281, 119,0xD381F8,20);Erste Bild LILA
If not @error Then
$AS = PixelSearch(274, 170,274, 170,0xD34B29,20);Erste Bild rot
If not @error Then
$AS = PixelSearch(286, 189,286, 189,0xD79F43,20);Erste Bild geld
If not @error Then
$AS = PixelSearch(203, 214,203, 214,0xC09F5D,20);Erste Bild braun
If not @error Then
$AS = PixelSearch(531, 616,591, 656,0x39E331,20);7 Feld grün
If not @error Then
MouseClick("left",564, 570,1) ;1 anklicken
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf

;Verbindung unterbrochen
$AS = PixelSearch(624, 222,624, 222,0xFBEA9C,20);Verbindung unterbrochen
If not @error Then
$AS = PixelSearch(650, 227,650, 227,0xFAE99B,20);Verbindung unterbrochen
If not @error Then
$AS = PixelSearch(663, 227,663, 227,0xFBEB9C,20);Verbindung unterbrochen
If not @error Then
$AS = PixelSearch(753, 418,753, 418,0xFDFDFD,20);Neuer Versuch
If not @error Then
$AS = PixelSearch(923, 419,923, 419,0xFEFEFE,20);Neuer Versuch
If not @error Then
sleep(550)
MouseClick("left",834, 419,1) ;Kämpfen
sleep(600)
EndIf
EndIf
EndIf
EndIf
EndIf


WEnd
EndFunc ;==>Start ende

While 1
sleep(150)
WEnd

Func Pause()
Sleep(3600000) ;Pause 1STD. belohnung
EndFunc ;==>Pause

Func Stop() ;Ausschalter
Exit
EndFunc ;==>Stop AutoIt







das läuft soweit......... jetzt soll er aber noch nach Bilder suchen das klappt aber bei mir leider nicht.
Vll. kann mir wer dabei helfen und das einfügen.

Bild ist egal tausche ich später aus. im zugefügten Script.




Das ist das was ich eingefügt hatte lief aber nicht !


#include <ImageSearch.au3>

$X=0
$y=0

$result = _ImageSearch("ie7Desktop.bmp",1,0,0,750,750,$x1,$y 1,0)
if $result=1 Then
MouseMove($x1,$y1,3)
MsgBox(0,"Found","Found a recycle bin with stuff in top left corner")
EndIf



Bitte um Hilfe danke!
kann auch bei kleineren Bots helfen wenn nur Pointer genutz werden soll.
09/26/2018 00:44 Clonko#2
Quote:
$X=0
$y=0

$result = _ImageSearch("ie7Desktop.bmp",1,0,0,750,750,$x1,$y 1,0)
if $result=1 Then
MouseMove($x1,$y1,3)
MsgBox(0,"Found","Found a recycle bin with stuff in top left corner")
EndIf
Du solltest dich hier auf jeweils einen Variablennamen beschränken und nicht wirr irgendwelche dahin schreiben. Er müsste dir doch dazu eigentlich eine Tonne an Fehlermeldungen auspucken.

Code:
Global $xImg = 0, $yImg = 0
$result = _ImageSearch("ie7Desktop.bmp", 1, 0, 0, 750, 750, $xImg, $yImg, 0)
If $result = 1 Then
	MouseMove($xImg, $yImg, 3)
	MsgBox(0,"Found","Found a recycle bin with stuff in top left corner")
EndIf
Wenn deine Coords und dein Img passt, sollte es funktionieren. Und bitte gewöhne dir um Himmelswillen an Code Tags zu benutzen, danke! :)