1.5. Условные переходы
Теперь рассмотрим полный список условий, и что они означают. Каждое из условий в свою очередь будет рассмотрено более подробно далее в руководстве.
1.5.1. Полный список условий
Вот полный список условий доступных в системе макросов. Патч 2.0 поставил цель убрать из игры все старые «умные макросы», которые позволяли людям играть спамя одну кнопку. Но некоторые из задач, решаемых за счет макросов получили статус ОК и благословение Blizzard в качестве опций для макросов.
Если вы не находите в списке какое-либо условие, значит, не существует способов проверять его и выполнять нужные действия в бою. Это не обсуждается, но ситуация может изменится в будущем. Сокращенная запись указана в скобках. help - Может накладывать дружественные заклинания на цель
harm - Может накладывать враждебные заклинания на цель
exists - Цель существует
dead - Цель мертва
stance (form) - Находиться в стойке (форме)
stealth – Скрыт
modifier (mod) - Удерживается заданная кнопка
button (btn) - Макрос активирован с заданной кнопкой мыши
equipped (worn) - Одет нужный тип предмета (это может быть ячейка инвентаря, тип или подтип предмета)
channeling - Заданное закливание передается (чэннелинг)
actionbar (bar) - Выбрана заданная страница панели действий
bonusbar - Заданная дополнительная панель активна
pet – Указанный питомец доступен
combat – В бою
mounted - Верхом
swimming – В воде
flying – Верхом на летающем маунте
flyable – В зоне, где разрешены летающие маунты
indoors – В помещении
outdoors – Вне помещения
party – Цель является членом вашей партии
raid – Цель является членом вашей партии или рейда
group – Вы входите в указанную группу
help и harm
Эти две опции мы уже рассмотрели довольно подробно. Мне нечего добавить больше, но ради полноты этот раздел останется здесь.
exists
Определяет существует ли заданная цель. Другими словами, если у вас нету цели, [exists] вернет ложь. Если у вас задан фокус, [target=focus, exists] вернет истину. Заметьте, что в некоторых случаях можно обойтись без [exists]. [help], [harm], [dead], [party], и [raid] все включают [exists] если они истинны.
dead
Если у вас есть цель, и она мертва, эта опция вернет истину.
stance:0/1/2/…/n (form)
Стойка - это термин широко используемый воинами, друидам, рогами (стелз), пристами (шадоуформа) и шаманами (призрачный волк). Стойки применяются только в тех ситуациях, когда определенные умения могут быть использованы в каких-либо формах. Именно по этому, ауры паладином (хоть они и находятся на панели форм) и аспекты охотников НЕ ЯВЛЯЮТСЯ стойками.
В простейшем случае, [stance], как упоминалось ранее, означает что вы находитесь в любой из стоек/форм. Это эквивалент [stance:1/2/3/.../n] где n это номер стойки. [stance:0] здесь то же что и [nostance], и возможно использовать условия вроде [stance:0/3], чтобы проверить находитесь ли вы в стойке 3 или вообще без стоек.
Стойки сами по себе имеют такие же порядковые номера, как их положение на панели стоек/форм. К примеру, формы друида начиная с Медведя, Аква-формы, Кота и формы для путешествий будет иметь номера стоек с 1 по 4. Чтобы вам было легче со всем этим, вот простая таблица с номерами:
Warrior Druid Priest Rogue Shaman
Стойка 1 Battle Bear Shadowform Stealth Ghostwolf
Стойка 2 Defensive Aquatic
Стойка 3 Berserker Cat
Стойка 4 Travel
Стойка 5 MK/ToL
Стойка 6 Flight
Примечание: если у друида отсутствует нужная форма, все более высокие числа сдвигаются в таблице вверх.
Примеры:
/cast [stance:1] Overpower; Battle Stance
Этот макрос – автоматизация Overpower в два щелчка мышкой. Если вы в неправильной стойке, первый клик переведет вас в нее. Когда вы перейдете в Battle Stance, использования макроса выполнит Overpower.
/cancelform [noform:0/1/3]
/cast [form:1/3] Faerie Fire (Feral)(); Faerie Fire
В формах медведя или кота, этот макрос использует заклинание Faerie Fire (Feral), в форме для заклинаний – просто Faerie Fire. Во всех остальных формах, макрос переведет вас в заклинательную форму и наложит Faerie Fire.
stealth
Как может показаться рогам среди читателей, что поскольку у рог нет других стоек, эта опция работает идентично к [stance], [stealth] также применимо к расовому умению ночных эльфов Shadowmeld, Invisibility у магов и так далее.
modifier:shift/ctrl/alt (mod)
Клавиши-модификаторы хороший способ сберечь место на панелях действий, а также путь к принятию определенных решений. Скажем вы хотите включить в макрос чтобы при обычном использовании он выполнял одно заклинание, а при зажатой кнопке-модификаторе – другое:
/cast [modifier, help] [modifier, target=targettarget, help] Flash Heal; [help] [target=targettarget] Greater Heal
Этот макрос наложит дружественное заклинание на вашу цель, если это друг, а в противном случае – на цель вашей цели. Если же вы будете удерживать любую из кнопок-модификаторов, он выполнит Flash Heal, иначе - Greater Heal.
Конечно, кнопку-модификатор можно задать конкретно, например [modifier:shift/ctrl] означает «shift или control». Если хотите указать, что необходимы 2 модификатора одновременно: [modifier:shift, modifier:ctrl].
Будьте осторожны с установкой кнопок в ваших макросах. Если вы свяжите кнопку А с макросом, имеющим в себе, к примеру, модификатор [modifier:shift], а потом окажется, что существует клавиатурная комбинация shift-A, связанная с чем-либо еще - макрос не выполнится, так как клавиатурные комбинации имеют больший приоритет.
Переменные modifier
В то время как клавиатурными модификаторами могут быть только shift, ctrl или alt, существует также набор системных переменных, которые также можно использовать в качестве модификаторов условий. Скажем, переменная SELFCAST означает «если включен модификатор на автоматическое использование заклинаний на себя». По умолчанию, это alt (удерживание клавиши alt, во время использования заклинаний приведет к попытке наложить их на себя), хотя некоторые из аддонов дают возможность изменить это. Если сделать макрос вида:
/cast [modifier:SELFCAST, target=player] [target=mouseover] [ ] Greater Heal
Он будет работать как нужно, независимо от клавиши, установленной в качестве «использование-на-себя». Некоторые другие из переменных и их условия по умолчанию (с заметно меньшими возможностями применения) такие:
AUTOLOOTTOGGLE (shift) – авто-сбор предметов
STICKYCAMERA (ctrl) – статичная камера
SPLITSTACK (shift) – разделение стопок
PICKUPACTION (shift) – действие для подбора предметов
COMPAREITEMS (shift) – сравнение предметов
OPENALLBAGS (shift) – открытие всех сумок
QUESTWATCHTOGGLE (shift) – слежение за квестами
button:1/2/…/5/<virtual click> (btn)
Похожим на условие [modifier]образом, опция [button] позволяет вашему макросу отвечать напрямую, в зависимости от того какая кнопка мыши использована для активирования макроса. Номера кнопок с 1 по 5 соответствуют левой, правой или средней кнопкам, и кнопкам 4 и 5 (если такие есть на вашей мышке). Если ваш макрос активируется по нажатию клавиатурной комбинации, условие [button:1] будет всегда истинно.
#show Swift Green Mechanostrider
/userandom [nobutton:2, flyable, nomounted] Ebon Gryphon; [nomounted] Black Battlestrider, Swift Green Mechanostrider
/dismount [noflying] [button:2]
Поведение макроса когда вы не верхом: левый щелчок выберет Ebon Gryphon если это возможно (проверка flyable), в противном случае макрос выберет в качестве маунта либо Black Battlestrider, либо Swift Green Mechanostrider. Щелчок правой кнопкой по макросу всегда приведет к выбору одного из механических цыплят.
Поведение максроса, если вы верхом: левый щелчок приведет к спешиванию, если мы только не в полете. Правый щелчок – всегда приводит к спешиванию.
«Виртуальный щелчок» обычно можно игнорировать, но если вы используете аддон для модификации панелей действий, он может быть и полезным. Панели действий, реагирующие на различные состояния, преобразуют щелчки в виртуальные нажатия, чтобы определить какое из действий выполнить. Так как эти виртуальные нажатия зависят от конкретных аддонов, я не стану погружаться в дальнейшие объяснения.
equipped:<тип предмета> (worn)
[equipped] позволяет определять надет ли заданный тип предмета. Типом предмета может быть номер ячейки инвентаря, и собственно, тип или подтип предмета. За подробностями к списку типов обращайтесь на http://www.wowwiki.com/ItemType и http://www.wowwiki.c...entorySlotName. Вот пример макроса, который я использую для выбора Shield Bash или Pummel в зависимости, от того что на мне одето:
#show [equipped:Shields] Shield Bash; Pummel
/cast [equipped:Shields,stance:1/2] Shield Bash; [equipped:Shields] Defensive Stance; [stance:3] Pummel;Berserker Stance
Строка #show используется для отображения иконки Shield Bash либо Pummel. Без нее, будет показано заклинание стойки, когда это возможно. Вот псевдо-код, как расшифровка того, что делает вторая строка макроса:
Если щит одет и я либо в Battle или Defensive стойке, тогда
/cast Shield Bash
в противном случае, если щит одет
/cast Defensive Stance
в противном случае, если я в Berserker стойке, тогда
/cast Pummel
иначе
/cast Berserker Stance
Вот другой макрос, который придает Overpower мощности:
/equip [noequipped:Two-Handed Axes] Crystalforged War Axe
/cast [nostance:1] Battle Stance; [equipped:Two-Handed Axes] Overpower
channeling:<имя заклинания>
Обычно, если вы вливаете заклинание (т.е. выполняете чэннелинг) и начинаете накладывать другое, оно прервет процесс вливания. Эта опция позволяет избежать таких случаев, имея кроме того еще пару применений. К примеру, мы хотели бы прервать в таких случаях заданное заклинание, но не прерывать другие. [channeling] без параметров отвечает любому заклинанию, но можно также и использовать произвольный список имен заклинаний для проверки.
Примечание: вливание (чэннелинг) это НЕ ТО ЖЕ САМОЕ что обычно чтение заклинаний. Использование [channeling] применимо только к заклинаниям типа Arcane Missiles, Drain Life, Mind Flay и так далее, когда после начала чтения, заклинание проявляет своей эффект с течением времени.
actionbar:1/…/6 (bar)
Интерфейс по умолчанию предоставляет некоторое число страниц для панели действий. Эти страница применимы только к нежней левой панели действия, видимой в интерфейсе по умолчанию. К счастью, можно наделать макросов, которые соответствуют разным страницам панели действий, и разместить их на других панелях. Один из примером, позволяет охотникам эмулировать стойки с помощью аспектов:
/swapactionbar 1 2
/cast [actionbar:1] Aspect of the Hawk; Aspect of the Monkey
Этот макрос переключается между панелями действий 1 и 2. Когда он переключает панель на номер 1, он использует Aspect of the Hawk, когда на номер 2 – использует Aspect of the Monkey.
bonusbar:1/…/5
Любой из классов, чьи панели действий основаны на определенных условиях (стойки, режим скрытности, владение и так далее) используют дополнительную, «бонусную панель». Так задается и диапазон ячеек действий, которые заменяют страницу 1 основной панели действий. Например, когда прист контролирует ум какой либо цели, их панель действий использует «бонусную» панель №5. Значит, можно сделать следующий макрос переключений:
/cast [nobonusbar:5] Mind Control
/cancelaura Mind Control
Для детального описания по классам и их бонусным панелям, читайте http://www.wowwiki.c...BonusBarOffset.
pet:<имя или тип питомца>
Все классы с питомцами должны оценить полезность этой опции. Она позволяет выбирать нужное действие в зависимости от активного питомца. Можно указывать имя питомца или его тип (Voidwalker, Boar, Imp, Wolf и т.д.). Само по себе [pet] означает любого из питомцев. Вот пример макроса, позволяющий магам выбирать между заклинанием Freeze у элементаля и своим собственным заклинанием Frost Nova:
/cast [pet] Freeze; Frost Nova
combat
Истинно, если вы в бою.
mounted, swimming, flying, indoors & outdoors
Само собой понятные опции (верхом, плывет, летит, в помещении и вне помещения). Они применимы только к вам, игроку.
flyable
Как было коротко сказано выше, [flyable] определяет, находитесь ли вы с Outland, где разрешены летающие маунты.
party & raid
Возвращает истину, если цель в вашей партии или рейде.
group:party/raid
Эта опция позволяет определять, в каком типе группы вы состоите. [group] эквивалентно [group:party]. [group:raid] включает в себя [group:party]. Это может быть полезно для классов с баффами:
/cast [group, nomodifier] Arcane Brilliance; [help] [target=player] Arcane Intellect
Если вы в группе, в общем случае макрос наложит Arcane Brilliance. Если вы удерживаете кнопку-модификатор или вы вне партии, макрос прочтет Arcane Intellect на дружественную цель или на вас самих.