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

ImageSearch ;/


Rekomendowane odpowiedzi

Opublikowano

Witam,

Jako iż jestem nowy w autoit proszę was o pomoc. Mianowicie robię skrypt który klika F5 do momentu gdy nie znajdzie obrazka(to mi troszke nie wychodzi), [PLAN]a gdy już go znajdzie to klika 10 razy na kolejny z obrazków i jeszcze pare inneych po czym spowrotem zaczyna klikać F5 do momentu znalezienia pierwszego obrazka. Tak w kółko :D

Początek kodu 

#include <ImageSearch.au3>
$i=0
While $i<99999999
	Global $x, $y
$result = _ImageSearch("1,.bmp", 1, $x, $y, 10)
$result = _ImageSearch("0,.bmp", 1, $x, $y, 10)
If $result = 1 Then
	Sleep(600)
    MouseClick("left", $x, $y)
EndIf
Sleep(2700)
	Send("{F5}", 0)
	Sleep(7700)
	$i+=1
Wend

To było strasznie na spontanie pisane bez hejtów proszę :D

Opublikowano
  1. W ścieżkach do pliku jest błąd, tego przecinka nie powinno tam być
  2. Gdy szukasz obrazka 0.bmp, to zapisujesz wynik w $result, gdzie znajduje się wynik z szukania obrazka 1.bmp. To oznacza że nie ma znaczenia to, czy znajdzie obrazek 1.bmp, bo i tak brany pod uwagę jest tylko wynik szukania drugiego. Trzeba by zrobić oddzielne zmienne
  3. Oprócz tego inne, chwilowo nieistotne błędy

Co do tego "jak to zrobić":

 

Deklaracje zmiennych(Global $x, $y, $i = 0, $result)

Nieskończona pętla(While True)

Reset wyniku szukania obrazka($result = False)

Pętla dopóki nie znajdzie(While NOT $result)

Klikanie F5

Szukanie obrazka

Pętla z 10 wykonaniami (For $i = 1 To 10)

"klika na kolejny z obrazków i jeszcze pare innych"

Opublikowano

A więc tak wygląda nowy kod

#include <ImageSearch.au3>

Global $x, $y, $i = 0, $result
While True
	$result = False
	While NOT $result
Sleep(1200)
	Send("{F5}", 0)
	Sleep(5700)
$result = _ImageSearch("0,.bmp", 1, $x, $y, 10)
	Sleep(2000)
    MouseClick("left", $x, $y, 1)
	WEnd
Wend

Klika F5 cały czas nawet gdy znajdzie, a po znalezieniu i kliknięciu cały czas powtarza czynność(nie w obrazek tylk w miejsce w którym się wczesniej znajdował).

Opublikowano

Czynności, które chcesz wykonywać po znalezieniu obrazka muszą być poza pętlą While NOT $result. Przecież jeśli są w niej, to klika niezależnie czy znalazł czy nie, a w związku z tym zawsze używa poprzednich koordynatów.

Opublikowano

Źle opisałem czego mi trzeba.

Jeszcze raz od początku. Odśwież co np 6000ms do momentu gdy nie znajdzie pierwszego obrazka(klika go od razu tylko raz[tu był mój błąd]) po czym klika kombinacje koordynatów np 400, 600 przerwa, kolejny i przerwa.

Fireho jak byś miał czas pogadać :D to byłbym wdzięczny, dodałem na steam'ie ^^

Opublikowano

Samo szukanie tego obrazka i odstępy między szukaniem mają być w pętli While NOT $result(bo przecież ona wykonuje się dopóki go nie znajdzie), natomiast to co na być wykonywane po znalezieniu(kliknięcie go, kliknięcie tego miejsca co powiedziałeś, przerwa) musi być po tej pętli.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...