Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Orotund on July 31, 2016, 02:43:26 AM

Title: Можно ли упростить конструкцию? GOTO внутри SUB.
Post by: Orotund on July 31, 2016, 02:43:26 AM
Здравствуйте! Необходим совет опытных людей.
Есть сценарий:
Code: (clickermann) [Select]
#include "Search_Mob.cms"

Start:
Search_Mob_LowRange()
IF($SearchDetected = 1)
                $SearchDetected = 0
GOTO(Start)
END_If
Search_Mob_MidRange()
IF($SearchDetected = 1)
                $SearchDetected = 0
GOTO(Start)
END_If
Search_Mob_LongRange()
$SearchDetected = 0
GOTO(Start)

Можно ли заменить на это:
Code: (clickermann) [Select]
#include "Search_Mob.cms"

SUB(Breack)
IF($SearchDetected = 1)
                $SearchDetected = 0
GOTO(Start)
END_If
END_SUB

Start:
Search_Mob_LowRange()
Breack()
Search_Mob_MidRange()
Breack()
Search_Mob_LongRange()
$SearchDetected = 0
GOTO(Start)
Я не знаю будет ли работать корректно GOTO внутри SUB.
Можно ли это реализовать с помощью цикла? :(
Title: Re: Можно ли упростить конструкцию? GOTO внутри SUB.
Post by: Oraven on July 31, 2016, 09:07:42 AM
Нет, выпрыгивать из подпрограмм и циклов нельзя. Это в большинстве случаев вызывает глюки.
Первый вариант правильный.