Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 15:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



ImageSearch Problem

Discussion on ImageSearch Problem within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
flumio's Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
[gelöst]ImageSearch Problem

Quote:
worked download link added
Hallo Community,

Puhhhh ich bin am verzweifeln, über Stunden gegoogelt und in anderen Forums gesucht. Ich bekomme einfach nicht diese Fehlermeldung weg:

Quote:
ImageSearch.au3 (44) : ==> Subscript used with non-Array variable.:
if $result[0]="0" then return 0
if $result^ ERROR
Schon viel ausprobiert ...
Ich habe Windows 7 - 64 bit
1. In meinem Ordner sind: mein Script, ImageSearch.au3, ImageSearchDLL.dll und die sstart.bmp

2. Füge ich #RequireAdmin hinzu, bekomm ich zwar nicht die mehr die Fehlermeldung, aber beim drücken der Func crashed die Anwendung.

3. mit der ImageSearchDLL.dll.64bit funktioniert es auch nicht.

4. Füge ich #AutoIt3Wrapper_UseX64=n hinzu, funktioniert es auch nicht.

5. es per Rechtsklick -> Run Script (x86) starten, geht auch nicht.

Kann es vllt sein das ich ImageSearch.au3, ImageSearchDLL.dll veraltet sind ? Den ich finde einige deads links, könnte vllt falsch sein ?
Ein anderer meint auf 64bit Versionen geht es einfach nicht ?

Hier mal der Code:
Code:
#include <ImageSearch.au3>

$x = 0
$y = 0

HotKeySet("{F3}", "test")

While True
WEnd


Func test()
    While 1
        $start= _ImageSearch("sstart.bmp",1,$x,$y,0)
        If $start[0] = 1 Then
            MsgBox(0,"","Gefunden")
            If @error Then
                MsgBox(0,"","Nicht gefunden")
            EndIf
        EndIf
    WEnd
EndFunc
Ich hoffe mir kann hier wer helfen.
Attached Files
File Type: rar ImageSearch.rar (38.3 KB, 8 views)
flumio is offline  
Thanks
1 User
Old 01/04/2014, 18:46   #2
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
1.) ist $start[0] ein array ?
2.) fehlerhafte imagesearch.au3?
YatoDev is offline  
Thanks
1 User
Old 01/04/2014, 19:04   #3
 
flumio's Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
Quote:
1.) ist $start[0] ein array ?
ich glaub das ist ein Fehler da müsste normal nur $start hin oder ? , der code ist nur kopiert von papierkorb um es zu verstehen. Da es aber nicht mal funktioniert, hab ich das Problem damit.

Quote:
2.) fehlerhafte imagesearch.au3?
Kann ich dir nicht sagen ich hab sie irgendwo runter geladen, dazu muss man aber erwähnen das von 10 Links - 8 oder so tot waren.
Weist du wo ich eine 100% worked imagesearch.au3 her bekomme, um dies auszuschließen ( kann mir natürlich eine weitere aus dem Web suchen, aber wer weis ob die 100% ist ) ?
flumio is offline  
Old 01/04/2014, 19:38   #4
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Code:
#include <ImageSearch.au3>

$x = 0
$y = 0

HotKeySet("{F3}", "test")

While True
sleep(100)
WEnd


Func test()
    While 1
        If  _ImageSearch("sstart.bmp",1,$x,$y,0) = 1 Then
            If @error Then
                MsgBox(0,"","Nicht gefunden")
            EndIf
            MsgBox(0,"","Gefunden")
        EndIf
    WEnd
EndFunc
wenns so noch nen fehler gibt musst du dir ne neue imgsearch udf suchen

ich kann dir nicht sagen wo weil imagesearch scheiße ist und ichs deswegen nicht nutze
YatoDev is offline  
Old 01/04/2014, 20:19   #5
 
flumio's Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
Quote:
ich kann dir nicht sagen wo weil imagesearch scheiße ist und ichs deswegen nicht nutze
Was würdest du den benützen ? Welche Möglichkeiten hat man den außer, Pixel-/Imagesearch um z.B. auf einer Spielekarte die Lebenspunkte auszulesen ?
flumio is offline  
Old 01/04/2014, 20:20   #6
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Du könntest nach einem Pattern von Pixel nachscannen, ist schneller und braucht diese schlechte UDF nicht.
alpines is offline  
Thanks
1 User
Old 01/04/2014, 20:44   #7
 
flumio's Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
Ich habe nun weitere ImageSearch.au3 gesucht und der 11te Code, anscheinend hat der irgendwas bewirkt.
Nun geht es, vielen dank für die mit Hilfe.
Quote:
Du könntest nach einem Pattern von Pixel nachscannen, ist schneller und braucht diese schlechte UDF nicht.
Könntest du das ein wenig genauer erläutern, für jemanden dem das neu ist ?
flumio is offline  
Old 01/04/2014, 21:35   #8
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by alpines View Post
Du könntest nach einem Pattern von Pixel nachscannen, ist schneller und braucht diese schlechte UDF nicht.
Ich hab die UDF auch noch nie gebraucht und die ist wirklich schlecht^^

Du könntest zb. Mehrere Pixelsearch und Pixelgetcolor verwenden um den stand des balkens abzufragen. Daraus könntest du dir einen algorythmus bauen der zum start immer schaut wo die lebenspunkte anzeige ist und wie voll.
Du könntest im arbeitsspeicher nach der addresse suchen
YatoDev is offline  
Old 01/04/2014, 21:44   #9
 
FacePalmMan's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
ich hab die ImageSearch.au3 auch einmal benutzt und bekam diesen fehler. mit der suchfunktion habe ich dann die antwort gefunden.
an deinem script war von anfang an alles richtig. nur die udf hatte eine macke. die zeile 40 in der udf ersetzt du am besten durch das:
FacePalmMan is offline  
Old 01/04/2014, 22:59   #10
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Ich hab mich mal an einen kleinen such algo rangesetzt der jetzt auch funktioniert.

Er sucht den bildschirm ab bis er den pixel gefunden hat. dann "generiert" er die coordinaten an denen man überprüfen kann wie voll die anzeige ist. Bei fragen einfach hier schreiben oder skype.

Ich weis jetzt auch nicht ob genau das gesucht war aber vielleicht kann man es ja gebrauchen

als beispiel habe ich diese rote leiste benutzt :

(am besten downloaden wegen des roten icons im epvp img tab)


Edit : Um das ganze etwas performanter zu implementieren könnte man vorher mit pixelchecksum schauen ob sich überhaupt was geändert hat
YatoDev is offline  
Old 01/05/2014, 00:24   #11
 
flumio's Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
Ich suche eher etwas so was:
Die Spielkarte hat die Lebenspunkte als Zahl z.B. 4, die Karte ist auch nicht immer am selben Platz.
Er soll den Bildschirm überprüfen ob eine der Karten die Zahl 4 hat ( wollte ich mit ImageSearch 4.bmp machen ) und dann darauf klicken, danach noch eine 3er und 2er suchen und jeweils was machen.




Wenn ich eure guten Tipps verstehe, dann müsste ich mir von der Zahl z.B. 4 einfach 4-12 Pixel raussuchen.
Code:
$pos = PixelSearch(2,2,1350,760,FARBE,0) ;wie kann ich hier jetzt z.b. das Muster von den 4-12 Pixeln eintragen ?
If isArray($pos) then
MouseMove($pos[0],$pos[1],0)
MouseClick("Left")
EndIf
Oder denke ich gerade in eine ganz falsche Richtung ? Ihr seht ich bin noch ein rechter Frischling, aber willig zu lernen. Vllt kann mir einer einen Code schicken, wie es sein sollte oder wie es noch einfacher geht, anhand diesem könnte ich daraus lernen.
Ich möchte hier von keinem verlangen einen kompleten Code für alles zu bekommen.
Einfach mal nur wie ich das mit der "4" hinbekomme, ohne ImageSearch zu benützen. Vllt ist meine jetzige Denkweise gar nicht falsch, sondern mir fehlt nur die Erfahrung/Wissen.
flumio is offline  
Old 01/05/2014, 00:38   #12
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Mit lebenspunkte bringe ich sofort lebensbalken in verbindung ^^

Ich würd schon fast sagen das solltest du mit der Img search .au3 lösen.

Außer wenn nur eine zahl gleichzeitig am bildschirm ist und die (von den pixeln her) einzigartig ist dann könnte man sie auch so suchen aber hier wäre imgsearch einfacher
YatoDev is offline  
Thanks
1 User
Old 01/05/2014, 00:56   #13
 
mo.tennis's Avatar
 
elite*gold: 0
Join Date: Feb 2010
Posts: 178
Received Thanks: 4
oder mit memory reading.. hab gerade heute soetwas gemacht.
mo.tennis is offline  
Old 01/05/2014, 01:31   #14
 
flumio's Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
So mit ImageSearch hab ich soweit keine Probleme, auf meinem Desktop macht er das was ich will, aber sobald ich das auch im Spiel machen will, geht es nicht mehr.

Könnte es sein das es nur aufn Desktop funktioniert ?
Das Spiel evt. ein Blocker gegen so was hat ?

Code:
WinActive("[Hearthstone]") ;funktioniert irgendwie nicht
        If  _ImageSearch("data/uben.bmp",1,$x,$y,0) = 1 Then
            MouseClick("left", $x, $y)
        EndIf
flumio is offline  
Old 01/05/2014, 01:35   #15
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Wenn das Spiel im Vollbild läuft dann kannst du ImageSearch glaube ich knicken.
alpines is offline  
Reply


Similar Threads Similar Threads
ImageSearch Problem
12/22/2013 - AutoIt - 6 Replies
Servus Leute, ich würde mich echt freuen wenn ihr mir zeigen könntet wo der Fehler ist. Ich kann ihn einfach nicht finden. Er soll einfach nur eine MsgBox anzeigen, wenn er das Bild gefunden hat. #Include <ImageSearch.au3> HotKeySet ("{F6}","_START") Global $y = 0, $x = 0
ImageSearch Problem
08/13/2013 - AutoIt - 0 Replies
Huhu Leute, habe nen echt verzwicktes ImageSearch Problem... Ich versuche nachdem ich nen Button gedrückt habe ein Funktion zu callen, was auch funktioniert, hier die Function: $y = 0 $x = 0 Func _Agni() Sleep(1000) $agni2 = _ImageSearch("Gods\Agni.bmp",1,$y,$x,0) If $agni2=1 Then MouseMove($y,$x,1)
ImageSearch Problem
12/23/2010 - AutoIt - 0 Replies
Hallo, und zwar mein problem ist die Transparenz, was ich finden will ist sowas: Directupload.net - Dkcow6vd6.png Hier dieses "Rough" rausfiltern. Nur ist zwischen den Buchstaben ein Hintergrund. Jetzt hab ich schon versucht das "Rough" mit einem schwarzen Hintergrund zu belegen und das schwarz als transparent angeben. Leider funktioniert das überhaupt nicht. bsp bild:
Problem: ImageSearch
11/22/2010 - AutoIt - 10 Replies
Hallo, ich wollte gerne das ImageSearch (http://www.elitepvpers.com/forum/metin2-guides-tem plates/123505-guide-autoit-imagesearch.html) von AutoIt probieren. Dies ist mein Script: #include <ImageSearch.au3> $x1=0 $y1=0 $result = _ImageSearch("test.png",1,$x1,$y1,0) if $result=1 Then MsgBox(0,"Geklappt!")
Imagesearch Problem
09/18/2009 - GW Bots - 16 Replies
Hi, sorry, dass ich nochmal nerven muss:rolleyes:ich hab mal Imagesearch ausprobiert aber irgendwie klappt das bei mir in Guild Wars nicht...:( Kann mir einer bitte sagen woran das liegt?:confused: #include <ImageSearch.au3> $x1 = 0 $y1 = 0



All times are GMT +2. The time now is 15:41.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.