Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Image Search


Rekomendowane odpowiedzi

Opublikowano

Na początek ściągamy include.

[uDF]ImageSearch

 

Plik "ImageSearchDLL.dll" Wrzucamy do folderu z windowsem np. c:\windows

Plik "ImageSearch.au3" Dajemy do folderu include folderze autoita.

 

Teraz aby korzystać z includa na początku skryptu dajemy to:

#include <ImageSearch.au3>
 

 

Teraz przykład.

#include <ImageSearch.au3>
Global $x, $y ;A
$result = _ImageSearch("GFX\.bmp", 1, $x, $y, 20) ;B
If $result = 1 Then ;C
MsgBox(0, "Found!", "Znalazlem obrazek jego pozycja to x: "&$x&"y: "&$y) ;D
endif ;E
 

 

A: Definiujemy zmienne

B: Pierwszy parametr ("GFX\xD.bmp") ścieżka do pliku z obrazkiem (musi być bmp)

Drugi parametr (1) Co ma zwracać funkcja.

Trzeci parametr ($x) zapisuje w zmiennej wcześniej zdefiniowanej koordynat x

Czwarty parametr ($y) zapisuje w zmiennej wcześniej zdefiniowanej koordynat y

Piąty parametr (20) Różnica miedzy obrazkami chodzi tutaj o kolory a nie co jest na obrazku wartość 0-255

C: Funkcja warunkowa sprawdza co zwróciła funkcja _ImageSearch()

D: Wyświetla komunikat ze znaleziono obrazek.

E: Koniec warunku.

 

Przykładowe skrypty:

Klikniecie w środek obrazka:

#include <ImageSearch.au3>
Global $x, $y
$result = _ImageSearch("GFX/xD.bmp", 1, $x, $y, 10)
If $result = 1 Then
MouseClick("left", $x, $y)
EndIf
 

 

Przesuniecie myszki na środek obrazka:

#include <ImageSearch.au3>
Global $x, $y
$result = _ImageSearch("GFX/xD.bmp", 1, $x, $y, 10)
If $result = 1 Then
MouseMove($x, $y, 3)
EndIf
 

 

Tutorial jest mój zamiesiłem go na dwóch stronach reszta to kopia.

  • Odpowiedzi 113
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

czyli jesli dobrze rozumiem to ta funkcja znajduje obrazek do ktorego podalismy sciezke i zwraca jego koordy?

Bedzie trzeba sie tym pobawic ;p

  • 1 miesiąc temu...
Opublikowano

...

Jak daje różnice między obrazkami nawet 255 to też mi nie znajduje o.O

Walnełem obrazek tam gdzie jest skrypt i dupa :lol:

Mam otworzony obrazek w paincie, odpalam skrypt a msgbox nie wyskakuje WTF?

 

edit:

O już wszystko ładnie działa xD

Wziełem zdjęcie metina bo inaczej nie działało :lol:

Opublikowano

...

Jak daje różnice między obrazkami nawet 255 to też mi nie znajduje o.O

Walnełem obrazek tam gdzie jest skrypt i dupa :lol:

Mam otworzony obrazek w paincie, odpalam skrypt a msgbox nie wyskakuje WTF?

 

edit:

O już wszystko ładnie działa xD

Wziełem zdjęcie metina bo inaczej nie działało :lol:

 

W tym działają tylko obrazki w formacie *.BMP ;)

Opublikowano

Hm..

Próbuję zrobić takie coś, np. mam obraz buttona, na MPC jest np. Napisz. Dam go do skryptu i chcę, aby zadziałał wykonał ruch do niego, a potem wrócił na 1, 1. Da radę?^^

regl.png

Tak userzy MPC dbają o regulamin! ^^

Co kryje spoiler?

 

Jeszcze troszke!

Zaraz będzie koniec.

Żartuje!

Prawie już prawie!

iiii....

Chciało Ci się klikać? o_O

 

 

 

 

 

 

  • 3 tygodnie później...
Opublikowano

@MrOMGWTF - gratuluję tempa odpowiedzi, już dawno sobie poradziłem (;

Widzę, że okularki są potrzebne -

np.

 

Twój tok myślenia jest wyjątkowo denny...

regl.png

Tak userzy MPC dbają o regulamin! ^^

Co kryje spoiler?

 

Jeszcze troszke!

Zaraz będzie koniec.

Żartuje!

Prawie już prawie!

iiii....

Chciało Ci się klikać? o_O

 

 

 

 

 

 

Opublikowano

A może mi ktoś powiedzieć jak zrobic coś takiego że:

 

Znajduje obrazek, klika na niego, szuka kolejny taki obrazek, klika na niego. I tak aż wszystkie obrazki będą kliknięte.

 

Można by zrobić?

 

jeśli tak, to prosze o przykład.

  • 2 miesiące temu...
Opublikowano

yy... nie działa... mi to nie działa.... zrobiłem dokładnie jak w poradniku i oto co zwraca:

 >"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Documents and Settings\Łukasz\Moje dokumenty\autoit skrypty\DD-bot\test.au3"    

msg box nie wyskakuje

 

@edit:

działa

exKVR.png

c++, c++/cli, php, js, css3, lua, au3 and others...

 

Pomoc dla newbich w wymienionych wyżej językach, pisanie botów do Tibii - pisz na gg, może się dogadamy :)

Opublikowano

pomyśl co podajesz jako wynik błędu , cpo co ścieżki do analizy , podaj co wyświetla jako błąd

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

działa! dałem złe kordy obrazka! teraz 2 pytania:

1.jak zrobić żeby skanowało aż do znalezienia obrazka i kliknięcia w niego... poradziłem sobie

2.jak zrobić żeby szukało gifów? ;] to jest hardcore! chce żeby szukało animacji...

3. jaki kolor tła w bmp jest nie widoczny - tj żeby szukając obrazka nie patrzył na to co jest w tym kolorze tylko na resztę obrazka.... takie tło przezroczyste

^ tylko to mnie dzieli od napisania pierwszego bota do pewnej gry na przeglądarkę ;]

exKVR.png

c++, c++/cli, php, js, css3, lua, au3 and others...

 

Pomoc dla newbich w wymienionych wyżej językach, pisanie botów do Tibii - pisz na gg, może się dogadamy :)

Opublikowano

2) chcieć to możesz, napisz do tego funkcje i biblioteke to może bedzie działać wtedy

3) chyba rózowy, poszukaj na forum autoit , znajdziesz go otwierając palete kolorów z kolorami np dla tła pulpitu, uruchom dowolny film w dowolnym odtwarzaczu tylko nie WMP i zobacz przesówając palete na film w którym okienku widzisz kawalek filmu , to ten

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

@up2

co do gifów , jeżeli jest krótki gif to zrób ssa

i skrypt będzie tak wyglądał

l

#include <ImageSearch.au3>

Global $x, $y
local $zmienna
dp
$result = _ImageSearch("obrazki/podruz.bmp", 1, $x, $y, 10)
If $result = 1 Then
   MouseClick("left", $x, $y)
$zmienna = 0
$zmienna = $zmienna +1
EndIf
until $zmienna = 1

Opublikowano

@up

żal... przenie to .bmp a nie gif... a to szukać GIFÓW ma.... taka zaawansowana technologia... na SSa to sobie sam mogłem napisać skrypt...

@up2

a mógłbyś mi pomóc znaleźć ten kolor bo jakoś mi nie wychodzi...

exKVR.png

c++, c++/cli, php, js, css3, lua, au3 and others...

 

Pomoc dla newbich w wymienionych wyżej językach, pisanie botów do Tibii - pisz na gg, może się dogadamy :)

Opublikowano

a gif czym jest jak nie zlozeniem kilku statycznych obrazkow i wyswietleniem tego za kolejnoscia ! ? gif na obrazki , obrazki zapisac jako bmp i szukac wszystkich zapisanych

 

wracając do transparentu , jedna z opcji skryptu to jaki kolor ma byc transparentem i to wyraźnie jest napisane!!

; Description:      Find the position of an image on the desktop
; Syntax:           _ImageSearchArea, _ImageSearch
; Parameter(s):     
;                   $findImage - the image to locate on the desktop
;                   $tolerance - 0 for no tolerance (0-255). Needed when colors of 
;                                image differ from desktop. e.g GIF
;                   $resultPosition - Set where the returned x,y location of the image is.
;                                     1 for centre of image, 0 for top left of image
;                   $x $y - Return the x and y location of the image
;                   $transparency - TRANSBLACK, TRANSWHITE or hex value (e.g. 0xffffff) of
;                                  the color to be used as transparency; can be omitted if
;                                  not needed
;
; Return Value(s):  On Success - Returns 1
;                   On Failure - Returns 0 
;
; Note: Use _ImageSearch to search the entire desktop, _ImageSearchArea to specify
;       a desktop region to search
;
;===============================================================================

Func _ImageSearch($findImage,$resultPosition,ByRef $x, ByRef $y,$tolerance,$transparency=0)

czyli element szukany zrobic screen, w paincie wyedytować sobie tło na biały albo czarny kolor i zapisać

 

Mało kto pamieta że obrazki by wyszukiwało właściwie powinny być zapisywane jako 24-bitowe BMP !!

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

no taaaak.... to mój gif składa się z jakiś 10-15 klatek + bez transparentowego koloru nie dam rady...

 

@edit:

aaa tam jest że czarne albo biale tło to jest transparent.... to zaraz wypróbóje ale jakoś transparentnie to widze xD

 

@edit2:

to nie są kolory transparentne... jak zamalowałem wszystko na czarno, zrobiłem zieloną kropkę i zapisałem a potem zrobiłem biały obrazek i w nim zieloną kropkę to jej nie znalazło (na odwrót też) ROBIE TO I W BMP 24 bit i w PNG i to samo ;|

 

@edit3:

Co to jest vice verasa?

exKVR.png

c++, c++/cli, php, js, css3, lua, au3 and others...

 

Pomoc dla newbich w wymienionych wyżej językach, pisanie botów do Tibii - pisz na gg, może się dogadamy :)

Opublikowano

jak napisałem transparentem jest tu biały albo czarny , zalezy jak go okreslisz , nie będą brane po prostu pod uwage punktuy w tym kolorze przy wyszukiwania .

to nie jest kolor transparentu ale kolor który będzie uważany za transparentowy ( niewidoczny ) dla funkcji .

 

dlatego jesli obraz szukany ma przewage czarnego koloru dajemy biały jako "transparent" i vice versa

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

  • 2 tygodnie później...
Opublikowano

Jeżeli ktoś gra w WarRock i zna się dobrze na AutoIT czy może mi zrobić takiego bota co by się logował na zapisane hasło po czym wchodził np. na serwer europe i wchodził do jakiegoś romu klikał start

 

Wiem ze trudno takie cos zrobić ale ja nie znam podstaw nawet więc proszę was, a nawet o jakiś tut żebym się nauczył

 

NIEAKTUALNE

76561198090890807.png

  • 4 tygodnie później...
Uczeń
Opublikowano

Tego szukałem, wielkie DZIĘKUJĘ :P

Jeśli pomogłem, daj mi proszę + dobrze :)?

reklamaambasadora.jpg

Opublikowano

a co do tej dll,to jak zrobie .exe i przełoże na inny komputer bez tej dll to będzie działało? czy musze do programu dołączać .dll?

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

Opublikowano

i tak, i nie, i nie wiadomo czy będzie bez pełnej rejestracji dll :P

tak

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

  • 2 tygodnie później...
Opublikowano

A jak zrobić, żeby znajdowało obrazek w grze pełnoekranowej (typu metin) kiedy ta gra jest zminimalizowana, bądź nieaktywna (inne okno zasłania je)?

  • 3 tygodnie później...
Opublikowano

wszystko jest pięknie i nie mam zastrzeżeń ale takie pytanie, ten skrypt szuaka obrazka i jesli go znajdzie to go kliknie a jak go przerobić że jeśli nie znajdzie to coś zrobi

 

#include <ImageSearch.au3>
Global $x, $y
$result = _ImageSearch("GFX/xD.bmp", 1, $x, $y, 10)
If $result = 1 Then ;<= coś chyba tu trzeba zmienić ale nie jestem pewien
       msgbox(0,"obrazek","nie ma")
EndIf

 

Portable AutoIt

Można zgrać na pamięć przenośną i pisać skrypty gdzie się chce

 

Kalkulator

Zrobiłem go w celach ćwiczebno-naukowych. Zezwalam na edytowanie kodu

Download: http://rapidshare.com/files/420169333/Kalkulator.rar

Skan: http://virusscan.jotti.org/pl/scanresult/8eab82267fa3b9f421a94d0522e90376aff38c2f

Screen

 

2pyotar.jpg

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...