1

Тема: Как создать несколько бесконечных циклов с возможностью переключения?

Как создать несколько бесконечных циклов (ротаций скилов в игре) в одном скрипте, с возможностью переключения между циклами, полного отключения и повторного включения?

2

Re: Как создать несколько бесконечных циклов с возможностью переключения?

Что ты хочешь конкретно сделать?

3 (изменено: MandarinKa02, 2016-12-22 00:18:43)

Re: Как создать несколько бесконечных циклов с возможностью переключения?

Цикл одновременно будет один.



1::
Goto, Script
Return

2:: ;При нажатии на клавишу 2 - меняет значение
If Not bValue
{
	bValue := Not bValue
}
else
{
	bValue := Not bValue
}
Return

Script:
[color=blue]While(1)[/color]
[color=purple]{[/color]
If bValue
{
	msgbox, 1
}
else
{
	msgbox, 2
}
[color=purple]}[/color]

Такое?

4

Re: Как создать несколько бесконечных циклов с возможностью переключения?

Таким способом можно сделать только 2 цикла, а мне надо минимум 3. И совсем непонятно, как в этом примере цикл прерывается.
В общем, мне надо в скрипте минимум 3 бесконечных цикла (крутиться должен только один),с возможностью, по нажатию клавиши прервать один и включить другой, в произвольном порядке, или остановить все, с возможностью повторного включения.

5 (изменено: MandarinKa02, 2017-12-21 19:48:23)

Re: Как создать несколько бесконечных циклов с возможностью переключения?

Global iValue := 0 ;устанавливает значение на первый цикл

1::
Goto, Script
Return

2:: ;При нажатии на клавишу 2 - меняет значение
If iValue = 0
{
	iValue := 1
}
else if iValue = 1
{
	iValue := 2
}
else if iValue = 2
{
	iValue := 0
}
Return

Script:
If iValue = 0
{
	msgbox, 1
}
else if iValue = 1
{
	msgbox, 2
}
else if iValue = 2
{
	msgbox, 3
}

6

Re: Как создать несколько бесконечных циклов с возможностью переключения?

Так я и не утверждал, что специалист по программированию.
Код примерно такой


Global key

+1:: 
{
key := 1 
goto, script
}
return
+2::
{
key := 2
goto, script
}
return
+3:: 
{
key := 3
goto, script
}
return
script:
{
	While key = 1
	{
	send, %key%, 4
	sleep 500
	}
	While key = 2
	{
	send, %key% 5
	sleep 500
	}

	While key = 3
	{	
	send, %key% 6
	sleep 500
	}
}
return

И включаются циклы, и переключаются, но только один раз. А почему так, я не знаю.

7

Re: Как создать несколько бесконечных циклов с возможностью переключения?

4 отключает циклы.

1::
	Repeat := 1
	GoTo, Work
2::
	Repeat := 2
	GoTo, Work
3::
	Repeat := 3
	GoTo, Work
	
4::Repeat := 0

Work:
	If Work
		Return
	Work := 1
	SetTimer, Loop, -1
	Return
	
Loop:
	While Repeat || (Work := 0)
	{
		If Repeat = 1
		{
			MsgBox, , , Proc 1, 0.2
		}
		Else If Repeat = 2
		{
			MsgBox, , , Proc 2, 0.2
		}
		Else If Repeat = 3
		{
			MsgBox, , , Proc 3, 0.2
		}
	}
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: Как создать несколько бесконечных циклов с возможностью переключения?

Или на таймере:

Loop: 
	If Repeat = 1
	{
		MsgBox, , , Proc 1, 0.2
	}
	Else If Repeat = 2
	{
		MsgBox, , , Proc 2, 0.2
	}
	Else If Repeat = 3
	{
		MsgBox, , , Proc 3, 0.2
	} 
	SetTimer, Loop, % !Repeat ? -10 : -1
	Return

1:: Repeat := 1 
2:: Repeat := 2 
3:: Repeat := 3  
4:: Repeat := 0 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: Как создать несколько бесконечных циклов с возможностью переключения?

Большое спасибо, именно то, что нужно.