Skocz do zawartości

Autoit image search ktoś pomoże ? ;P


Rekomendowane odpowiedzi

Witam mam pytanie a mianowicie chodzi mi o skrypt do AutoIT. Czy dało by się zrobić coś takiego że jak znajdzie obrazek i w niego kliknie to po jakimś czasie znowu poszuka takiego samego obrazka ale na innych koordynatach ? Chodzi mi o przeszukiwanie sklepów w grze tylko teraz klika mi w 1 sklep cały czas a mi chodzi o to, że jak jeden już sprawdzi to potem otwiera inny. 

#include <ImageSearch2015.au3>

HotKeySet("{ESC}","Quit")


Func Quit()
   Exit
EndFunc

WinActivate("nazwa okna")

Sleep(100)
Global $x, $y
While 1
$result = _ImageSearch("ścieżka pliku.bmp", 1, $x, $y, 10)
If $result = 1 Then
   ToolTip("znaleziono", "", "", $x&$y)
MouseMove($x, $y, 3)
EndIf
WEnd

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • panneryv zmienił(a) tytuł na Autoit image search ktoś pomoże ? ;P

#include <ImageSearch.au3>

HotKeySet("{ESC}","Quit")


Func Quit()
   Exit
EndFunc

WinActivate("nazwa okna")

Sleep(100)
Global $x, $y
While 1
$result = _ImageSearch("test1.bmp", 1, $x, $y, 10)
If $result = 1 Then
   ToolTip("znaleziono", "", "", $x&$y)
MouseMove($x, $y, 3)
MouseClick("left",$x,$y,2,1)
EndIf
Sleep(4000)
$result1= _ImageSearch("test2.bmp", 1, $x, $y, 10)
If $result1 = 1 Then
     ToolTip("znaleziono", "", "", $x&$y)
     MouseMove($x, $y, 3)
     MouseClick("left",$x,$y,1,1)
     EndIf
WEnd

#include <ImageSearch.au3>

HotKeySet("{ESC}","Quit")


Func Quit()
   Exit
EndFunc

WinActivate("nazwa okna")

Sleep(100)
Global $x, $y
While 1
$result = _ImageSearch("test1.bmp", 1, $x, $y, 10)
If $result = 1 Then
   ToolTip("znaleziono", "", "", $x&$y)
MouseMove($x, $y, 3)
EndIf
Sleep(4000)
$result1= _ImageSearch("test2.bmp", 1, $x, $y, 10)
If $result1 = 1 Then
	 ToolTip("znaleziono", "", "", $x&$y)
	 MouseMove($x, $y, 3)
	 EndIf
WEnd

o to ci chodzi?

4988173475.png

Odnośnik do komentarza
Udostępnij na innych stronach

Cytat

o to ci chodzi?

No właśnie że nie, bo to jest 1 to samo zdjęcie. Witryny sklepów w grze są takie same dlatego chciałbym to mieć tak napisane że jak znajdzie juz te zdj to zacznie szukać takiego samego ale na innych koordynatach. Bo cały czas mi klika w 1 ten sam sklep.

Chodzi o grę metin2 jak coś :P

Odnośnik do komentarza
Udostępnij na innych stronach

Przy użyciu pixelsearch efekt będzie ten sam. Klika w 1 sklep i pixelsearch raczej odpada bo czasami wyszukuje taki sam kolor na mapie i klika nie tam gdzie ma.

Potrzebuję komendy typu "szukaj tego zdj jeśli go znalazłeś znów szukaj ale w innej lokalizacji/ na innych koordach." <----- tylko niech ktos mi to przerobi na AutoIT było by bardzo fajnie. :}

sklep m2.jpg tak wygląda "witryna sklepu" tam gdzie jest zamazane jakiś text ludzie wpisują :P

W tym imagesearch mam wklejone zdjęcie tej kostki z rogu witryny bo inaczej nie chciało wyszukać zdj chyba ze względu na napis i prześwitujące tło.

Odnośnik do komentarza
Udostępnij na innych stronach

To w takim razie może trzeba spróbować za pomocą memory pointer read i wyszukać jakiś unikatowych wartości choć to troche trudne by było :P chyba,że dałoby by  zmienic teksture w grze tej ramki np na inny kolor taki jakiej nie ma w grze.

4988173475.png

Odnośnik do komentarza
Udostępnij na innych stronach

1 minutę temu, monarchia napisał:

To w takim razie może trzeba spróbować za pomocą memory pointer read i wyszukać jakiś unikatowych wartości choć to troche trudne by było :P chyba,że dałoby by  zmienic teksture w grze tej ramki np na inny kolor taki jakiej nie ma w grze.

No a na pixelsearch potrafił byś takie coś zrobić ? Bo z teksturami moge pokombinowac cos :P

 

Odnośnik do komentarza
Udostępnij na innych stronach

12 minut temu, monarchia napisał:

najłatwiejszym sposobem by było wlasnie zmiana tekstury np witryne tej ramki dać na rózowy czy jakoś go unikatowo podkreślić jesli by dało radę oczywiście

To by było dosyć ciężkie do zrobienia bo jak podmienie pliki w grze to odrazu są usuwane i zastąpione nowymi. Ale jak by juz sie udało zmienić ten kolor to co dalej ? I tak potrzebuje takiej komendy która zmieni koordynaty wyszukiwania. W przeciwnym wypadku będzie klikac ciągle w 1 punkt.

 

A może da się coś wymyślić z zakresem wyszukiwania tego obrazka ?

Bo tam się wpisuje koordy od kąt ma szukać do kąt. Może da się jakoś wykluczyć już wyszukany element ?

Odnośnik do komentarza
Udostępnij na innych stronach

#include <ImageSearch2015.au3>

HotKeySet("{ESC}","Quit")

Global $lastIMG = [0, 0]
Global $x, $y

WinActivate("nazwa okna")

Sleep(100)
While 1
	$result = _ImageSearchNext("sciezka pliku.bmp", 1, $x, $y, 10)
	If $result == 1 Then
		ToolTip("znaleziono", "", "", $x&$y)
		MouseMove($x, $y, 3)
		$lastIMG[0] = $x + 1
	Else
		$lastIMG[0] = 0
		$lastIMG[1] = $y + 1
	EndIf
WEnd

Func _ImageSearchNext($findImage, $resultPosition, ByRef $x, ByRef $y, $tolerance, $transparency = 0)
	Return _ImageSearchArea($findImage, $resultPosition, $lastIMG[0], $lastIMG[1], @DesktopWidth, @DesktopHeight, $x, $y, $tolerance, $transparency)
EndFunc   ;==>_ImageSearchNext

Func Quit()
   Exit
EndFunc

 

Testowane na tym:

h41MLeg.png

Znalazlo wszystkie 6 obrazków przedstawiajacych lupe.

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

1 godzinę temu, Pawellek napisał:

#include <ImageSearch2015.au3>

HotKeySet("{ESC}","Quit")

Global $lastIMG = [0, 0]
Global $x, $y

WinActivate("nazwa okna")

Sleep(100)
While 1
	$result = _ImageSearchNext("sciezka pliku.bmp", 1, $x, $y, 10)
	If $result == 1 Then
		ToolTip("znaleziono", "", "", $x&$y)
		MouseMove($x, $y, 3)
		$lastIMG[0] = $x + 1
	Else
		$lastIMG[0] = 0
		$lastIMG[1] = $y + 1
	EndIf
WEnd

Func _ImageSearchNext($findImage, $resultPosition, ByRef $x, ByRef $y, $tolerance, $transparency = 0)
	Return _ImageSearchArea($findImage, $resultPosition, $lastIMG[0], $lastIMG[1], @DesktopWidth, @DesktopHeight, $x, $y, $tolerance, $transparency)
EndFunc   ;==>_ImageSearchNext

Func Quit()
   Exit
EndFunc

 

Testowane na tym:

h41MLeg.png

Znalazlo wszystkie 6 obrazków przedstawiajacych lupe.

U mnie nie ma okienka Found i nie przesuwa myszki na obraz nawet jak jest na pulpicie a nie w grze. (odpaliłem jako admin)

Odnośnik do komentarza
Udostępnij na innych stronach

To masz cos nie tak z obrazkiem. Bo mimo wszystko przynajmniej raz powinno zadzialac. ;)

Tu jest dokladny kod ktory uzylem do testow razem z okienkiem Found.

#include <Array.au3>
#include "ImageSearch2015/ImageSearch2015.au3"

HotKeySet("{END}","_EXIT")
HotKeySet("{HOME}","_START")

Global Const $imgPath = @ScriptDir & "\img.png"

Global $arrFound[0][2]

Global $lastIMG = [0, 0]
Global $x, $y

While 1
	Sleep(100)
WEnd

Func _START()
	While 1
		$result = _ImageSearchNext($imgPath, 1, $x, $y, 10)
		If $result == 1 Then
			_ArrayAdd($arrFound, $x & "|" & $y)
			MouseMove($x, $y, 3)
			$lastIMG[0] = $x + 1
		Else
			$lastIMG[0] = 0
			$lastIMG[1] = $y + 1
		EndIf
	WEnd
EndFunc

Func _ImageSearchNext($findImage, $resultPosition, ByRef $x, ByRef $y, $tolerance, $transparency = 0)
	Return _ImageSearchArea($findImage, $resultPosition, $lastIMG[0], $lastIMG[1], @DesktopWidth, @DesktopHeight, $x, $y, $tolerance, $transparency)
EndFunc   ;==>_ImageSearchNext

Func _EXIT()
	_ArrayDisplay($arrFound, "Found")
   Exit
EndFunc

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Obrazek był okej bo ten skrypt poniżej go wyszukał bez problemu. A ten dokładny kod którego użyłeś to mam rozumieć że w miejscu "\img.png" wpisuję ścieżkę obrazu ? Bo jeśli tak to też mi to nie chce działać. Odpalam go klikam Home czekam klikam end i okienko found puste :c Mogę nagrać film i pokazać może łatwiej będzie zrozumieć powód.

#include <ImageSearch2015.au3>

HotKeySet("{ESC}","Quit")


Func Quit()
   Exit
EndFunc

WinActivate("nazwa okna")

Sleep(100)
Global $x, $y
While 1
$result = _ImageSearch("ścieżka pliku.bmp", 1, $x, $y, 10)
If $result = 1 Then
   ToolTip("znaleziono", "", "", $x&$y)
MouseMove($x, $y, 3)
EndIf
WEnd

 

Chyba sobie to odpuszczę temat do zamknięcia. W razie ewentualnej chęci pomocy pisać pw.

Odnośnik do komentarza
Udostępnij na innych stronach

  • maxaz zablokował(a) ten temat

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający forum Autoit image search ktoś pomoże ? ;P   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...