Что нового

[Автоматизация] Распознавание цифр и нажатие соответствующей кнопки на экране

NoName

Новичок
Сообщения
1
Репутация
0
Времени суток всем. Моя первая тема. Недавно начал изучать AutoIt. Особых знаний в программировании не имею. Хочу написать бота для определения появляющихся цифр на экране с последующим нажатием соответствующих им кнопок. Есть игра, где требуется постоянно нажимать одну и туже кнопку на экране через определенный промежуток, и периодически рандомно по времени появляется окно, что-то вроде АФКпроверки, где собственно эти цифры и содержаться. Cкрин прилагается. Суть работы самого бота есть в цикле нажатия этой кнопки и прохождение АФКпроверки при ее появлении, а затем возвращению к началу цикла. С нажатием кнопки я разобрался, все работает. Как реализовать прохождение проверки ботом? Начало скрипта ниже.

Код:
MsgBox(0, "BOT", "ACTIVATED")
HotKeySet("{F6}", "_Exit")
While 1
WinActivate("название окна")
$aPos = MouseGetPos()
MouseClick("left",112, 293, 1, 0)
MouseMove($aPos[0], $aPos[1], 0)
Sleep(62000)
WEnd
Func _Exit()
Exit
EndFunc


Пробовал как в этой теме:
http://autoit-script.ru/index.php?topic=11036.msg72769#msg72769
Вышло это:

Код:
Func _detect_digit()
   If PixelGetColor(1026,164) <> 0x000000 Then Return 0
   If PixelGetColor(1020,162) <> 0x000000 Then Return 1
   If PixelGetColor(1021,168) <> 0x000000 Then Return 2
   If PixelGetColor(1020,170) <> 0x000000 Then Return 3
   If PixelGetColor(1027,168) <> 0x000000 Then Return 4
   If PixelGetColor(1021,162) <> 0x000000 Then Return 5
   If PixelGetColor(1020,165) <> 0x000000 Then Return 6
   If PixelGetColor(1024,168) <> 0x000000 Then Return 7
   If PixelGetColor(1020,168) <> 0x000000 Then Return 8
   If PixelGetColor(1020,164) <> 0x000000 Then Return 9
EndFunc


Как это использовать? Нужно ли вообще? Есть ли другие способы?
 

Вложения

  • АФКпроверка.jpg
    АФКпроверка.jpg
    26.8 КБ · Просмотры: 85

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Не имея опыта в программировании, сложновато будет написать что-то вразумительное. Ищи темы по поводу работы с Tesseract, тут и на оффоруме
 

Ksaan

Знающий
Сообщения
207
Репутация
15
NoName сказал(а):
Как это использовать?
Я плохо объясняю но попробую.
Функция ищет по координатам цвет, и проверяет его если он не равен 0x000000, и возвращает Return c нужным числом.
Далее используй это число, и кликай по нужной кнопке
Код:
$Num = _detect_digit()
Switch $Num
	Case 0
		MouseClick("left",112, 293, 1, 0)
	Case 1
		
EndSwitch
 
Верх