Клик кнопки по цвету пикселя в области

Помощь в написании скриптов
delfin1201
Posts: 5
Joined: 04 Feb 2021, 09:24

Клик кнопки по цвету пикселя в области

Post by delfin1201 » 26 May 2022, 03:20

Здраствуйте, помогите написать скрипт. Суть в том что в определённой области определялся цвет 0x00FF88 и при появлении этого цвета кликалась кнопка E

Code: Select all

End:: pause

Numpad1::
{
Reload
}
return


Numpad0::
{
var := 0

goto Process
}
return

Process:

PixelSearch, Px, Py, color, 835, 440, 1060, 640, RGB
	
	If ((shooting == False) && (color == 0x00FF88))
	{
		Send, {E}
		shooting := True
	}
	else
	If ((shooting == True) && (color != 0x00FF88))
	
		shooting := False


{
var++

goto Process
}

Return



Numpad2::
{
ExitApp
}


mcl
Posts: 357
Joined: 04 May 2018, 16:35

Re: Клик кнопки по цвету пикселя в области

Post by mcl » 27 May 2022, 00:17

Вероятно, вы спутали PixelGetColor с PixelSearch. У PixelSearch другой синтаксис и результат выполнения:

Code: Select all

;                            V
;	PixelSearch, OutX, OutY, X1   , Y1 , X2 , Y2  , ColorID [, Variation, Mode]
	PixelSearch, Px  , Py  , color, 835, 440, 1060, 640      , RGB
Вместо проверки цвета нужно проверять переменные Px/Py на пустоту:

Code: Select all

If (Px == "") {
	...
P.S.1. Loop в большинстве случаев лучше, чем Goto.
P.S.2. Ваша ссылка не работает.
github://oGDIp - GDI+ wrapper for AHK v1.1

delfin1201
Posts: 5
Joined: 04 Feb 2021, 09:24

Re: Клик кнопки по цвету пикселя в области

Post by delfin1201 » 29 May 2022, 02:47

Image
Attachments
image.png
image.png (985.9 KiB) Viewed 1341 times

delfin1201
Posts: 5
Joined: 04 Feb 2021, 09:24

Re: Клик кнопки по цвету пикселя в области

Post by delfin1201 » 29 May 2022, 03:08

Code: Select all

Numpad1::Reload

{
	
PixelGetColor, color, 835, 440, 1060, 640, RGB
	
	If ((shooting == False) && (color == 0x00FF88))
	{
		Send, {E}
		shooting := True
	}
	else
	If ((shooting == True) && (color != 0x00FF88))
	
		shooting := False


}
	
	Return



Numpad2::ExitApp

delfin1201
Posts: 5
Joined: 04 Feb 2021, 09:24

Re: Клик кнопки по цвету пикселя в области

Post by delfin1201 » 29 May 2022, 03:11

Вот так правильно будет или нет?

mcl
Posts: 357
Joined: 04 May 2018, 16:35

Re: Клик кнопки по цвету пикселя в области

Post by mcl » 29 May 2022, 17:15

delfin1201 wrote: Вот так правильно будет или нет?

Нет, правильно будет не так. Что должна, по-вашему, сделать эта команда? Получить цвет сразу 45 тысяч пикселей?

Code: Select all

PixelGetColor, color, 835, 440, 1060, 640, RGB

Или вот ваш первый пример: что именно скрипт должен найти в указанной области? Какой цвет должен попасть в color?

Code: Select all

PixelSearch, Px, Py, color, 835, 440, 1060, 640, RGB

Вот это, вероятно, ближе к вашей исходной задумке:

Code: Select all

PixelSearch, Px, Py, 835, 440, 1060, 640, 0x00FF88,, Fast RGB

If ((shooting == False) && (Px != ""))
{
	Send, {E}
	shooting := True
}
Else
If ((shooting == True) && (Px == ""))
{
	shooting := False
}
github://oGDIp - GDI+ wrapper for AHK v1.1

Post Reply

Return to “Помощь”