Что нового

Как остановить цикл?

balooc

Новичок
Сообщения
18
Репутация
0
Народ мне нужно чтобы после того как выбран цикл If с запуском танка цикл прекращался и по новой запускался 1 цикл или сразу чтобы переходил на 2ой
Код:
Run ('C:\Games\World_of_Tanks\WorldOfTanks');Запуск игры
WinActivate('W.o.T. Client');Делаем активным окно клиента
Opt("MouseCoordMode",2);Координаты окна для мышки
Opt("PixelCoordMode",2);Координаты для пикселя и его цвета
Sleep(25000);Ждём загрузку окна
MouseClick('left',467,537,1);Вход в игру
MouseClick('left',467,537,1);Вход в игру
MouseClick('left',467,537,1);Вход в игру
Sleep(7000);Ждать 7 сек
While 1
if PixelGetColor(809,41,1) == 0xBC6004 then ;Видит золотые монеты
	sleep(1000)
	While 3
		MouseClick('left',169,635,1);Выбор 1ого танка
        MouseClick('left',169,635,1);Выбор 1ого танка
        MouseClick('left',169,635,1);Выбор 1ого танка
        Sleep(2500)
        if PixelGetColor(466,37,1) == 0xC32318 Then;Активно
	        Sleep(2500);
	        MouseClick('left',466,37,1);Вход в бой
            MouseClick('left',466,37,1);Вход в бой
            MouseClick('left',466,37,1);Вход в бой
EndIf
if PixelGetColor(501,35,1) == 0xADAF97 Then ;Неактивно
	Sleep(2500)
	MouseClick('left',337,641,1);Выбор 2ого танка
	MouseClick('left',337,641,1);Выбор 2ого танка
	MouseClick('left',337,641,1);Выбор 2ого танка
	Sleep(2500)
EndIf
if PixelGetColor(466,37,1) == 0xC32318 Then;Активно
	Sleep(2500);
	MouseClick('left',466,37,1);Вход в бой
    MouseClick('left',466,37,1);Вход в бой
    MouseClick('left',466,37,1);Вход в бой
EndIf
if PixelGetColor(520,35,1) == 0x91947E Then ;Неактивно
	Sleep(2500)
	MouseClick('left',508,630,1);Выбор 3го танка
	MouseClick('left',508,630,1);Выбор 3го танка
	MouseClick('left',508,630,1);Выбор 3го танка
	Sleep(2500)
EndIf
if PixelGetColor(466,37,1) == 0xC32318 Then;Активно
	Sleep(2500);
	MouseClick('left',466,37,1);Вход в бой
    MouseClick('left',466,37,1);Вход в бой
    MouseClick('left',466,37,1);Вход в бой
EndIf
if PixelGetColor(501,35,1) == 0xADAF97 Then ;Неактивно
	Sleep(2500)
EndIf
WEnd
EndIf


if PixelGetColor(506,23,1) == 0x3E1511 Then
	sleep(1000)
	While 2
	Send('к')
	sleep(1000)
Send('к')
sleep(1000)
Send('к')
sleep(1000)
Send('к')
sleep(1000)
Send('к')
sleep(1000)
Send('к')
sleep(1000)
Send('к')
sleep(1000)
Send('к')
sleep(1000)
WEnd
EndIf
WEnd


Или подскажите как задать возвращение к строке ??
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Код:
;...
While 1
if PixelGetColor(809,41,1) == 0xBC6004 then ;Видит золотые монеты
    sleep(1000)
    While 3 ; как только условие выполнено, должна следовать команда ExitLoop (Выход из цикла 3 в цикл 1)
		
        MouseClick('left',169,635,1);Выбор 1ого танка
        MouseClick('left',169,635,1);Выбор 1ого танка
        MouseClick('left',169,635,1);Выбор 1ого танка
        Sleep(2500)
		
	if PixelGetColor(466,37,1) == 0xC32318 Then;Активно
		Sleep(2500);
		MouseClick('left',466,37,1);Вход в бой
		MouseClick('left',466,37,1);Вход в бой
		MouseClick('left',466,37,1);Вход в бой
		ExitLoop ; Условие выполнено (Выход из цикла 3 в цикл 1)
	EndIf
;...
 
Верх