Problem bei Pixel search

12/06/2010 21:00 AzIo#1
Heey,
habe noch nie etwas mit AutoIt geschreiben...
Hier mein script:
Ich wollte eigentlich nur dass mein Mauszeiger auf 736, 699 klickt, dann die Pixel in dem Bereich sucht und drauf klickt. Daraufhin wieder woanders hin klickt und wieder die Pixel den dem Bereich sucht und wieder drauf klickt.
12/06/2010 21:02 Hackerfreak1#2
PHP Code:
HotKeySet("{F1}","Start")
HotKeySet("{F2}","Pause")
HotKeySet("{F3}","Ende")

Global 
$funcs false

Func Start
()
$funcs True
EndFunc

Func Pause
()
$funcs False
while $funcs False
sleeP
(500)
WEnd
EndFunc

Func Ende
()
Exit
EndFunc

MouseClick
("left" 7366991)
$B PixelSearch(65053012008000x511B0F)
If 
IsArray($B) = True Then
MouseMove
($B[0], $B[1], 1)
MouseClick("left")
EndIf
Sleep(400)
MouseClick("left"7866801)
$B PixelSearch(65053012008000x511B0F)
If 
IsArray($B) = True Then
MouseMove
($B[0], $B[1], 1)
MouseClick("left")
EndIf
Sleep(400

bitte in php code machen dan sieht es besser aus ;)

Fehler habe ich leider noch nicht gefunden suche weiter <3

€: muss das "Mouseclick...." nicht mit in die Start func .?
12/06/2010 21:08 AzIo#3
oke sieht jetzt so aus ( hab die koords umgeändert)
Aber der macht da irgendwas komisches...
habe glaub ich die pixel falsch definiert bzw. gibt es das pixel öfters als nur da wo ich es will :D



Kann man mehrere Pixel oder sogar nach einem Bild suchen?
12/06/2010 22:09 sava#4
Quote:
Originally Posted by AzIo View Post
Kann man mehrere Pixel oder sogar nach einem Bild suchen?
Ja man kan direkt nach Bildern suchen, was große Vorteile hat.

Stichwort dafür ist: ImageSearch
12/07/2010 14:03 AzIo#5
habe mal dieses hier gemacht:
PHP Code:
while 1
$B
=0
MouseClick
("left" 9597451)
    
$B =_ImageSearch("Windows-7-Start-Orb.png",1,$x1,$y1,100)
    If 
$B 1 Then
        Mouseclick 
("left",$x1,$y1)
    Else
        
MouseClick("left" 10007451)
    EndIf
Sleep(1000)
WEnd 
dadabei kommt dieser Fehler:
C:\Users\******\Desktop\AutoIt v3 Script (neu).au3 (25) : ==> Variable used without being declared.:
$B =_ImageSearch("Windows-7-Start-Orb.png",1,$x1,$y1,100)
$B =_ImageSearch("Windows-7-Start-Orb.png",1,^ ERROR
[Only registered and activated users can see links. Click Here To Register...] das ist das bild dazu
12/07/2010 14:32 sava#6
Quote:
Originally Posted by AzIo View Post
habe mal dieses hier gemacht:
PHP Code:
while 1
$B
=0
MouseClick
("left" 9597451)
    
$B =_ImageSearch("Windows-7-Start-Orb.png",1,$x1,$y1,100)
    If 
$B 1 Then
        Mouseclick 
("left",$x1,$y1)
    Else
        
MouseClick("left" 10007451)
    EndIf
Sleep(1000)
WEnd 
dadabei kommt dieser Fehler:
C:\Users\******\Desktop\AutoIt v3 Script (neu).au3 (25) : ==> Variable used without being declared.:
$B =_ImageSearch("Windows-7-Start-Orb.png",1,$x1,$y1,100)
$B =_ImageSearch("Windows-7-Start-Orb.png",1,^ ERROR
[Only registered and activated users can see links. Click Here To Register...] das ist das bild dazu

AutoIT hat dir schon die Lösung gesagt , schau mal wo der ERROR ist.

Bei $x1 und wahrscheinlich auch bei $y1
PHP Code:
$x1 0
$y1 

Wird das Problem beheben!
12/07/2010 14:40 AzIo#7
Naja da bin ich zwar auch drauf gekommen aber es kommt immer noch ein error:
PHP Code:
>Running:(3.3.6.1):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "C:\Users\*****\Desktop\AutoIt v3 Script (neu).au3"    
C:\Program Files (x86)\AutoIt3\Include\ImageSearch.au3 (40) : ==> Subscript used with non-Array variable.:
if 
$result[0]="0" then return 0
if $resultERROR
->14:40:03 AutoIT3.exe ended.rc:1
>Exit code1    Time2.301 
PHP Code:
While 1
    $x1
=0
    $y1
=0
    $B 
0
    MouseClick
("left"9597451)
    
$B _ImageSearch("Windows-7-Start-Orb.png"1$x1$y110)
    If 
$B 1 Then
        MouseClick
("left"$x1$y1)
    Else
        
MouseClick("left"10007451)
    EndIf
    
Sleep(1000)
WEnd 
12/07/2010 15:00 sava#8
Quote:
Originally Posted by AzIo View Post
Naja da bin ich zwar auch drauf gekommen aber es kommt immer noch ein error:
PHP Code:
>Running:(3.3.6.1):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "C:\Users\*****\Desktop\AutoIt v3 Script (neu).au3"    
C:\Program Files (x86)\AutoIt3\Include\ImageSearch.au3 (40) : ==> Subscript used with non-Array variable.:
if 
$result[0]="0" then return 0
if $resultERROR
->14:40:03 AutoIT3.exe ended.rc:1
>Exit code1    Time2.301 
PHP Code:
While 1
    $x1
=0
    $y1
=0
    $B 
0
    MouseClick
("left"9597451)
    
$B _ImageSearch("Windows-7-Start-Orb.png"1$x1$y110)
    If 
$B 1 Then
        MouseClick
("left"$x1$y1)
    Else
        
MouseClick("left"10007451)
    EndIf
    
Sleep(1000)
WEnd 
Dieser Fehler kommt wenn du dein Script als 64bit Anwendung kompilieren lässt!

_ImageSearch funktioniert nur bei 32bit
12/07/2010 15:06 AzIo#9
Mein komplettes script:
PHP Code:
#include<ImageSearch.au3>
#AutoIt3Wrapper_usex64=n
HotKeySet("{F1}""Start")
HotKeySet("{F2}""Pause")
HotKeySet("{F3}""Ende")
Global 
$funcs False

Func Start
()
    
$funcs True
EndFunc   
;==>Start

Func Pause
()
    
$funcs False
    
While $funcs False
        Sleep
(500)
    
WEnd
EndFunc   
;==>Pause

Func Ende
()
    Exit
EndFunc   ;==>Ende

While 1
    $x1
=0
    $y1
=0
    $B 
0
    MouseClick
("left"9597451)
    
$B _ImageSearch("Windows-7-Start-Orb.png"1$x1$y110)
    If 
$B 1 Then
        MouseClick
("left"$x1$y1)
    Else
        
MouseClick("left"10007451)
    EndIf
    
Sleep(1000)
WEnd 
Oke jetzt gehts :;D
12/07/2010 15:10 sava#10
Quote:
Originally Posted by AzIo View Post
Mein komplettes script:
PHP Code:
#include<ImageSearch.au3>
#AutoIt3Wrapper_usex64=n
HotKeySet("{F1}""Start")
HotKeySet("{F2}""Pause")
HotKeySet("{F3}""Ende")
Global 
$funcs False

Func Start
()
    
$funcs True
EndFunc   
;==>Start

Func Pause
()
    
$funcs False
    
While $funcs False
        Sleep
(500)
    
WEnd
EndFunc   
;==>Pause

Func Ende
()
    Exit
EndFunc   ;==>Ende

While 1
    $x1
=0
    $y1
=0
    $B 
0
    MouseClick
("left"9597451)
    
$B _ImageSearch("Windows-7-Start-Orb.png"1$x1$y110)
    If 
$B 1 Then
        MouseClick
("left"$x1$y1)
    Else
        
MouseClick("left"10007451)
    EndIf
    
Sleep(1000)
WEnd 
Oke jetzt gehts :;D
Kleiner Tipp: bei ImageSearch immer .bmp Bilder benutzen!
12/07/2010 15:25 omer36#11
Quote:
Originally Posted by sava View Post
Dieser Fehler kommt wenn du dein Script als 64bit Anwendung kompilieren lässt!

_ImageSearch funktioniert nur bei 32bit
falsch!


ich nehme an, du hast die imagesearch.dll und imagesearch.au3?

die .dll in dein system32 ordner kopieren, die .au3 in den includes ordner von autoit kopieren.

jetz deine neue.au3 in ein extra ordner und dadrin nochmal die .dll und .au3 einfügen
(so dass die 3 sachen in ein order zsm sind)

und oben in deine neue.au3 das einfügen:

PHP Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** 
und vllt noch #RequireAdmin wenn du keine vollen rechte hast
12/07/2010 16:32 AzIo#12
oke Funktioniert jetzt so halb:d
habe einen screen von meinem startbutton gemacht, auf den screen.jpg fährt er, aber auf das startbutton nicht, Warum das?
12/07/2010 17:00 omer36#13
du musst das bild so klein wie möglich machen, und am besten nur einen kleinen teil davon,
etwas auffälliges, was sonnst nix auf dein bildschirm hatt....

zb so:

[Only registered and activated users can see links. Click Here To Register...]
12/07/2010 17:09 AzIo#14
xD hmm hab mal das bild verkleinert^^ und dann ist der mauszeiger nicht mehr auf das alte bild bei dem es noch komplett war...
Will eig in nem Javascriptgame das dann laufen lassen.
12/07/2010 17:14 omer36#15
ist das bild "durchsichtig" ? könnte sich die farbe dahinter auf igenteine art und weise verändern?

wenn ja, wird es nciht klappen, dann müsste mann das bild transparent machen und es versuchen (ob das klappt weiß ich nciht, nur ein gedanke...habs noch nie versucht!!)