Действие — Задать временную переменную
Наглядный пример использования действия смотрите на видео:
Назначение
Главная цель этого действия — сократить нагрузку на Автопилот во время выполнения команды. Некоторые динамические переменные (такие как {get}000{/get}
, {level}000{/level}
и т. п.) в силу своих особенностей обращаются к базе данных Автопилота при КАЖДОМ использовании. А каждое обращение, ясное дело занимает время (подключиться, достать, обработать).
Поэтому если вам надо использовать значение такой (или любой другой) динамической переменной несколько раз в следующих блоках, то вы можете сильно ускорить выполнение команды, просто записав значение во временную переменную (используя данное действие).
Второй не менее важный момент — удобство. Намного удобнее и нагляднее будет такая конструкция {math}%res% + 1{/math}
, нежели такая:
{math}{get}Ресурс 1|name|body{/get} + 1{/math}
.
Настройка
Создание данного блока находится в не совсем обычном месте (не рядом с другими действиями):

Сам блок действия имеет всего 2 параметра:
- 1) Название переменной. Оно должно содержать только латинские буквы нижнего регистра (маленькие), цифры или нижние подчеркивания. А также начинаться и заканчиваться символом %. Остальные символы будут удалены при сохранении (что сохранилось можно увидеть после переоткрытия команды).
- 2) Значение переменной. Здесь можно писать практически любой текст. Поддерживаются переменные. Ограничение по размеру — 4000 символов.

Особенности временных переменных
Да, верно, ключевой особенностью временной переменной есть её срок жизни. Такая переменная нигде не сохраняется а существует с момента выполнения действия «задать переменную» до момента выполнения последнего действия в команде и завершения выполнения команды.
Еще раз: как только команда выполнилась для подписчика, значение переменной для него удаляется. Аналогично происходит и для «условной переменной».
Если команда с данным действием вызывает другие команды (например действием «выполнить событие»), то в этих командах временная переменная тоже будет работать (до завершения выполнения последнего действия).
Лайкнуть / покритиковать статью (при желании) можно в этом посте.
Вернуться на главную страницу инструкций