Сокращение скрипта

Помощь в написании скриптов для игр.
NaskelRoss
Posts: 2
Joined: 05 Apr 2021, 19:19

Сокращение скрипта

23 Jan 2023, 06:07

Сделал на от... на скорую руку скрипт для выхода из дурки. Всё работает, но теперь сижу и думаю, а как можно было сделать проще?

Вырезка и тестового полигона. Увы неудача:

Code: Select all

F3::
Reload

F4::
N1:= 1
Y:=5
Loop 20{
X%N1%:=XN1+8
Gui Add, Text, x10 y%Y% w200 h20 +0x200, %N1% = X%N1%
N1:=N1+1
Y:=Y+20
}

Gui, +AlwaysOnTop
Gui Show, w150 h420, Dev

return
Сам скрипт:

Code: Select all

;Перезагрузка скрипта
F3::
Reload

;Запуск скрипта
F4::
Sendinput, {E}
Sleep, 1000
N:= 1
;Поиск кординат по картинке
Loop 20 {
ImageSearch, X%N%, Y%N%, 777, 350, 1140, 800, *TransFFFFFFF *50 %N%.png
N:=N+1
}

;Математика. К полученным координатам прибавляется 8 пикселей. Из полученных координат создаются дополнительные переменные также с +8 к координатам
X1:=X1+8
X2:=X2+8
X3:=X3+8
X4:=X4+8
X5:=X5+8
X6:=X6+8
X7:=X7+8
X8:=X8+8
X9:=X9+8
X10:=X10+8
X11:=X11+8
X12:=X12+8
X13:=X13+8
X14:=X14+8
X15:=X15+8
X16:=X16+8
X17:=X17+8
X18:=X18+8
X19:=X19+8
X20:=X20+8
1X2:=X2+8
2X3:=X3+8
3X4:=X4+8
4X5:=X5+8
5X6:=X6+8
6X7:=X7+8
7X8:=X8+8
8X9:=X9+8
9X10:=X10+8
10X11:=X11+8
11X12:=X12+8
12X13:=X13+8
13X14:=X14+8
14X15:=X15+8
15X16:=X16+8
16X17:=X17+8
17X18:=X18+8
18X19:=X19+8
19X20:=X20+8
Y1:=Y1+8
Y2:=Y2+8
Y3:=Y3+8
Y4:=Y4+8
Y5:=Y5+8
Y6:=Y6+8
Y7:=Y7+8
Y8:=Y8+8
Y9:=Y9+8
Y10:=Y10+8
Y11:=Y11+8
Y12:=Y12+8
Y13:=Y13+8
Y14:=Y14+8
Y15:=Y15+8
Y16:=Y16+8
Y17:=Y17+8
Y18:=Y18+8
Y19:=Y19+8
Y20:=Y20+8
1Y2:=Y2+8
2Y3:=Y3+8
3Y4:=Y4+8
4Y5:=Y5+8
5Y6:=Y6+8
6Y7:=Y7+8
7Y8:=Y8+8
8Y9:=Y9+8
9Y10:=Y10+8
10Y11:=Y11+8
11Y12:=Y12+8
12Y13:=Y13+8
13Y14:=Y14+8
14Y15:=Y15+8
15Y16:=Y16+8
16Y17:=Y17+8
17Y18:=Y18+8
18Y19:=Y19+8
19Y20:=Y20+8

;Клик левой кнопкой мыши по полученным координатам. Пример: Один клик по точке с номером 1, один клик по точке 2, небольшой обязательный сдвиг курсора на точке 2 и последующий клик по этой же точке и т.д. до 20. На точке 20, как и на точке 1, только один клик 
Delay:= 300
ClickDelay:= 300
Click, %X1% %Y1%
	Sleep, %Delay%
Click, %1X2% %1Y2%
		Sleep, %ClickDelay%
Click, %X2% %Y2%
	Sleep, %Delay%
Click, %2X3% %2Y3%
		Sleep, %ClickDelay%
Click, %X3% %Y3%
	Sleep, %Delay%
Click, %3X4% %3Y4%
		Sleep, %ClickDelay%
Click, %X4% %Y4%
	Sleep, %Delay%
Click, %4X5% %4Y5%
		Sleep, %ClickDelay%
Click, %X5% %Y5%
	Sleep, %Delay%
Click, %5X6% %5Y6%
		Sleep, %ClickDelay%
Click, %X6% %Y6%
	Sleep, %Delay%
Click, %6X7% %6Y7%
		Sleep, %ClickDelay%
Click, %X7% %Y7%
	Sleep, %Delay%
Click, %7X8% %7Y8%
		Sleep, %ClickDelay%
Click, %X8% %Y8%
	Sleep, %Delay%
Click, %8X9% %8Y9%
		Sleep, %ClickDelay%
Click, %X9% %Y9%
	Sleep, %Delay%
Click, %9X10% %9Y10%
		Sleep, %ClickDelay%
Click, %X10% %Y10%
	Sleep, %Delay%
Click, %10X11% %10Y11%
		Sleep, %ClickDelay%
Click, %X11% %Y11%
	Sleep, %Delay%
Click, %11X12% %11Y12%
		Sleep, %ClickDelay%
Click, %X12% %Y12%
	Sleep, %Delay%
Click, %12X13% %12Y13%
		Sleep, %ClickDelay%
Click, %X13% %Y13%
	Sleep, %Delay%
Click, %13X14% %13Y14%
		Sleep, %ClickDelay%
Click, %X14% %Y14%
	Sleep, %Delay%
Click, %14X15% %14Y15%
		Sleep, %ClickDelay%
Click, %X15% %Y15%
	Sleep, %Delay%
Click, %15X16% %15Y16%
		Sleep, %ClickDelay%
Click, %X16% %Y16%
	Sleep, %Delay%
Click, %16X17% %16Y17%
		Sleep, %ClickDelay%
Click, %X17% %Y17%
	Sleep, %Delay%
Click, %17X18% %17Y18%
		Sleep, %ClickDelay%
Click, %X18% %Y18%
	Sleep, %Delay%
Click, %18X19% %18Y19%
		Sleep, %ClickDelay%
Click, %X19% %Y19%
	Sleep, %Delay%
Click, %19X20% %19Y20%
return
mcl
Posts: 387
Joined: 04 May 2018, 16:35

Re: Сокращение скрипта

23 Jan 2023, 11:29

Code: Select all

;Перезагрузка скрипта
F3::
	Reload


;Запуск скрипта
F4::
	Sendinput, {E}
	Sleep, 1000
	
	; Массивы для хранения координат
	xcoord := []
	ycoord := []
	; Внутри цикла можно использовать спец-переменную A_Index вместо N.
	Loop 20 {
		ImageSearch, px, py, 777, 350, 1140, 800, *TransFFFFFF *50 %A_Index%.png
		; Сразу прибавляем 8, потому как исходные координаты не используются
		xcoord[A_Index] := px + 8
		ycoord[A_Index] := py + 8
	}
	
	sleepDelay := 300
	clickDelay := 300
	; Кликаем
	Loop 19 {
		clickX := xcoord[A_Index]
		clickY := ycoord[A_Index]
		Click,  %clickX%  %clickY%
		Sleep,  %sleepDelay%
		
		clickX := xcoord[A_Index+1] + 8
		clickY := ycoord[A_Index+1] + 8
		Click,  %clickX%  %clickY%
		Sleep,  %clickDelay%
	}
	
	Return

Return to “Скрипты для Игр”

Who is online

Users browsing this forum: No registered users and 18 guests