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

Szukanie obrazem kolorem


Rekomendowane odpowiedzi

Opublikowano

Witam czy można byłoby ustawić aby myszka najeżdżała na jakiś ruchomy punkt . coś w stylu szukania kolorem lub kawałkiem obrazu,da się zrobić coś w tym stylu?? 

Opublikowano

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

Ale jak mam ustawić ze jak znajdzie ten punkt to kliknie własnie w ten punkt ?  np na srodku jest czarna linia i myszka ma kliknąć w tą linię...

Opublikowano

Jeżeli szukasz pixela to kliknięcie na niego nie jest trudne

While 1;pętla na szukanie
$kordy = PixelSearch ($left,$top,$right,$bottom,$color); szukanie pixela (jako left, top itp podajeszpole na jakim ma szukać) 
If Not @ Then ; jeżeli coś znajdzie i nie wykryje błędu
MouseClick ("left",$kordy[0],$kordy[1]) ;Klika LPM na podanych koordynacjach (Pixel Search zwraca wartości koordynacji w tablicy więc dla x to $kordy[0] a dla y $kordy[1]
EndIf
Sleep (500); mały odpoczynek
WEnd

Tysiące lat wojen, ani jednego dnia pokoju,

pytam czy to skończy się.

 

Zegarek BB

Opublikowano

jak daje 0 i 1 to klika w lewym górnym rogu... a nie na ten pixel...

może robię coś źle ale dopiero zaczynam z autoIT :) 

Opublikowano

Tak, pewnie robisz coś źle - jak chcesz pomocy to wrzuć kod (pamiętaj o specjalnym przycisku <>) - inaczej tylko spamujesz.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano
proszę oto cały kod :D

 

While 1

PixelSearch (20,350,399,211,0x000000)

If Not @error Then

MouseClick("left",0,1,2)

EndIf

Sleep(500)

WEnd

 

o jakim przycisku mowiłeś? 

Opublikowano

@JDaniel1

Przecież zrobiłeś zupełnie co innego niż ci napisał JDaniel1 - jak to ma działać?

To nie Wypracowanie, że możesz skrócić i pozamieniać przypadkowe rzeczy.

Wynik funkcji PikselSearch wrzucasz w próżnię, nie masz żadnych zmiennych.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

PixelSearch jest funkcją i zwraca ona pewien wynik. Ten wynik można zapisać do zmiennej w taki sposób:

$koordy = PixelSearch(20, 350, 399, 211, 0x000000)

Co zwraca PixelSearch? Tablicę dwóch liczb całkowitych, pierwszy element to x znalezionego piksela a drugi to y. Dostęp do elementów uzyskuje się w taki sposób(odpowiednio x i y):

$koordy[0]
$koordy[1]

Taki zapis zwraca dany element tablicy. MouseClick przyjmuje nazwę przycisku, opcjonalnie x i y miejsca w które ma kliknąć, opcjonalnie ilość kliknięć oraz opcjonalnie prędkość z którą ma ruszyć myszką. Będziemy potrzebować tylko nazwy, x oraz y - nazwą będzie "primary"(przycisk główny), a x oraz y będą pochodzić z wyniku PixelSearch:

MouseClick("primary", $koordy[0], $koordy[1])
Opublikowano

a jeszcze mam pytanie co do hotkeyset

 

Func aaa()
HotKeySet("UP","Exit")
EndFunc
 
co tu muszę poprawić aby program się wyłączał po naciśnięciu odpowiedniego klawisza
Ps. tak wiem ze to jest całkiem źle :D
Opublikowano

Przyciski specjalne w AutoIT często zapisuje się w ten sposób:

{UP}

Więcej na ten temat w SciTe -> Pomoc(F1) -> Indeks -> Send Key List.

HotKeySet przyjmuje klawisz(lub ich kombinację) oraz nazwę funkcji, która ma zostać wywołana po naciśnięciu. Niestety, Exit nie jest funkcją - wobec tego musimy stworzyć funkcję, która go użyje:

Func aaa()
Exit
EndFunc

HotKeySet trzeba wywołać poza funkcją(bo zawartość funkcji nie jest wykonywana, tylko zapisywana do późniejszego wywołania) - tak więc ostatecznie całość wygląda tak:

Func aaa()
Exit
EndFunc
HotKeySet("{UP}", "aaa")
Opublikowano

Do Send możesz przekazać zmienną, np:

Send($i)

Taki zapis spowoduje wykonanie Senda z tym, co zawiera zmienna $i. Wystarczy więc aby zawierała ona kolejne liczby od 1 do 100, a od takich rzeczy służy pętla for:

For $i = 1 To 100 Step 1
; instrukcje
Next

Spowoduje to ustawienie zmiennej $i na 1, a następnie będzie wykonywać instrukcje i zwiększać $i o 1 tak długo, jak $i będzie mniejsze lub równe 100.

Opublikowano

Masz świetną Wiki po polsku, szukaj , czytaj i nie przylatuje tutaj z każdą pierdołą:

https://pl.wikibooks.org/wiki/AutoIt

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano
 

 

nie działa mi to...

Send($i)
For $i = 1 To 100 Step 1
;instrukcje
Next

 

 

Kolo, nie wiem co brałeś ale następnym razem weź pół .

Wszystko Fireho Tobie napisał.

Tam gdzie masz instrukcje to musisz podać co aplikacja ma robić. Chcesz aby wpisywała/wysyłała (whatever) ciągle dopóki nie wpisze 100 więc musisz w pętli dać funkcję Send.

A Ty dałeś Send przed pętlą i ona się nie wykonywała (raz się wykonała, potem trafiło na pętle i tak zrobiło tą pętle. Potem kod się skończył i aplikacja się wyłączyła)

Tysiące lat wojen, ani jednego dnia pokoju,

pytam czy to skończy się.

 

Zegarek BB

Opublikowano

To już zrobiłem mam nastepne pytanie :D

można zrobić żeby szukało pare np 2 obrazy i jesli nie znajdzie 1 to zeby zaczelo szukać 2 ?

i czemu niemogę wsadzić tego w pętle?

sleep(5000)
#include <ImageSearch.au3>
Global $x, $y
$result = _ImageSearch("polik.png", 1, $x, $y, 10)
If $result = 1 Then
MouseClick("left", $x, $y,2)
Sleep(50000)
EndIf

 

wyskakuje taki błąd:

post-1073723-0-78794200-1443353516.jpg

Opublikowano

Wszystko masz napisane w treści błędu (ostatnie zdanie). Tu może Ci ktoś pomóc w wymyśleniu algorytmu, ale składni Cię nikt uczył nie będzie.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...