Что нового

Помогите найти ошибку в коде

vindizel

Новичок
Сообщения
15
Репутация
0
Помогите разобраться в чем ошибка. Вот весь код программы

Код:
HotKeySet("{F3}", "_Exit")
HotKeySet("{F4}", "_Start")
HotKeySet("{F6}", "_Pause")

While 1
Sleep(100)
WEnd

Func _Pause()
	sleep(10000)
EndFunc

Func _Start()
	While 1
		Sleep(2000)
$PK = PixelSearch(428, 631, 464, 661,0x6A4F94) ; сканируем область на цвет кнопки1
$Ck = PixelSearch(428, 631, 464, 661,0xF1B27B) ; сканируем эту же область на кнопку2

If IsArray($PK) = True Then ;если нашли первую то щелчек по ней
	MouseClick("left",$PK [0], $PK [1], 1, 10)

	While 1 ;Ищем в открывшемся окне новую кнопку3 пока не найдем
		$Np = PixelSearch(778, 560, 858, 489,0x820007)
		if IsArray($Np) = True Then ;Если нашли кликаем по ней
			MouseClick("left",$Np [0], $Np [1], 1, 10)
		Else
			Sleep(100)
		EndIf
	WEnd
;После того как нашли кнопку 3 и кликнули на ней
		While 1 ; Сканируем область на цвет
			$Mh = PixelSearch(647, 166,661, 190, 0x6B582D); область 1
			If IsArray($Mh) = True Then ;ищем пока не найдем и кликаем по нужным координатам
				MouseClick("left",476, 640, 1, 10)
			Else
				Sleep(100)
			EndIf
		WEnd


ElseIf IsArray($Ck) = True Then ;Если нашли вторую кнопку щелчек по ней
	MouseClick("left",$Ck [0], $Ck [1], 1, 10)

	While 1 ;Ищем в открывшемся окне кнопку3
		$Np = PixelSearch(778, 560, 858, 489,0x820007)
		if IsArray($Np) = True Then ;Если нашли кликаем по ней
			MouseClick("left",$Np [0], $Np [1], 1, 10)
		Else
			Sleep(100)
		EndIf
	WEnd

		While 1
			$Mh = PixelSearch(647, 166,661, 190, 0x6B582D)
			If IsArray($Hm) = True Then
				MouseClick("left",476, 640, 1, 10)
			Else
				Sleep(100)
			EndIf
		WEnd

Else
	MouseClick("left", 1035, 417,1,10)
EndIf
WEnd
EndFunc

Func _Exit()
Exit
EndFunc

После нахождения первой кнопки и клика на ней, программа удачно находит и кликает на кнопке 3, но дальше ничего не происходит, хотя по задумке она должна сканировать область1 и выполнить клик если цвет найден. Т.е вот этот кусок не выполняется.
Код:
;После того как нашли кнопку 3 и кликнули на ней
		While 1 ; Сканируем область на цвет
			$Mh = PixelSearch(647, 166,661, 190, 0x6B582D); область 1
			If IsArray($Mh) = True Then ;ищем пока не найдем и кликаем по нужным координатам
				MouseClick("left",476, 640, 1, 10)
			Else
				Sleep(100)
			EndIf
		WEnd

После нахождения же кнопки 2 и щелчке на ней, курсор отходит чуть в сторону и бесконечно кликает вместо того чтобы кликать по появившейся в новом окне кнопке3.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: Обьясните в чем ошибка

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Обьясните в чем ошибка" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Администратор.
 
Верх