Одни и те же действия по-разному работают в скриптах Topic is solved

Помощь в написании скриптов
Rustamom
Posts: 6
Joined: 23 Feb 2021, 14:11

Одни и те же действия по-разному работают в скриптах  Topic is solved

Post by Rustamom » 23 Feb 2021, 14:20

В одном скрипте, имеющий следующий код, все отлично отрабаывает:

Code: Select all


Loop, 5
{
	Click, 951, 591 ;начать матч
	Sleep, 3000
	WinActivate, ahk_exe Explorer.EXE
	
	Click, 521, 545 ;клик по центру
	PixelSearch, OutputVarX, OutputVarY, 0, 0, 328, 192, 0x9FFFFF, 0, Fast		
	while (ErrorLevel)
	{
		
		Click, 521, 545, 2 
		Sleep, 100
		Send {F1}
		Sleep, 1000
		WinActivate, ahk_exe Explorer.EXE
		Sleep, 1000
		
		Click, 597, 757, 2 
		Sleep, 1000
		WinActivate, ahk_exe Explorer.EXE
		Sleep, 1000
		
		PixelSearch, OutputVarX, OutputVarY, 0, 0, 328, 192, 0x9FFFFF, 0, Fast		
		
	}		
	
}
Начало каждого скрипта:

Code: Select all

SendMode Input
CoordMode, Mouse, Screen
CoordMode, Pixel, Screen
Вставляю в конец другого скрипта, имеющий уже некоторый код, данный скрипт и этот код уже некорректно отрабатывает(Не жмет f1 и не кликает по координатам 597, 757)
mcl
Posts: 357
Joined: 04 May 2018, 16:35

Re: Одни и те же действия по-разному работают в скриптах

Post by mcl » 24 Feb 2021, 03:17

Очевидно, в одном скрипте всё хорошо, а в другом что-то нехорошо. Чтобы узнать, что именно нехорошо, нужно смотреть сами скрипты.

Стоит последить (скажем, через TrayTip) за результатами PixelSearch.
И − вряд ли причина в этом, − но лично я бы не использовал ahk_exe explorer.exe, т.к. сюда относятся не только окна проводника, но и рабочий стол, и меню пуск, и некоторые элементы трея.
github://oGDIp - GDI+ wrapper for AHK v1.1
Rustamom
Posts: 6
Joined: 23 Feb 2021, 14:11

Re: Одни и те же действия по-разному работают в скриптах

Post by Rustamom » 24 Feb 2021, 12:36

"Очевидно, в одном скрипте всё хорошо, а в другом что-то нехорошо. Чтобы узнать, что именно нехорошо, нужно смотреть сами скрипты."
Я просто предполагаю, из-за большого количества кода, хотя я не считаю его громоздким(около 300 строк без пробелов), а так в начале кода (клик,сон,фокус) проблем нету, только 2я часть while не отрабатывает.

"но лично я бы не использовал ahk_exe explorer.exe, т.к. сюда относятся не только окна проводника, но и рабочий стол, и меню пуск, и некоторые элементы трея."
При клике у меня устанавливается фокус на игре и после я не могу выполнить ни одного действия, связанным с кликами. Решил эту проблему фокусом на проводник
mcl
Posts: 357
Joined: 04 May 2018, 16:35

Re: Одни и те же действия по-разному работают в скриптах

Post by mcl » 24 Feb 2021, 15:24

Rustamom wrote: Я просто предполагаю, из-за большого количества кода
Не думаю, что проблема в количестве кода. Некоторые из моих скриптов под сотню Кб.
только 2я часть while не отрабатывает.
А двойной щелчок в 13 строке точно срабатывает? Я бы всё же подебажил ErrorLevel после PixelSearch − возможно, весь блок While пропускается.
При клике у меня устанавливается фокус на игре и после я не могу выполнить ни одного действия, связанным с кликами.
Часто такое бывает, если целевая программа (игра) запущена от имени администратора, а скрипт − нет. Если скрипт тоже запустить с повышенными правами, проблема с кликами остаётся?
github://oGDIp - GDI+ wrapper for AHK v1.1
Post Reply

Return to “Помощь”