Конструктор ротации
Обновлено 18.10.2026
Конструктор — окно KeyRota, в котором продвинутая ротация собирается без набора текста: слоты с флагами, ауры, правила, а рядом текст KRC и JSON. Документация одна для Windows и macOS, снимки окна сделаны в Windows. На снимках — рейдовая ротация Ликвидации из примеров.
Как открыть#
- Своя ротация. Выберите профиль в блоке «Ротация» главного окна и нажмите «Настроить».
- Новая ротация. «Новый» — «В конструкторе…». Специализация подставляется из игры или из текущего профиля. Ротация станет профилем при первом сохранении.
- Из файла или буфера. «Новый» — «Из файла…» принимает текст KRC (
.txt), ротацию в JSON и файл профиля KeyRota; «Новый» — «Из буфера обмена» — то же самое из буфера. Потом профиль можно открыть в конструкторе кнопкой «Настроить».

У профиля Blizzard конструктор показывает только название и задержку нажатий: главную кнопку выбирает игра. Кнопка «Собрать свою ротацию» создаёт новый профиль с продвинутой ротацией, профиль Blizzard остаётся в списке.

Устройство окна#
- Слева — страницы: «Общее», «Слоты», «Ауры», «Правила» (рядом число правил), «Текст и JSON». Над ними — «Своя ротация» и выбранная специализация.
- Справа — выбранная страница.
- Внизу — строка состояния: собирается ли ротация («Ротация собирается: 15 правил, 11 слотов, 10 аур»), есть ли несохранённые изменения, а при ошибке — где она и кнопка «Показать». Справа — «Закрыть» и «Сохранить».
Ничего не применяется до «Сохранить» (в Windows также Ctrl+S).
Общее#

| Элемент | Что делает |
|---|---|
| Название профиля | Как профиль называется в списке ротаций главного окна. |
| Специализация | Задаёт ресурсы ротации (энергия, комбо-очки, ярость…) и класс и специализацию профиля Better Assistant. При смене специализации список ресурсов меняется, если правила не читают ресурсы прежней специализации (здоровье не в счёт). |
| Название ротации | Первая строка текста KRC (rotation "…"), видна в журнале KeyRota. Кавычки в названии нельзя. Удобно хранить в нём версию: «Ликвидация v1.3». |
| Игнорировать основную иконку | Вкл.: KeyRota жмёт только по правилам; если ни одно правило не подошло, ждёт. Выкл.: тогда она жмёт подсказку игры. Для своих ротаций обычно включено: ожидание (например, накопление энергии) — нормальное состояние. |
| Задержка нажатий | Пауза перед каждым нажатием, как у человека: «Нет», «Фикс.» (интервал 0–1000 мс) или «Случайно» (от и до, 0–1000 мс). «Также для киков и защиты» применяет ту же паузу к ним. |

| Элемент | Что делает |
|---|---|
| Профиль: … | Сводка строки профиля Better Assistant: специализация, сколько заклинаний и аур. |
| Собрать из слотов и аур | Строит строку профиля Better Assistant из ID заклинаний слотов, настройки «Better Assistant показывает» у каждого слота, аур по порядку, специализации, радиуса и «Только враги в бою». Если уже вставлен профиль той же специализации, его остальные настройки сохраняются. |
| Из буфера обмена | Вставить готовую строку профиля. Специализация строки должна совпадать со специализацией ротации. |
| Скопировать | Скопировать строку, чтобы вставить её в игре. |
| Радиус счётчика врагов, ярдов | 1–100, по умолчанию 8. Этот радиус использует условие «Врагов рядом» (enemies). |
| Только враги в бою | По умолчанию включено: враги, которые ещё не в бою, не считаются. |
| Описание | Заметки к ротации: в тексте KRC это строки с # в начале. На работу ротации не влияют. |
Под кнопками появляются предупреждения: у каких слотов из правил нет ID заклинания (их не будет в профиле Better Assistant) и что в уже вставленном профиле не совпадает с ротацией.
Важно
Ауры в профиле Better Assistant идут подряд, начиная с первой. Если у ауры 3 нет ID, а у ауры 4 есть, профиль не соберётся: «У ауры 3 нет номера заклинания». Заполните ID или перенумеруйте ауры.
Профиль Better Assistant в игре#
Слот N ротации — это слот N в Better Assistant, аура N — аура N в его списке. Строка профиля переносит туда ваши слоты и ауры в нужном порядке.
- На странице «Общее» нажмите «Собрать из слотов и аур», затем «Скопировать».
- В игре введите
/ba, откройте вкладку Profile, вставьте строку и нажмите Apply, затем подтвердите. - После любой правки слотов или аур (ID, порядок, «С целью / В бою») соберите и вставьте профиль заново.
Слоты#

Слева — 12 мест: номер, название, ID заклинания, флаги («вне GCD, в очереди») и пометка «не используется», если слот не встречается в правилах. Пустое место показывает «Пусто», при выборе — кнопку «Добавить слот».
| Элемент | Что делает |
|---|---|
| Название | Как заклинание называется в игре. Видно в списке правил и в журнале. |
| ID заклинания | Номер из ссылки Wowhead: в wowhead.com/spell=1856/vanish это 1856. По нему Better Assistant ставит заклинание в этот слот. |
| Better Assistant показывает | «С целью» или «В бою». Слот готов, только когда Better Assistant его показывает. «В бою» нужно лечению и защите, которые должны срабатывать и без цели. |
| Как нажимать | Четыре переключателя-флага, см. таблицу ниже. |
| Имя в тексте | Имя слота в правилах и в тексте KRC: буквы, цифры и _, без пробелов. |
| Комментарий | Комментарий в конце строки объявления в тексте. |
| Используется в правилах | Номера правил, где слот нажимается или читается. «Убрать слот» доступно, только если слот нигде не используется. |
Чтобы KeyRota могла нажать слот, его заклинание должно стоять на панели действий в игре с назначенной клавишей: KeyRota берёт клавишу с панелей. Подойдёт и макрос с #showtooltip Название. Слот без клавиши не нажимается.
Как нажимать: флаги#

| Переключатель | Что делает | Когда включать |
|---|---|---|
| без флагов | Слот жмётся как обычное заклинание: в конце глобального кулдауна, в окне очереди. | Почти все заклинания на GCD. |
| Только вручную (M) | KeyRota никогда не жмёт этот слот сама и пропускает его правила. Ваше нажатие его клавиши ставит ротацию на паузу. | Способности, которые вы хотите жать только сами. |
| Канал (C) | Пока идёт канал этого заклинания, KeyRota ничего не жмёт и не сбивает его. | Заклинания с каналом, например Череда убийств. |
| Вне GCD (O) | Не ждёт глобального кулдауна: жмётся сразу, даже посреди GCD. | Заклинания вне GCD, например Призовая игра. |
| В окне очереди (Q) | Только вместе с «Вне GCD»: жать в самом конце GCD, в окне очереди заклинаний. | Макросы, где вторая строка на GCD (Выброс адреналина + Череда убийств), и кнопки, которым нужен результат прошлого удара (Исчезновение после Погибели королей). |
Все сочетания флагов и их запись в JSON — в разделе Флаги слота.
Ауры#
![Страница «Ауры»: аура 1 «Гаррота на цели [703]», ID 703, имя в тексте Garrote_DoT, используется в правилах 3, 4, 5, 7, 8, 10](/documentation/img/ru/editor-auras.png?v=20261018u)
Ауры — ваши бафы и ваши дебафы на цели, которые читают правила. Аура N ротации — это аура N в списке Better Assistant.
| Элемент | Что делает |
|---|---|
| Название | Как аура называется; видно в правилах. Удобно писать ID в скобках: «Гаррота на цели [703]». |
| ID заклинания | Номер ауры на Wowhead. Better Assistant ищет её среди ваших бафов и ваших дебафов на цели. |
| Имя в тексте, Комментарий | Как у слотов. |
| Используется в правилах | Где аура читается. «Убрать ауру» — только для неиспользуемой. |
Примечание
ID ауры и ID заклинания, которое её вешает, могут отличаться. Заклинание Исчезновение — 1856, а баф после него — 11327; Незаметность — 1784, а Незаметность с талантом Увёртка — 115191. Проверяйте ID самого бафа или дебафа на Wowhead.
Видны только ваши ауры: бафы, которые вы наложили на себя, и дебафы, которые вы наложили на цель. Бафы от других игроков и чужие дебафы на цели правила не видят.
Правила#

Правила проверяются сверху вниз: KeyRota жмёт первое, которое выполнено и чьё заклинание можно применить. Если заклинание применить нельзя (кулдаун, ресурс, дальность), она смотрит следующее правило.
Панель над списком:
| Кнопка | Что делает |
|---|---|
| + | Новое правило под выбранным. Оно жмёт первый слот и пока без условий. |
| Копия | Копия правила под ним. |
| Корзина | Удалить правило. |
| Вверх, Вниз | Поднять (раньше проверяется) или опустить (позже проверяется). |
В списке у каждого правила — номер (приоритет), слот, название и число групп; правило с ошибкой отмечено красным значком.
Выбранное правило:
| Элемент | Что делает |
|---|---|
| Нажимать | Какой слот нажать, когда правило выполнено. |
| Название | Видно в журнале, когда правило сработало. |
| Описание | Заметки над правилом в тексте KRC. |
| Когда нажимать | Группы условий: правило выполнено, если выполнена хотя бы одна группа (ИЛИ); группа — если выполнены все её условия (И). |

У каждой группы — «Группа N», поле «Комментарий группы», кнопки «Копия группы» и «Удалить группу». Строка условия: что проверять, свойство, сравнение и число; крестик убирает условие. «+ Условие» добавляет условие в группу, «+ Группа (ИЛИ)» — новую группу. В одной группе до 16 условий, в правиле до 16 групп: на пределе кнопки становятся недоступны. Правило без групп показывает «Без условий: правило срабатывает всегда, когда заклинание можно применить».
| Что проверять | Свойства | В тексте KRC |
|---|---|---|
| Ауры (каждая аура ротации) | есть, отсутствует, осталось %, стаков | Garrote_DoT.up, .down, .duration <= 30, .stacks >= 3 |
| Слоты (каждый слот) | готов, на кулдауне, кулдаун %, зарядов, подсвечен, не подсвечен | Kingsbane.ready, .oncd, .cd <= 3, .charges >= 2, .glow, .noglow |
| Ресурсы | здоровье игрока и цели, ресурсы специализации, % | PlayerHP <= 40, Energy >= 70 |
| Бой: врагов рядом | число | enemies >= 3 |
| Бой: дистанция до цели | ярды | target.distance <= 8 |
| Панель быстрых настроек | включено, выключено | aoe == 1, st == 1, cd == 1, defensives == 1, ground_spells == 1, movement == 1 |
Сравнения: <, ≤, =, ≥, >; число — от 0 до 100. Новое условие по умолчанию — «есть» для первой ауры; при смене «что проверять» свойство и число ставятся по умолчанию (для ресурса — ≥ 50, для врагов — ≥ 2, для дистанции — ≤ 8). Подробно о каждом условии — в разделе Условия.
Ошибки и строка состояния#

- Зелёная строка «Ротация собирается: …» — ротация без ошибок и её можно сохранить.
- Красная строка называет место ошибки: «Правило 9, группа 1: в группе нет условий». «Показать» открывает это место. Правило с ошибкой отмечено в списке, группа с ошибкой обведена красным.
- Ротация с ошибкой не сохраняется: «Ротация с ошибкой не сохраняется: исправь отмеченное внизу».
- Пока ротация запущена, сохранить нельзя: «Останови ротацию, чтобы сохранить».
Текст и JSON#


| Элемент | Что делает |
|---|---|
| Текст KRC / JSON | Переключатель вида. |
| Скопировать | Скопировать текст или JSON целиком. |
| Вставить | Заменить ротацию тем, что в буфере: текстом KRC, JSON ротации или профилем KeyRota. |
| Открыть… | Загрузить ротацию из файла .txt или .json. |
| Сохранить… | Сохранить текущий вид в файл: текст — .txt, JSON — .json. |
Правка в поле применяется сразу, если в ней нет ошибок; ошибка показывается под полем, а остальные страницы держат последнюю правильную версию.
Что хранит текст, а что только JSON. В тексте KRC нет ID заклинаний, флагов слотов, «С целью / В бою», специализации, «Игнорировать основную иконку» и настроек счётчика врагов. Когда вы правите текст, эти настройки остаются у слотов и аур с теми же номерами. JSON хранит всё. Когда вы вставляете или открываете новую версию ротации, слоты и ауры с теми же номерами сохраняют ID, видимость и флаги, если в новой версии их нет.
Сохранение и закрытие#
- «Сохранить» (в Windows также Ctrl+S) записывает ротацию в профиль; кнопка на секунду показывает «Сохранено». Новая ротация становится профилем и выбирается в списке.
- Закрытие с несохранёнными изменениями спрашивает «Сохранить изменения?»: «Сохранить», «Не сохранять» или «Отмена». То же — при закрытии KeyRota.
- «Экспорт» в главном окне сохраняет профиль вместе с ротацией в JSON, «Импорт» принимает и профиль KeyRota, и отдельный JSON ротации.
Пример: ротация с нуля#
Соберём небольшую ротацию Ликвидации: два дота (Гаррота и Рваная рана), генератор (Расправа), трата (Отравление), защита (Алый фиал при здоровье 40 % и ниже) и кулдаун под кнопкой Burst (Знак смерти).
1. Новый профиль. «Ротация» — «Новый» — «В конструкторе…».
2. Общее. Название профиля — «Ликвидация: пример». Специализация — «Ликвидация» (ресурсы станут PlayerHP, TargetHP, Energy, Combo_Points). Название ротации — «Ликвидация: пример v1». «Игнорировать основную иконку» — вкл.
3. Слоты. Для каждой строки таблицы: выберите место слева, «Добавить слот», заполните «Название», «ID заклинания», «Имя в тексте», для Алого фиала выберите «В бою». Флаги не нужны.
| Слот | Название | ID | Имя в тексте | Better Assistant показывает |
|---|---|---|---|---|
| 1 | Гаррота | 703 | Garrote | С целью |
| 2 | Рваная рана | 1943 | Rupture | С целью |
| 3 | Отравление | 32645 | Envenom | С целью |
| 4 | Расправа | 1329 | Mutilate | С целью |
| 5 | Знак смерти | 360194 | Deathmark | С целью |
| 6 | Алый фиал | 185311 | Crimson_Vial | В бою |
4. Ауры. Так же, на странице «Ауры»:
| Аура | Название | ID | Имя в тексте |
|---|---|---|---|
| 1 | Гаррота на цели [703] | 703 | Garrote_DoT |
| 2 | Рваная рана на цели [1943] | 1943 | Rupture_DoT |
| 3 | Отравление [32645] | 32645 | Envenom_Buff |
| 4 | Знак смерти на цели [360194] | 360194 | Deathmark_DoT |
5. Правила. На странице «Правила» нажмите «+», в «Нажимать» выберите слот, впишите «Название». «+ Группа (ИЛИ)» добавляет группу с условием по умолчанию: смените «что проверять», свойство, сравнение и число. «+ Условие» добавляет следующее условие в ту же группу. Правила — в таком порядке:
| № | Нажимать | Группы (ИЛИ), условия в группе (И) |
|---|---|---|
| 1 | Алый фиал | «Хил / защита» включено, «Здоровье игрока» ≤ 40 |
| 2 | Знак смерти | Burst включено, Гаррота на цели есть, Рваная рана на цели есть, Отравление есть |
| 3 | Гаррота | (1) Гаррота на цели отсутствует; (2) Гаррота на цели есть, осталось ≤ 30 % |
| 4 | Рваная рана | (1) Комбо-очки ≥ 70, Рваная рана на цели отсутствует; (2) Комбо-очки ≥ 70, Рваная рана на цели есть, осталось ≤ 30 % |
| 5 | Отравление | (1) Комбо-очки ≥ 70, Отравление отсутствует; (2) Комбо-очки ≥ 70, Отравление есть, осталось ≤ 20 %; (3) Комбо-очки ≥ 70, Энергия ≥ 70; (4) Комбо-очки ≥ 70, Знак смерти на цели есть |
| 6 | Расправа | Комбо-очки < 70 |
Почему так:
- Защита первой: при низком здоровье Алый фиал важнее урона. Он сработает, только если на панели быстрых настроек включено «Хил / защита».
- Знак смерти под Burst: условие
cd == 1— это кнопка Burst (F3 в Windows, ⌃⇧B на macOS), а не кулдаун заклинания. Выключили Burst — Знак ждёт. - Доты с пандемией: отсутствующая аура имеет остаток 0, поэтому обновление пишется двумя группами: «нет дота» и «дот есть и осталось ≤ 30 %».
- 5 комбо-очков = 70: из 7 комбо-очков 5 — это 71 %; порог
70верен при любом округлении. Таблица — в разделе Ресурсы. - Расправа последней и только до 5 комбо-очков, чтобы не тратить энергию впустую, пока Отравление ждёт своего условия.
6. Проверка. Внизу должно быть «Ротация собирается: 6 правил, 6 слотов, 4 ауры». Откройте «Текст и JSON» — там будет то же, что ниже.
7. Профиль Better Assistant. «Общее» — «Собрать из слотов и аур» — «Скопировать»; в игре /ba — Profile — вставить — Apply.
8. Клавиши. Поставьте шесть заклинаний на панели действий и назначьте им клавиши.
9. Запуск. «Сохранить», закройте окно, выберите профиль «Ликвидация: пример» и запустите ротацию (F1 в Windows, ⌃⇧Пробел на macOS). На панели быстрых настроек включите «Хил / защита», если нужен Алый фиал; кнопка Burst включает и выключает Знак смерти.
rotation "Ликвидация: пример v1"
# Пример из документации KeyRota: два кровотечения, генератор, трата с накоплением энергии,
# защита при низком здоровье и Знак смерти по кнопке Burst.
# Комбо-очки в процентах от 7: 5 очков = 71%, порог 70 = 5+.
buff1 Garrote_DoT = "Гаррота на цели [703]"
buff2 Rupture_DoT = "Рваная рана на цели [1943]"
buff3 Envenom_Buff = "Отравление [32645]"
buff4 Deathmark_DoT = "Знак смерти на цели [360194]"
slot1 Garrote = "Гаррота"
slot2 Rupture = "Рваная рана"
slot3 Envenom = "Отравление"
slot4 Mutilate = "Расправа"
slot5 Deathmark = "Знак смерти"
slot6 Crimson_Vial = "Алый фиал"
resource1 PlayerHP
resource2 TargetHP
resource3 Energy
resource4 Combo_Points
# --- Защита: только при включённой кнопке «Хил / защита» ---
use Crimson_Vial when # Алый фиал
defensives == 1 and PlayerHP <= 40 # здоровье 40% и ниже
# --- Кулдаун: только при включённой кнопке Burst ---
use Deathmark when # Знак смерти
cd == 1 and Garrote_DoT.up and Rupture_DoT.up and Envenom_Buff.up # Burst вкл, кровотечения и «Отравление» висят
# --- Кровотечения ---
use Garrote when # Гаррота
Garrote_DoT.down # дота нет
or
Garrote_DoT.up and Garrote_DoT.duration <= 30 # окно пандемии: осталось 30% и меньше
use Rupture when # Рваная рана
Combo_Points >= 70 and Rupture_DoT.down # 5+ комбо, дота нет
or
Combo_Points >= 70 and Rupture_DoT.up and Rupture_DoT.duration <= 30 # 5+ комбо, окно пандемии
# --- Трата: 5+ комбо, с накоплением энергии ---
use Envenom when # Отравление
Combo_Points >= 70 and Envenom_Buff.down # бафа нет
or
Combo_Points >= 70 and Envenom_Buff.up and Envenom_Buff.duration <= 20 # баф кончается
or
Combo_Points >= 70 and Energy >= 70 # не переполнить энергию
or
Combo_Points >= 70 and Deathmark_DoT.up # на цели Знак смерти
# --- Генератор: до 5 комбо ---
use Mutilate when # Расправа
Combo_Points < 70 # до 5 комбо
{
"format": "keyrota-rotation",
"version": 1,
"title": "Ликвидация: пример v1",
"specID": 259,
"ignoreMainIcon": true,
"enemies": {"range": 8, "combatOnly": true},
"notes": [
"Пример из документации KeyRota: два кровотечения, генератор, трата с накоплением энергии,",
"защита при низком здоровье и Знак смерти по кнопке Burst.",
"Комбо-очки в процентах от 7: 5 очков = 71%, порог 70 = 5+."
],
"resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
"auras": [
{"n": 1, "alias": "Garrote_DoT", "label": "Гаррота на цели [703]", "spell": 703},
{"n": 2, "alias": "Rupture_DoT", "label": "Рваная рана на цели [1943]", "spell": 1943},
{"n": 3, "alias": "Envenom_Buff", "label": "Отравление [32645]", "spell": 32645},
{"n": 4, "alias": "Deathmark_DoT", "label": "Знак смерти на цели [360194]", "spell": 360194}
],
"slots": [
{"n": 1, "alias": "Garrote", "label": "Гаррота", "spell": 703, "show": "target"},
{"n": 2, "alias": "Rupture", "label": "Рваная рана", "spell": 1943, "show": "target"},
{"n": 3, "alias": "Envenom", "label": "Отравление", "spell": 32645, "show": "target"},
{"n": 4, "alias": "Mutilate", "label": "Расправа", "spell": 1329, "show": "target"},
{"n": 5, "alias": "Deathmark", "label": "Знак смерти", "spell": 360194, "show": "target"},
{"n": 6, "alias": "Crimson_Vial", "label": "Алый фиал", "spell": 185311, "show": "combat"}
],
"rules": [
{
"use": "Crimson_Vial",
"name": "Алый фиал",
"note": ["--- Защита: только при включённой кнопке «Хил / защита» ---"],
"when": [{"all": ["defensives == 1", "PlayerHP <= 40"], "comment": "здоровье 40% и ниже"}]
},
{
"use": "Deathmark",
"name": "Знак смерти",
"note": ["--- Кулдаун: только при включённой кнопке Burst ---"],
"when": [
{
"all": ["cd == 1", "Garrote_DoT.up", "Rupture_DoT.up", "Envenom_Buff.up"],
"comment": "Burst вкл, кровотечения и «Отравление» висят"
}
]
},
{
"use": "Garrote",
"name": "Гаррота",
"note": ["--- Кровотечения ---"],
"when": [
{"all": ["Garrote_DoT.down"], "comment": "дота нет"},
{
"all": ["Garrote_DoT.up", "Garrote_DoT.duration <= 30"],
"comment": "окно пандемии: осталось 30% и меньше"
}
]
},
{
"use": "Rupture",
"name": "Рваная рана",
"when": [
{"all": ["Combo_Points >= 70", "Rupture_DoT.down"], "comment": "5+ комбо, дота нет"},
{
"all": ["Combo_Points >= 70", "Rupture_DoT.up", "Rupture_DoT.duration <= 30"],
"comment": "5+ комбо, окно пандемии"
}
]
},
{
"use": "Envenom",
"name": "Отравление",
"note": ["--- Трата: 5+ комбо, с накоплением энергии ---"],
"when": [
{"all": ["Combo_Points >= 70", "Envenom_Buff.down"], "comment": "бафа нет"},
{
"all": ["Combo_Points >= 70", "Envenom_Buff.up", "Envenom_Buff.duration <= 20"],
"comment": "баф кончается"
},
{"all": ["Combo_Points >= 70", "Energy >= 70"], "comment": "не переполнить энергию"},
{"all": ["Combo_Points >= 70", "Deathmark_DoT.up"], "comment": "на цели Знак смерти"}
]
},
{
"use": "Mutilate",
"name": "Расправа",
"note": ["--- Генератор: до 5 комбо ---"],
"when": [{"all": ["Combo_Points < 70"], "comment": "до 5 комбо"}]
}
]
}
Этот пример можно скачать: JSON, текст KRC. Откройте его кнопкой «Открыть…» на странице «Текст и JSON» или через «Новый» — «Из файла…».