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

Kolejność kolorów


Gość Eieo

Rekomendowane odpowiedzi

Opublikowano

Czy można zrobić coś takiego, że jak np. mam 5x5 kwadratów, część z nich koloru białego, część czarnego, żółtego, niebieskiego i czerwonego, to PixelSearch może klikać najpierw wszystkie kwadraty jednego koloru a później wszystkie kwadraty innego koloru itd., nawet jak w miejsce tych klikniętych pojawiają się kwadraty o losowym kolorze? Próbowałem napisać coś takiego, ale to klika w dowolnej kolejności kolorów.

While 1

Local $bialy = PixelSearch(754, 181, 830, 639, 0xFFFFFF)
Local $czerwony = PixelSearch(746, 57, 764, 76, 0xFF7F27)
Local $czarny = PixelSearch(736, 88, 722, 56, 0x880015)
Local $zolty = PixelSearch(764, 65, 622, 78, 0xFFF200)
Local $niebieski = PixelSearch(754, 99, 544, 74, 0x00A2E8)

If IsArray($bialy) = 1
    MouseClick("left", $bialy[0], $bialy[1], 1, 1)
ElseIf IsArray($czerwony) = 1
	MouseClick("left", $czerwony[0], $czerwony[1], 1, 1)
ElseIf IsArray($czarny) = 1
	MouseClick("left", $czarny[0], $czarny[1], 1, 1)
ElseIf IsArray($zolty) = 1
	MouseClick("left", $zolty[0], $zolty[1], 1, 1)
ElseIf IsArray($niebieski) = 1
	MouseClick("left", $niebieski[0], $niebieski[1], 1, 1)
EndIf
EndIf
EndIf
EndIf
EndIf
Sleep(10)

WEnd
Opublikowano

Na pewno nie jest możliwe napisanie w AutoIT takiego prostego bota, który klika wszystkie kwadraty jednego koloru, a później wszystkie następnego? Ostatnio próbowałem do tego dorzucić pętle do...until, ale dalej to nie działa jakbym chciał. Klika w jeden kwadrat a potem później cały czas w to samo miejsce mimo iż już nie ma na nim tego pixela. Jak to możliwe?

HotKeySet ("p", "Start")

Func Start()

While 1

$czerwone = PixelSearch(689, 159, 1270, 699, 0xF73A3B)
If IsArray($czerwone) = 1 Then
Do
    MouseClick("left", $czerwone[0], $czerwone[1], 1, 1)
Until $czerwone = 1
EndIf

$zolte = PixelSearch(689, 159, 1270, 699, 0xFCC94E)
If IsArray($zolte) = 1 Then
Do
	MouseClick("left", $zolte[0], $zolte[1], 1, 1)
Until $zolte = 1
EndIf

$niebieskie = PixelSearch(689, 159, 1270, 699, 0x476996)
If IsArray($niebieskie) = 1 Then
Do
	MouseClick("left", $niebieskie[0], $niebieskie[1], 1, 1)
Until $niebieskie = 1
EndIf

$zielone = PixelSearch(689, 159, 1270, 699, 0x6DE26C)
If IsArray($zielone) = 1 Then
Do
	MouseClick("left", $zielone[0], $zielone[1], 1, 1)
Until $zielone = 1
EndIf

$kremowe = PixelSearch(689, 159, 1270, 699, 0xFECBCB)
If IsArray($kremowe) = 1 Then
Do
	MouseClick("left", $kremowe[0], $kremowe[1], 1, 1)
Until $kremowe = 1
EndIf

$fioletowe = PixelSearch(689, 159, 1270, 699, 0xA162CE)
If IsArray($fioletowe) = 1 Then
Do
	MouseClick("left", $fioletowe[0], $fioletowe[1], 1, 1)
Until $fioletowe = 1
EndIf

$czarne = PixelSearch(689, 159, 1270, 699, 0x373939)
If IsArray($czarne) = 1 Then
Do
	MouseClick("left", $czarne[0], $czarne[1], 1, 1)
Until $czarne = 1
EndIf

$biale = PixelSearch(689, 159, 1270, 699, 0xFAFAFB)
If IsArray($biale) = 1 Then
Do
	MouseClick("left", $biale[0], $biale[1], 1, 1)
Until $biale = 1
EndIf

Sleep(10)
WEnd

EndFunc

While 1
	Sleep(10)
WEnd

 

Opublikowano

Poniewaz petle dawales po znalezieniu koloru :) Trzeba bylo mowic ze po kliknieciu znika.

Do
$czerwone = PixelSearch(689, 159, 1270, 699, 0xF73A3B)
If IsArray($czerwone) = 1 Then
    MouseClick("left", $czerwone[0], $czerwone[1], 1, 1)
EndIf
until $czerwone = @

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...