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

[Pytanie]Warunek


Rekomendowane odpowiedzi

Opublikowano

Witam, proszę o jakąś wskazówkę jak dać warunek w AutoIT, ma on polegać na zasadzie takiej:
Jeśli skrypt widzi dany obrazek/piksel wyłącza on całego bota(skrypt), jeśli jednak obrazek zniknie z pola widzenia, to bot zostaje z powrotem włączony :)

 

Myślę że można wykorzystać funkcję, która jest w bocie tzn. po wciśnięciu klawiszu f6 cały bot zostaje wstrzymany, ale nawet jeśli wyszukałoby obrazek i wstrzymałoby bota to już potem go nie włączy bo bot będzie wstrzymany.

 

Prosze o pomoc

Dziękuję i pozdrawiam

Opublikowano


#include <ImageSearch.au3>

 

$work = True

 

func CheckPixel()

if PixelGetColor(x, y) != 12124166 Then $work = False

EndFunc

 

AdlibRegister("CheckPixel")

 

While 1

While $work

Global $x, $y

$Search1 = _ImageSearch("jo.bmp", 0, $X, $Y,0)

If $Search1 = 1 Then

MouseClick("left", $X+1, $Y-20, 1, 2)

EndIf

Sleep(10000)

WEnd

WEnd

Opublikowano

tak myslalem, ale moze zle sprecyzowalem swoja prozbe. Chodzi o to ze piksel nie jest w jednym okreslonym miejscu, jest on ruchomy i jego pozycja sie zmienia wiec nie moze to byc okreslone jedna pozycja X,Y

Opublikowano

Pewność mam 100% ponieważ całe okno działa na takiej zasadzie, że każda rzecz ma przypisany inny kolor i nie ma opcji żeby był 2 razy ten sam kolor.
Myślę że można to jakoś zrobić z imagesearch gdyż wtedy pewnoś jest juz całkowita(kształ i kolor).

#include <ImageSearch.au3>

While 1
	Global $x, $y
$Search1 = _ImageSearch("cos.bmp", 0, $X, $Y,0)
If $Search1 = 1 Then
MouseClick("left", $X, $Y, 1, 2)
EndIf
Sleep(500)
WEnd

Przykładowa funkcja z programu.
Zastanawiam sie czy w jakiś sposób nie dałoby się tego tak zmodyfikować aby osiągnąć cel.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...