Отключение скрипта по клавише. Topic is solved

Помощь в написании скриптов
Cheburaha

Отключение скрипта по клавише.

17 Sep 2023, 20:53

Привет всем, ищу помощь. Имею данный скрипт для игры. Включая скрипт он кликает 60 раз в инвентаре через зажатый контрл по луту и закидывает в банк, работает где то 5 секунд.
Проблема заключается в том что, иногда у меня только половина заполнено 30 ячеек, из за чего скрипт работает до конца и нажимает по пустому инвентарю пока не завершится скрипт.
Нужно сделать так чтобы мой скрипт включался на F2 как это и работает, и во время работы скрипта я мог зажать любую клавижу чтоб он выключился (не закрылся).

Code: Select all

CoordMode, Mouse, Screen  
SetMouseDelay, -1
;SendMode Input

global x_corner = 1298
global y_corner = 615
global d = 200
global c = 0
global s = 17 ; 52 39 26 17 13
global d = 15 ; 5  7  10 15 20
global D = 1
global trig = 0

F2::
{
	x := x_corner
	y := y_corner
	c := 0
	Send, {Ctrl down}
	Loop, 180 ; 60 90 120 180 240
	{
		if trig = 1
		{
			trig := 0
			Break
		}
		MouseClick, left, %x%, %y%
		y := y + s
		c := c + 1
		if c = 15 ; 5 7 10 15 20
		{
			c := 0
			x := x + 52
			y := y - 15*17 ; 52*5 39*7 26*10 17*15 13*20
			MouseClick, left, %x%, %y%
		}
		Sleep, D
	}
	Send, {Ctrl up}
	trig := 0
}
Return

^F9::
{
	trig := 1
}
Return
[Mod edit: + [code][/code] tags.]
biLOLbi
Posts: 1
Joined: 07 Dec 2023, 04:53

Re: Отключение скрипта по клавише.  Topic is solved

07 Dec 2023, 07:24

Code: Select all

CoordMode, Mouse, Screen  
SetMouseDelay, -1
;SendMode Input

global x_corner = 1298
global y_corner = 615
global d = 200
global c = 0
global s = 17 ; 52 39 26 17 13
global d = 15 ; 5  7  10 15 20
global D = 1
global trig = 0

F2::
{
	x := x_corner
	y := y_corner
	c := 0
	Send, {Ctrl down}
	Loop, 180 ; 60 90 120 180 240
	{
		if trig = 1
		{
			trig := 0
			Break
		}
		MouseClick, left, %x%, %y%
		y := y + s
		c := c + 1
		if c = 15 ; 5 7 10 15 20
		{
			c := 0
			x := x + 52
			y := y - 15*17 ; 52*5 39*7 26*10 17*15 13*20
			MouseClick, left, %x%, %y%
			if GetKeyState("F9", "P")
			{
				trig := 1
			}
		}
		Sleep, D
	}
	Send, {Ctrl up}
	trig := 0
}
Return

^F9::
{
	trig := 1
}
Return
Я внес следующие изменения:

1. Добавил новую глобальную переменную F9_pressed. Эта переменная будет равна 1, если нажата клавиша F9.
2. В цикле Loop, который выполняет клик по инвентарю, я добавил проверку состояния переменной F9_pressed. Если клавиша F9 нажата, цикл прерывается и скрипт завершается.
3. В обработчике события ^F9 я установил переменную F9_pressed в значение 1.

Return to “Помощь”

Who is online

Users browsing this forum: No registered users and 6 guests