Ладно, я закончу гайд, т.к не вместилось там все.
Общий синтаксис опций макросов
Все слэш команды работают по одному принципу. У вас есть команда, и есть набор параметров. Параметры зависят от команды, некоторым командам параметры не требуются. Несколько примеров:
Опции макросов позволяют вам выбрать набор параметров в зависимости от некоторых критериев. На самом высоком уровне вы устанавливаете наборы критериев/параметров, разделенных точкой с запятой. Точка с запятой рассматривается как 'else' (иначе) или 'else if' (иначе если). Критерий состоит из нуля и больше наборов условий. Каждый набор условий заключается в квадратные скобки. Иллюстрация синтаксиса:Код:/cast Кара \___/ \___/ | | | параметры | команда /petattack \________/ V | | | параметры (пустые) | команда /castsequence reset=3Dtarget Жертвенный огонь, Порча, Бич агонии, Вытягивание жизни \___________/ \___________________________________________________________________/ | | команда параметры
Команда работает слева на право. Как только она находит набор условий, который истинен, команда запускается с соответствующими параметрами. Если нет условий, то считается, что всегда истина.Код:/команда [условия] [ещё условия] параметры; [условия] параметры ...
Синтаксис условий
Каждый набор условий – это обычный список через запятые. Условия могут быть написаны в любом порядке, однако [@unit] всегда находится перед всеми условиями. Запятая – это все равно что 'и'. Условие [help, nodead, @focus] означает 'Мой фокус дружественный И не мертвый'.
Замечание: условия очень чувствительны к регистру. Например, если вы напишете [Help] вместо [help], макрос выдаст вам ошибку.
Сами условия состоят из некоторых блоков. Например, вы можете поставить 'no' перед условием, и условие станет противоположным. Заметьте, что [nohelp] не означает то же самое, что и [harm]. [harm] и [help] оба возвращают 'истину', если существует цель, на которую нужно наложить заклинание. Кроме того, существуют цели, которым нельзя помочь и нельзя навредить.
Некоторые условия имеют свой набор параметров. Например, [stance] означает 'в любой стойке' (полезное условие для классов со стойками и формами, кроме воинов, которые всегда находятся в одной из стоек). Однако вы можете обозначить определенные стойки, по которым требуется сделать проверку. Набор параметров начинается с точки с запятой, а каждый параметр отделяется слэшем '/', который означает 'или'. Общая иллюстрация одиночного условия, где всё в угловых скобках '≠' является необязательным:
Простой пример, который использует * в защитной и боевой стойке, но меняет стойку на защитную, если вы находитесь в стойкеКод:[<no>condition<:parameter</parameter</parameter<...>>>>]
берсерка.
Говоря нормальным языком, мы написали 'если мы в стойке 1 или 2, то используем *, иначе переключаемся в защитную стойку'.Код:/cast [stance:1/2] Удар щитом; Оборонительная стойка
Примечание: 'no' на всё условие и все его параметры. [nostance: 1/2] будет означать 'всё, кроме стойки 1 или 2'.
Пустые параметры и условия
Одной из причин ошибок макроса является написание пустого параметра. Часто люди ставят точку с запятой в конце макроса, что приводит к некоторым неожиданным ошибкам. Например:
Проанализируем макрос. Он заставляет вашего питомца атаковать ваш фокус, если ему можно нанеси вред, и не делать ничего в другом случае. Давайте рассмотрим схему данного макроса:Код:/petattack [@focus, harm];
Как можно увидеть, не хватает набора опций и параметров. Запомните, что пустой набор опций, будет считаться всегда 'истиной', поэтому если первое условие не пройдет проверку, то пустой параметр будет задействован.Код:/petattack [@focus, harm] ; \________/ \____________/ V V V | | | | | команда опции | | параметры (пусто) | | | опции (пусто) | параметры (empty)
Пустые условия
Иногда вам потребуется произнести заклинание на определенную цель при некоторых условиях, но чтобы эта магия работала как обычно, если эти условия не выполняются. Примером такого случая служит следующий макрос. Он произнесет Вспышку света на юнит под вашей мышкой. Если никого под курсором не оказалось или цель враждебная, макрос просто произнесет Вспышку света на вас, если включена опция каста на себя.
[target=] или [@] против параметров юнитаКод:/cast [@mouseover, help] [ ] Вспышка света
Некоторым команды используют юнитов к качестве параметров. Например, /target party1 выберет целью первого члена вашей группы. /target [@party1] имеет тот же эффект. Однако в большинстве случаев нам не разрешено устанавливать условия для одного юнита, а действовать уже на другого. Следующий макрос не будет работать, как было задумано:
WoW проигнорирует party1, потому что до этого вы задали юнит с помощью опции @.Код:/target [@focus, dead] party1
Условия
Теперь я вас познакомлю со списком условий и тем, что они значат. Ниже разберу каждый из них подробнее.
Полный список условий
Многие из этих условий могут быть проверены на 'ложь' вместо 'истины'. Например, [nocombat] – это действующее условие, при котором что–то будет происходить только тогда, когда вы не в бою.
Полный список условий:
actionbar:1/…/6 или bar:1/…/6 — определенная панель заклинаний выбрана.
bonusbar:5 — Активна панель управления транспортным средством или другим игроком.
button:1/…/5/<виртуальный клик> или btn:1/…/5/<виртуальный клик> — макрос активирован указанной кнопкой мыши.
channeling:<spell name> — поддерживание указанного заклинания.
combat — в режиме боя.
dead — цель мертва.
equipped:<item type> или worn:<item type> — тип предмета одет (:<item type> может быть ячейкой инвентаря, типом предмета, подтипом предмета).
exists — цель существует.
flyable — в зоне разрешено летать
flying — на маунте/в летающей форме И в воздухе.
group: party/raid — вы находитесь в указанном типе группы.
harm — можно наложить вредное заклинание на цель.
help — можно наложить полезное заклинание на цель.
indoors — в помещении.
modifier:shift/ctrl/alt или mod:shift/ctrl/alt — зажав указанную кнопку.
mounted — на средстве передвижения.
outdoors — на открытом воздухе.
party — цель в вашей группе.
pet:<имя пета или тип> — указанный питомец активен.
raid — цель в вашей группе или рейде.
spec:1/2 — текущий активный спек.
stance:0/1/2/…/n or form:0/…/n — в стойке.
stealth — невидимый.
swimming — плавающий.
unithasvehicleui — цель макроса имеет интерфейс транспортного средства.
vehicleui — ваш персонаж имеет интерфейс транспортного средства.[свернуть]
help и harm
Условие [help] принимает значение 'истина', когда юнит может получить полезный эффект, например исцеляющее заклинание. Условие [harm] принимает значение 'истина', когда цель можно поразить заклинанием с отрицательным эффектом (например, нанести ей урон).
exists
Проверяет существует ли указанный юнит. Другими словами, если у вас нет цели, [exists] возвратит 'ложь'. Если у вас есть фокус, то [@focus, exists] будет 'истина'. В некоторых случаях [exists] необязателен. [help], [harm], [dead], [party], и [raid] подразумевают [exists], если они истинны.
dead
Если у вас есть цель и она мертва, то возвращается 'истина'.
stance:0/1/2/…/n или form:0/1/2/…/n
Стойка – это общий термин, который используется для воинов, друидов, рог, пристов и шаманов. Стойки применимы только в том случае, когда определенная способность может быть использована только в одной из стоек/форм. Поэтому ауры паладина и власти ДК, а также аспекты охотников не рассматриваются, как стойки.
Самая простая форма [stance] означает, что вы в любой из стоек. [stance:1/2/3/…/n], где n – число всех ваших стоек, определяет одну из стоек. [stance:0] эквивалентно [nostance]. Форма – это другое название стойки. Поэтому условие [form:1] будет работать точно также, как и [stance:1].
Стойки обозначенных классов:
Воин: 1 — Боевая стойка, 2 — Оборонительная стойка, 3 — Стойка берсерка.
Друид: 1 — Облик медведя, 2 — Водный облик, 3 — Облик кошки, 4 — Походный облик, 5 — Облик лунного совуха или Перевоплощение: Древо Жизни, 6 — Облик птицы.
Жрец: 1 — Облик Тьмы, 2 — Дух воздаяния.
Разбойник: 1 — Незаметность, 3 — Танец теней.
Шаман: 1 — Призрачный волк
Чернокнижник: 2 — 59672.
Примечание: если не хватает какой–то формы, то все нижние формы поднимутся вверх по номерам. Например, если у приста есть только Дух воздаяния, то это будет стойка 1.
Пример:
В форме медведя и кошки, макрос произнесет Волшебный огонь (облик зверя). В форме кастера — Волшебный огонь. В любой другой форме, используя этот макрос, вы выйдите из формы.Код:/cancelform [noform:1/3] /cast [form:1/3] Волшебный огонь (облик зверя)(); [noform] Волшебный огонь
stealth
Работает точно также как [stance:n] и может быть использовано любым классом, который имеет невидимость.
modifier:shift/ctrl/alt
Кнопки модификаторы – это легкий способ сохранить место на вашей панели заклинаний. Макрос может выполнять несколько функций в зависимости от того, какая клавиша зажата:
Данный макрос произнесет полезное заклинание, если ваша цель дружественная или на цель вашей цели. Когда вы зажимаете кнопку, он произнесет Быстрое исцеление. В другом случае — Великое исцеление.Код:/cast [modifier, help] [modifier, @targettarget, help] Быстрое исцеление; [help] [@targettarget] Великое исцеление
channeling:<spell name>
Обычно, если вы поддерживаете заклинание и начинаете кастовать другое, то первое отменяется. Эта опция позволит вам избавиться от данного негативного эффекта.
actionbar:1/…/6
Стандартный интерфейс предоставляет нам несколько страниц панелей заклинаний. Эти страницы существуют только для основной панели, которая находится слева внизу. С помощью данной опции вы сможете переключаться между страницами. Например:
Макрос переключит страницы 1 и 2. Если он включит страницу 1, то произнесется Дух ястреба, а если вторую – то Дух лисицы.Код:swapactionbar 1 2 /cast [actionbar:1] Дух ястреба; Дух лисицы
pet:<имя пета или тип>
Каждый класс с петами найдёт эту опцию полезной. Она позволяет выбрать вам действие в зависимости от того, какой питомец сейчас активен. [pet] сам по себе означает любого пета. Например, маг может выбирать между заклинаниями Холодом его пета или Кольцом льда:
Чтобы узнать тип или имя пета, вы можете написать следующую команду после того, как вызвали своего питомца:Код:/cast [pet] Холод; Кольцо льда
combatКод:/script print(UnitCreatureFamily("pet"))
'Истина', если вы в режиме боя.
mounted, swimming, flying, indoors and outdoors
'Истина', если вы на маунте, летите, в помещении, на открытом воздухе.
flyable
'Истина', когда в зоне разрешено летать.
party и raid
'Истина', если цель в вашей группе или рейде, соответственно.
group: party/raid
Зависит от того, в каком типе группы вы находитесь.
Способности с переключением
Команда /cast включает и сразу же выключает некоторые из заклинаний. Примером таких заклинаний могут служить Незаметность, Выстрел, Массовое рассеивание (зеленый круг при касте). Если вы хотите использовать макрос и чтобы он не выключал сразу эти способности, поставьте перед названием заклинания знак восклицания.
Использование фокусаКод:/cast !Незаметность /cast !Массовое рассеивание /cast !Выстрел
Фокус – это ID юнита, также как и target, player, or raidpet1target. Он позволяет в любой момент обратится к юниту, которого вы назначили. Самое простое использование фокуса – это Назначение клавиш. Существует две горячие клавиши связанные с фокусом – это Запомнить цель и Восстановить цель. Запомнить цель назначит фокусом того, кто в текущий момент является вашей целью. После того, как вы назначили фокус, вы можете использовать его как ID юнита в других командах. Восстановить цель выберет в качестве вашей цели запомненный фокус.
Самая распространенная функция фокуса – это назначение цели контроля (овца, жаба, и т.д.). Маг может выбрать кого овцевать и запомнить эту цель. В любой момент когда потребуется обновить жабу, магу всего лишь нужно будет нажать кнопку макроса:
В дополнении к горячим клавишам, существую слэш команды /focus and /clearfocus. Без параметров, /focus назначит вашу цель в качестве фокуса, а /clearfocus очистит ваш фокус. Также вы можете использовать ID юнитов или имена как параметры /focus:Код:/cast [@focus] Превращение
Пользовательские иконкиКод:/focus party3target
Если вы хотите использовать свои личные иконки для макросов, вы можете их поместить в папку World of Warcraft\Interface\Icons folder (создайте папку, если её нет). Иконки должны быть в формате BLP или же 24–bit/32–bit alpha несжатые TGA–файлы. Они должны быть квадратными, и разрешение должно быть степенью двойки (до 512 пикселей), например 32х32, 64х64.