1

Тема: AHK | Автоматизация нажатии при появлении нужной картинки

Доброго времени!
У меня такая проблема, не могу написать такой скрипт чтобы когда на экране в игре появляется картинки (Направление клавиш рондомно меняющиеся UP/DOWN/LEFT/RIGHT) размер картинки 72 на 72 пикселя в нижней части экрана, то скрипт реагировал на них и нажимал соответствующую клавишу на клавиатуре. Попробовал вырезать скрин и сделать 4 разных нужных картинок задавая формат *.png потом через команду ImageSearch искал одну соответственно при неудачном поиске через ErrorLevel задавал новый поиск вновь командой ImageSearch для другой и далее. Ниже скрипт показывает логику к которой стремился. Не могу разобраться, может есть другой способ или как этот может довести до ума?


f7::
Loop
{
CoordMode Pixel
ImageSearch, X, Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack C:\Users\Max\Desktop\DOWN.png
if ErrorLevel = 1
{
 ImageSearch, X, Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack C:\Users\Max\Desktop\UP.png
 if ErrorLevel = 1
 {
  ImageSearch, X, Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack C:\Users\Max\Desktop\RIGHT.png
  if ErrorLevel = 1
   {
   ImageSearch, X, Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack C:\Users\Max\Desktop\LEFT.png
   if ErrorLevel = 1
   MsgBox Ошибка!
   else
   sleep 250
   Sendinput, {left}
   }
  else
  sleep 250
  Sendinput, {right}
 }
 else
 sleep 250
 Sendinput, {up}
}
else
sleep 250
Sendinput, {down}
}
f8::Reload

Картинки которые появляются:
https://apf.attachmail.ru/cgi-bin/readmsg?id=15999093470362972249;0;1&exif=1&full=1&x-email=gastiel_aka_maks%40mail.ru&rid=552999592341812658725421133762531965097
https://apf.attachmail.ru/cgi-bin/readmsg?id=15999093470362972249;0;2&exif=1&full=1&x-email=gastiel_aka_maks%40mail.ru&rid=16731419363101505262441062023966281407
https://apf.attachmail.ru/cgi-bin/readmsg?id=15999093470362972249;0;3&exif=1&full=1&x-email=gastiel_aka_maks%40mail.ru&rid=1468342126378365927620392149241145484353
https://apf.attachmail.ru/cgi-bin/readmsg?id=15999093470362972249;0;4&exif=1&full=1&x-email=gastiel_aka_maks%40mail.ru&rid=444623432160335244038912263511023244371

2 (изменено: serzh82saratov, 2020-09-12 18:10:38)

Re: AHK | Автоматизация нажатии при появлении нужной картинки

Примерно так, не проверял.


f7::
	CoordMode Pixel
	Loop
	{
		for k, v in ["DOWN", "UP", "RIGHT", "LEFT"]
		{ 
			ImageSearch, X, Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack C:\Users\Max\Desktop\%v%.png
			if ErrorLevel
				Continue
			sleep 250
			Sendinput, {%v%}
			Break
		}
		sleep 50
	} 
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

3 (изменено: Max, 2020-09-12 18:30:40)

Re: AHK | Автоматизация нажатии при появлении нужной картинки

serzh82saratov, пробовал запустить ваш скрипт, но он будто бы не видит этих картинок на экране, не срабатывает на их появление.



		for k, v in ["DOWN", "UP", "RIGHT", "LEFT"] <- Попробовал убрать капс, чтоб в месте

        Sendinput, {%v%} <- команда соответствовала {up}{down}{right}{left} т.к капсом не распознает команду. 
        
        Все равно не срабатывает.

 

Для наглядности как выглядит в игре:
https://media.discordapp.net/attachments/691612336439558164/754345960280162314/GTA5_2020-09-12_18-20-32.png?width=902&amp;height=508

4 (изменено: serzh82saratov, 2020-09-12 20:56:27)

Re: AHK | Автоматизация нажатии при появлении нужной картинки

Чтобы проверить, используйте MsgBox.


f7::
	CoordMode Pixel
	Loop
	{
		for k, v in ["DOWN", "UP", "RIGHT", "LEFT"]
		{ 
			ImageSearch, X, Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack C:\Users\Max\Desktop\%v%.png 
			MsgBox %ErrorLevel%`nC:\Users\Max\Desktop\%v%.png 
			if ErrorLevel
				Continue
			sleep 250
			MsgBox {%v%}
			Break
		}
		sleep 50
	} 
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

5

Re: AHK | Автоматизация нажатии при появлении нужной картинки

serzh82saratov
Попробовал, не срабатывает.

6

Re: AHK | Автоматизация нажатии при появлении нужной картинки

serzh82saratov пишет:

ImageSearch, X, Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack C:\Users\Max\Desktop\%v%.png
MsgBox %ErrorLevel%`nC:\Users\Max\Desktop\%v%.png

*TransBlack? зачем картинка на белом фоне без изменений