Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: zmrvyuls on January 14, 2021, 03:36:15 PM
-
Подскажите, как сделать так, чтобы скрипт при повторении выполнял поочередно одно из 4 действий? Например, 1ый раз - нажатие А, 2ой - Б, 3ий - В и 4ый - Г. И так по кругу.
-
Подскажите, как сделать так, чтобы скрипт при повторении выполнял поочередно одно из 4 действий? Например, 1ый раз - нажатие А, 2ой - Б, 3ий - В и 4ый - Г. И так по кругу.
inc($var) //наращиваем переменную
SWITCH($var)
CASE(1)
// случай 1
print("нажатие А")
CASE(2)
// случай 2
print("Б")
CASE(3)
// случай 3
print("В")
CASE(4)
// случай 4
print("Г")
$var = 0 //обнуляем переменную
END_SWITCH
-
Спасибо, то что нужно
-
Подскажите, как сделать так, чтобы скрипт при повторении выполнял поочередно одно из 4 действий? Например, 1ый раз - нажатие А, 2ой - Б, 3ий - В и 4ый - Г. И так по кругу.
inc($var) //наращиваем переменную
SWITCH($var)
CASE(1)
// случай 1
print("нажатие А")
CASE(2)
// случай 2
print("Б")
CASE(3)
// случай 3
print("В")
CASE(4)
// случай 4
print("Г")
$var = 0 //обнуляем переменную
END_SWITCH
Можно ли добавить какой-то параметр отвечающий за количество CASE и то, какой из них будет стартовым?
Что-то вроде "Стартовый CASE" = 3, "Количество CASE" = 3
и скрипт уже бы работал в режиме В, А, Б, В, А, Б, В, А, Б...
-
Можно ли добавить какой-то параметр отвечающий за количество CASE
Зачем? :D
-
Можно ли добавить какой-то параметр отвечающий за количество CASE
Зачем? :D
Хочу вывести эти два параметра в Окно ввода через inputbox, чтобы каждый раз не редактировать скрипт
-
Допустим ты их вывел, а дальше что? Сами по себе кейсы ничего делать не будут
-
Можно ли добавить какой-то параметр отвечающий за количество CASE и то, какой из них будет стартовым?
Что-то вроде "Стартовый CASE" = 3, "Количество CASE" = 3
и скрипт уже бы работал в режиме В, А, Б, В, А, Б, В, А, Б...
Хочу вывести эти два параметра в Окно ввода через inputbox, чтобы каждый раз не редактировать скрипт
IF($start_CASE = 0) //начальные параметры
$start_CASE = inputbox("Стартовый CASE", 1, 10)
$amount_CASE = inputbox("Количество CASE", 4, 10)
END_IF
SWITCH($start_CASE)
CASE(1)
// случай 1
print("А")
CASE(2)
// случай 2
print("Б")
CASE(3)
// случай 3
print("В")
CASE(4)
// случай 4
print("Г")
DEFAULT
print("Недопустимые начальные параметры.")
halt
END_SWITCH
IF($amount_CASE = $start_CASE) //возврат к началу, если параметр кол-ва кейсов сровнялся с последним в переключателе
$start_CASE = 0
END_IF
inc($start_CASE) //наращиваем переменную
А теперь вопрос у меня:
Справка - "DEFINE ($var, [value] ), инструкция сработает только если переменная не была объявлена раньше. В противном случае инструкция игнорируется."
Почему DEFINE ($start_CASE, inputbox("Стартовый CASE", 1, 10)) каждый раз вызывает inputbox?
Естественно это не критично, просто без лишних мыслей сперва написал именно так... не прокатило.
-
А теперь вопрос у меня:
Справка - "DEFINE ($var, [value] ), инструкция сработает только если переменная не была объявлена раньше. В противном случае инструкция игнорируется."
Почему DEFINE ($start_CASE, inputbox("Стартовый CASE", 1, 10)) каждый раз вызывает inputbox?
Естественно это не критично, просто без лишних мыслей сперва написал именно так... не прокатило.
Вызывается то inputbox каждый раз, но значение не присваивается.
Видимо проверка производится после синтаксического разбора. Т.е. разбираем DEFINE получаем имя переменной и параметр и тут загвоздка, параметр состоит из функции, нужно вызвать функцию. Потом проверяем что переменная существует и не присваиваем значение, если да.
Проверка должна стоять после считывания имени переменной и до чтения параметра (и его разбора).
Боюсь Джонни не до таких мелких фиксов. Напиши на всякий случай в ошибки.
-
Ну почему же? Ведь после обнуления $start_CASE = 0 она сразу наращивается inc($start_CASE). Значит IF($start_CASE = 0) сработает только один раз при запуске скрипта.
Недоглядел :-\
До последней строки не домотал чуть, а про case подумал что с нуля.