ImageSearch lässt Programm crashen

03/22/2014 04:09 Requi#1
Guten Morgen,

ich arbeite gerade wieder etwas mit AutoIt und versuche per ImageSearch zu erkennen, ob ein Mob überhaupt anvisiert ist.


Nur leider stürzt das Script ab, wenn ich F2 drücke. Vorher hat es noch funktioniert.
Bild existiert und die Konsole sagt rein gar nichts.


Ich bin für jede Hilfe dankbar.
03/22/2014 11:11 butter123#2
was war denn vorher anders?^^
vllt hotkey ändern?
03/22/2014 13:18 Requi#3
Vorher war kein ImageSearch drin. Deswegen weiß ich, dass es daran liegt.
03/22/2014 13:28 lolkop#4
das script an sich ist zwar sehr unübersichtlich geschrieben, sollte aber so funktionieren.

versuche mal zum debuggen das #requireadmin aus zu kommentieren. das sorgt seit der letzten version von autoit zumindest bei mir immer dafür, das scite sofort den consoleoutput beendet.
03/22/2014 14:01 Requi#5
Ich habe glaube ich den Fehler gefunden.
Ich hatte die dll in das System32 Verzeichnis gepackt und ich denke mal das Programm wurde auf x64 gedebuggt.
Hab jetzt in System32, SysWow64 und im Unterverzeichnis die dll.

Nun besteht das Problem, dass mein Bild noch so genau sein, dass er es nicht erkennt. Vorher ging es noch und dann nach paar Veränderungen am Bild ging es nicht mehr.

Als was sollte man es am besten speichern?
Wenn BMP, wieviele Farben.

Was genau macht eigentlich der Toleranz Parameter?

Danke im Vorraus.
03/22/2014 16:53 alpines#6
Lossless abzuspeichern ist eigentlich das klügste was man machen kann. Das wären Formate wie .bmp / .png (bei bmp aufpassen das es 24-Bit oder höher ist)
Die Toleranz dient dazu, falls der Wert nicht ganz hinhaut (bsp.-weise funkeln bei MMORPGs oder ähnliche Effekte) trotzdem das zu finden.
Die Toleranz sollte aber nicht zu groß sein, da sie sonst falsche Funde liefern kann.
03/22/2014 17:49 Requi#7
Also ist es möglich nach png zu suchen, das ist gut.
Ich dachte nur bmp wäre möglich.
Ich setze die Toleranz mal auf 2 oder 3. Mal sehen ob es dann funktioniert.
03/22/2014 18:42 butter123#8
toleranz hatte ich immer so auf 20-30
03/22/2014 19:26 alpines#9
Toleranz kommt ganz darauf an wonach du suchst, sind mehr Effekte vorhanden so sollte man eine höhere Toleranz nehmen. Sollte sich daran aber nichts verändern bleibe bei 0.
03/22/2014 20:08 Requi#10
Es geht um den Anfang der Lebensleiste des Gegners.
Obwohl ich es perfekt geschnitten hatte, ging es nicht. Also setze ich einfach eine Toleranz. Bin bis jetzt noch nicht dazu gekommen.
[Only registered and activated users can see links. Click Here To Register...]
03/22/2014 20:35 butter123#11
die oben in der mitte? die hat doch immer die gleiche position --> pixelgetcolor
falls du die andere rote meinst: pixel search. ich seh das rot nur an einer anderen stelle (oben) und die kannste ja rausnehmen.
03/22/2014 22:05 alpines#12
Oder gleich Memorybot erstellen, das ist effektiver als PixelGetColor.
03/22/2014 22:18 Requi#13
Quote:
Originally Posted by butter123 View Post
die oben in der mitte? die hat doch immer die gleiche position --> pixelgetcolor
falls du die andere rote meinst: pixel search. ich seh das rot nur an einer anderen stelle (oben) und die kannste ja rausnehmen.
Wenn nun jemand anderes eine andere Auflösung nutzt, geht das nicht mehr.

Quote:
Originally Posted by alpines View Post
Oder gleich Memorybot erstellen, das ist effektiver als PixelGetColor.
Das stimmt, aber ich habe noch nie so wirklich verstanden wie das mit den Pointern funktioniert.
Eine simple Adresse auslesen, kein Problem. Nur dynamisch verstehe ich nicht.

Hast du vielleicht einen Link zu einer guten Erklärung?
03/22/2014 22:46 butter123#14
such mal nach basepointer tutorial, da sollte es was geben
ansonsten vmware aufsetzen, bildschirmauflösung verändern und rausfinden, wie es skaliert. sollte nicht all zu schwer sein.
oder wie ich es ganz gerne mache: beim starten den benutzer auffordern die maus an die richtige stelle zu bewegen und einmal nen hotkey drücken. speichern und fertig^^
03/23/2014 00:41 Requi#15
Hat jemand eine Ahnung wieso Cheat Engine keine Values findet?
Eine Anti Cheat Schutz hat das Spiel soweit ich weiß eigentlich nicht.
[Only registered and activated users can see links. Click Here To Register...]