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

Pixel Search


Ultor

Rekomendowane odpowiedzi

Opublikowano

Witam, proszę o pomoc.

Jako że jestem dość zielony w autoit nie wiem jak zrobić aby pixel search działał dopiero w przypadku wykrycia 3 pixeli. Tzn. bot ma znaleźć obrazek ale obok jest podobny jednak o innym kształcie.

Func start()
$lajk = PixelSearch(774, 142, 1601, 804, 0x4AB12A)
if Not @ Then
   MouseMove($lajk[0], $lajk[1], 0)
   MouseClick("left")
   EndIf
EndFunc

Chodzi po prostu o to żeby pixelsearch odroznił te dwa obrazki od siebie.

S73CoGX.png

 

 

Z góry dziękuje i pozdrawiam

Opublikowano

Chyba w snach ci odróżni, to funkcja do szukania koloru a nie kształtu.

 

Jest możliwe rozróżnienie kształtu jak napiszesz sobie takiego udf od podstaw. 

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

Chyba w snach ci odróżni, to funkcja do szukania koloru a nie kształtu.

 

Jest możliwe rozróżnienie kształtu jak napiszesz sobie takiego udf od podstaw. 

Programowanie polega glownie na mysleniu i wiedzy... Po co pisal od podstaw caly udf skoro wystarczy uzyc 3x pixelsearch zeby sprawdzic czy sa 3 pixele?

PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
$pixel1 = 1
Else
$pixel1 = 0
Endif
PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
$pixel2 = 1
Else
$pixel2 = 0
Endif
PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
$pixel3 = 1
Else
$pixel3 = 0
Endif
if($pixel1 = 1 & $pixel2 = 1 &pixel3 = 1) Then
///////
Endif 

A wlasciwie to mozna jeszcze prosciej napisac;

PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
///////
Endif 
Endif
Endif
Opublikowano

Następny co nie ma pojęcia o działaniu funkcji.

 

Znajdując pixel funkcja zwraca wynik -> koordynaty i zaczyna od nowa skanowanie obszaru a nie dalej. By wyszuka według kształtu należało by utworzyć tablicę i dopiero je ze sobą porównywać. 

 

Do użycia na stronach HTTP są funkcje dla IE albo Firefox, a nie szukanie po wyglądzie i komplikowanie sobie sprawy zwłaszcza dla kogoś kto nie pojmuje działania funkcji i liczy na gotowy kod. 

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

Nastepny co nie ma pojecia co pisze..

'nie wiem jak zrobić aby pixel search działał dopiero w przypadku wykrycia 3 pixeli'

PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
PixelSearch(2922, 797,3008, 816,0xFFFFFE)
if not @ Then
///////
Endif 
Endif
Endif

Powiesz mi co tutaj sie nie zgadza?

 

Mowisz o komplikowaniu sprawy, a sam proponujesz mu uzycie IE/FF. Do takich rzeczy jest cos takiego jak winhttp.au3.

Opublikowano

Proponuję bo szuka na stronie www a od tego są odpowiednie funkcje a nie szukanie po pixelach. Skoro nie ogarnia Autoit to winhttp dla niego będzie trudniejsze, musi ktoś mu napisać skrypt.

Winhttp jest wygodniejszy nawet bo wcale nie musi otwierać strony by wykonać akcję.  

 

Co się nie zgadza w tym co napisane to koordynaty, szukanie przeprowadzane jest w polu o rozmiarach 86 na 19 pixeli , znajdującym się poza obszarem widocznym ekranu który przyjmując nawet Full HD monitor nie mieści się na widocznym ekranie.

Sensowne to jest przy użyciu drugiego monitora ustawionego po prawej stronie głównego monitora, jednak  patrzac na strony które budowane są dynamicznie praktycznie za każdym razem wyszukiwane miejsce będzie się zmieniało. 

 

Przeanalizuj sobie skrypt to ci wyjdzie że  zaczynasz skanowanie i jeśli nie ma błędu zaczynasz od nowa skanowanie i tak jeszcze dwa razy. Gdzie tu masz jakąkolwiek analizę trzech pixeli ? To analiza wykrycie 3x pod rząd tego samego pixela. 

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

Przeciez to nie jest dzial do dawania gotowcow.

Podalem mu przyklad jak ma to zrobic, a to co on sobie tam wpisze to jest jego sprawa.

Opublikowano

A coś takiego żeby klikało w tekst "lubie to".

Poradników z WinHTTP.au3 nie ogarniam ;d

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...