Как сделать макрос на линк профы вов

Обновлено: 05.07.2024

Полное руководство по макросам для WoW от Cogwheel. Часть 1

15 августа, 2010 Автор: loving_evil

Недавно, Blizzard предоставило собственное официальное руководство по созданию макросов. Однако, хотя руководство от разработчиков World of Warcraft и может показаться кому-то более доступным в изложении, оно далеко незаконченное. Руководство от Cogwheel на данный момент самое полное и рассказывает о всех аспектах написания макросов. Часть 1 знакомит с основами макро-писания.

  • /say (/s)
  • /whisper (/w, /talk, /t)
  • /emote (/e, /em, /me)
  • /dance
  • И для вас ПвП-игроков, я не могу забыть о /spit

Примечение: Заранее хочу заметить, что макросы всегда выполняются полностью. Это значит, что если вы нажали кнопку, макрос исполняет каждую команду от начала и до конца, перед тем как вернуть контроль игре. Это особенность имеет два важных момента. Во-первых, если вы напишите макрос, требующий долгого исполнения (к примеру, /run for i=1, 100000000 do end), игра повиснет на все время, пока исполняется макрос.

Для начала откройте окно макросов. Вы можете сделать это, открыв основное меню и выбрав пункт Macros, или же набрав команду /macro (/m) в окне чата. В верхней части окна, вы видите 2 закладки: General Macros (Общие макросы) и Ваше_имя Specific Macros (Специальные макросы для этого персонажа). Общие макросы хранятся отдельно для каждого аккаунта и доступны всем вашим персонажам. Специальные макросы, исходя из их названия, доступны только тому персонажу, в чьем профиле они созданы. Сразу же под закладками находиться таблица с 18 ячейками, где отображаются макросы. Ниже, панель, отображающая текущий выбранный макрос с кнопкой Change Name/Icon (Сменить Имя/Иконку). Еще ниже – поле для редактирования, где вы собственно и вводите макрос. И в самом конце, можно увидеть кнопки, которые, уверен не требуют разъяснения.

Чтобы создать макрос, нажмите кнопку New внизу окна. Это приведет к появлению другого меньшего окошка, где можно выбрать иконку для нового макроса и ввести его имя. Если выбрать иконку со знаком вопроса (?), WoW сам автоматически подберет иконку, соответственно используемым умениям или предметам в этом макросе. Когда вы выбрали иконку и имя для нового макроса, нажимайте кнопку Okay.

Вы наверное заметили, что иконка макроса которую вы выбрали, добавилась в таблицу из 18 ячеек, о которой упоминалось раньше (еще на иконке отображается ее имя — столько символов, сколько помещается). Созданный новый макрос будет автоматически выбран, так что самое время егонзаписать. Щелкните на поле редактирования и начинайте вводить.

Примечание: Макрос не может быть длиннее 255 символов. Ходят слухи, это ограничение существует потому, что когда-нибудь макросы будут храниться на сервере. Пока этого не случилось, читайте Часть 3, чтобы узнать, как хранить макросы на нескольких компьютерах. Также существуют аддоны, расширяющие возможности хранения макросов используя безопасные шаблоны.

Когда закончили вводить ваш макрос, просто перетащите иконку из таблицы и поместите на вашу панель действий. Макрос автоматически сохраняется в момент использования или когда закрывается окно макросов. Щелкните кнопкой, и вуа-ля, готов ваш макрос!

Во время естественного игрового процесса, вы вряд ли вводите множество консольных команд, настолько полезных, чтобы написать из них макрос. Конечно, иногда макросы для эмоций могут сделать ролевой отыгрыш более интересным, но все же… Должно же быть нечто больше, на что годятся макросы…

Так и есть. Познакомьтесь с командой /cast – наиболее часто используемой командой в макросах. Команда /cast позволяет выполнять заклинания по их именам из вашей книги заклинаний (или из книги заклинаний вашего питомца). Простейший пример:

Этот макроc прочитает на текущую цель заклинание Shadow Word: Pain наивысшего ранга. Макрос поведет себя также, как если бы вы перетащили на это же место заклинание SW:P из вашей книги заклинаний. Панель действий распознает код заклинания и покажет время кулдауна и диапазон действия на его иконке. Более того, если вы выбрали в качестве иконки знак вопроса, о чем упоминалось ранее, панель действий даже покажет иконку SW:P.

Замечание: так как макрос исполняется весь сразу, команда /p будет выполнена во время начала чтения заклинания, не заботясь о том выбрана ли корректная цель или же заклинание Polymorph на кулдауна.

Как упоминалось выше, команда /cast ведет себя также, как если бы вы перетащили нужное заклинание на панель действий. Это значит, что переключаемые умения будут включаться и выключать каждый раз при исполнении макроса. Если вы хотите, чтобы макрос всегда включал заклинание, без переключений, нужно добавить знак восклицания (!) перед именем заклинания. Вот пример макроса, который будет пытаться активировать Auto Shot независимо от того стреляете вы уже или нет.

Используя эту возможность и команду /castsequence (мы еще расскажем о ней подробнее), можно написать макрос для охотников:

Команда /cast весьма требовательна к имени заклинания. Чтобы удачно выполнить заклинание, необходимо правильно написать его имя, правильно использовать разделители, пробелы и так далее. Лучший способ гарантированно ввести имя заклинания это открыть книгу заклинаний и вовремя написания макроса поместить курсор в место где нужно вставить заклинание, и зажав shift кликнуть на заклинание в книге. Заклинание и его ранг будут правильно вставлены, как в следующем примере:

Можно не рискуя удалить (Rank 5) из макроса и тогда он автоматически выберет наивысший ранг заклинания – конечно, если вы так пожелаете; но существует достаточно ситуаций, когда выигрышно использовать определенный ранг заклинания (например, как особое координирование заклинания Banish у варлока). Но будьте осторожны. Некоторые заклинания со скобками в их именах требуют особой внимательности. Вот пример — если вставлять через shift-клик заклинание друида Faerie Fire, то получим следующее:

Если удалить конечное (Rank 2), внутренние механизмы запутаются с частью (Feral), подумав что это ранг заклинания и оно не сработает. Чтобы все работало, как нужно, необходимо изменить макрос так:

Пустые скобки обрабатываются как ранг, так как находятся в конце записи. И потому как они пусты, интерпретатор команд выберет наивысший ранг заклинания для прочтения. Вы также можете использовать и другие заклинания со скобками, но помните о ограничении в 255 символов. К сожалении, размер макроса все еще проблема.

Просто: также как и заклинания. Команда для использования предмета (как некоторые могли догадаться) это — /use. Как и в случае с /cast, в простейшей форме она использует как параметр имя предмета, который вы хоотите использовать.

Как видно, эта форма позволяет использовать предмет в нужной ячейке какой-либо сумке. Скажем, вы храните еду для вашего питомца в первой ячейке первой сумки. Теперь вы можете написать простой макрос для кормление:

Сумки пронумерованы от 0 до 4, начиная слева (несменный рюкзак всегда имеет номер 0), ячейки нумеруются начиная с 1 слева направо, сверху вниз (так же, как вы читаете эти строки).

Чтобы избежать путаницы, скажу вам, что команды /cast и /use это одно и тоже./cast может использовать предметы, а /use может читать заклинания. Как можно было заметить, это не очень-то и полезно для простых макросов. Однако, когда вы начнете работать с опциями макросов и их последовательностями, вы будете довольны, возможностью смешивать заклинания и предметы одной командой.

В общих случаях, вы не можете использовать в макросах больше одного заклинания по единому нажатию мышки. Большинство заклинаний и некоторые предметы приводят к срабатыванию так называемого глобального кулдауна (ГК), которые не дает делать много действий за один раз. Даже если заклинание не будет выполнено, оно приведет к срабатыванию глобального кулдауна и не даст выполниться последующим командам /cast в макросе. Это не было проблемой до патча 2.0, по тому можно встретить до сих пор макросы вида:

Такие макросы больше не работают. Как только Owerpower не сработает, игра заблокирует выполнение всех последующих заклинаний, даже не смотря на то, что глобальный кулдаун не сработал.

Прицеливание еще одна часто используемая возможность макросов. Достигается она применением специальных консольных команд, меняющих вашу цель, или же при использовании опции макросов [targer=], для тех команд, которые это допускают. Когда вы используете макро-опции, вы в действительности читаете заклинание по цели напрямую, без смены текущей цели. Опции макросов мы рассмотрим очень детально в Части 3. Сейчас же вернемся к разбору команд для прицеливания.

/target выбирает цель по ближайшему совпадению, что означает — если я буду стоять около вас, и вы исполните /target Cog, а рядом ни кого с таким именем не окажется, макрос выберет целью меня. Это может быть как плюсом так и минусом в конкретных ситуациях. К несчастью, эта команда также выбирает неподходящие цели (вроде трупов). Это делает макросы с прицеливанием менее полезными, чем может показаться на первый взгляд.

Если рядом не окажется этих Blackwing Mage, макрос может выбрать целью кого-то из вашего рейда, с буквами B и L в имени. Хотя они и в безопасности от вашего проклятья, это все равно сбивает с толку. Чтобы выручить из таких ситуаций, патч 2.3 ввел команду /targetexact.

Этот макрос будет работать как и ожидается, хотя целью может оказаться что-либо несущественное за 100 ярдов от вас.

Сама по себе, команда /assist устанавливает целью цель вашей цели (путано, но надеюсь понятно). Если вы нацелены на меня, а я нацелен на Iriel, /assistпереключит вашу цель на Iriel. Можно также указать имя цели или ID для команды/assist, чтобы сменить цель на то, куда нацелен указанный в параметрах объект:

/assist CogwheelСуществует опция интерфейса, автоматически переключающая вас в режим атаки, после смены цели по /assist.

/targetlasttarget
Это команда возьмет целью вашу предыдущую цель. Если до этого у вас не было цель, ничего не произойдет.

/targetlastenemy, /targetlastfriend
Эти команды действуют похожим на команду /targetlasttarget образом, но выбирают целью последнего врага или последнюю дружественную цель.

/targetparty, /targetraid
Переключение целей по ближайшим членам рейда или партии. Как и /targetenemy, можно добавлять в параметры 1, чтобы обратить порядок переключений целей.

Как было рассказано в разделе об использовании заклинаний, можно использовать умения вашего питомца по их именам с помощью команды /cast. Однажды, Blizzard были вынуждены изменить имя умения элементаля у магов с Frost Nova на Freeze, так как невозможно было использовать ее в макросах. Каждый, у кого есть питомец, знает, что это далеко не исчерпывающий список возможностей управлять своим питомцем. К счастью, череда патчей с выходом Burning Crusade внесла целый ворох команд для управления питомцами:

/petattack
Посылает вашего питомца в бой на вашу текущую цель. Можно в параметрах указать имя цели или ее ID, и питомец станет атаковать эту цель.

/petpassive, /petdefensive, /petaggressive
Переключает режим реагирования у вашего питомца, по типу кнопок на его панели действий.

Эти команды управляют автоматическим использованием умений у вашего питомца. Первая команда всегда включает авто-использование, вторая всегда выключает, третья – переключает. Пример:

По умолчанию, WoW использует первое заклинание или предмет, которые используется в макросе, для отображения кулдауна, радиуса действия или доступности этой кнопки, а также для выбора иконки, если вы использовали знак вопроса при создании макроса. Возьмем наш макрос с многими заклинаниями, приведенный ранее:

В случае этого макроса, WoW выбирает Arcane Power для отображения данных о макросе. На самом деле, это вряд ли то, что вам нужно. Ключевой точкой этого заклинания – выполнение Pyroblast. Первые строки существуют как прелюдия, чтобы сделать Pyroblast более эффективным. Чтобы кнопка с макросом выглядела и вела себя как будто первое заклинание Pyroblast, нужно добавить в начале макроса следующую строку:

Теперь, когда вы получили основной базис знаний, я хотел бы кратко рассмотреть другие консольные команды, доступные для ваших нужд. Некоторые из них, могут показаться несколько бессмысленными на первый взгляд, но когда вы скомбинируете их с макро-опциями описанных в Части 2, можно будет делать много интересных финтов.

Заметка: Аддоны могут использовать функционал по одеванию предметов напрямую, даже во время боя. Тот же механизм доступен для команд одевания с использованием аддонов вроде AfterCast или Chronos. Если аддон сперва проверяет безопасность команды, у вас могут возникнуть проблемы; команды одевания включены в список безопасных, хотя такими и не являются.

Множество раз вы будете использовать серии заклинаний или каких-то предметов в определенном порядке практически на каждом монстре, с которыми будете вести бой. Чтобы упростить работу, в нашем распоряжении есть команда/castsequence. /castsequence принимает список заклинаний и/или предметов, разделенные запятыми. Здесь используются те же правила что и при /cast и /use. Это значит, что вы можете чередовать комбинации названий заклинаний, имен предметов, ID предметов, ячеек сумок и инвентаря. Каждый раз, выполняя макрос, он активирует текущий предмет или заклинание. Если использование было удачным, последовательность переходит к следующей позиции. Вам нужно повторно активировать макрос чтобы использовать все заклинания в последовательности. Когда макрос достигнет последней позиции в списке, он начнет выполнять последовательность сначала. Пример:

Этот макрос может использовать варлоками в качестве открывающей атаки. Заметьте, если Immolate не сработает по какой-либо причине (нет маны, вне диапазона действия, вы заглушены и так далее), последовательность останется в этой точке. Из-за этого, вы не можете использовать /castsequence для спама подобного макроса:

Перед списком заклинаний, можно также указывать условие для сброса, начинающее последовательность до того как оно достигнет конца. Общий синтаксис для условий сброса следующий:

Если использовать знак вопроса как иконку макроса, WoW автоматически будет изменять ее соответственно текущему элементы последовательности. Если перед/castsequence вставить команды /cast или /use, они будут конфликтовать и на данный момент нет способа обратить внимание WoW именно на последовательность.

Одним из наиболее частых запросов на этом форуме – макрос использующий случайный маунт. Это очень просто, благодаря добавленных команд /castrandom и/userandom. Как и в случае /castsequence, /castrandom и /userandom использует в параметрах список заклинаний и/или предметов, разделенных запятыми и выбирает случайный элемент из списка при выполнении команды. Пример:

Есть две команды специально существующих для атаки по цели: /startattack и/stopattack, начинающий или прекращающих атаку. Команда /startattack также использует параметр в виде имени или ID для атаки заданной цели. Пример:

Если нужен макрос, который ведет себя так же, как и умение Attack (т.е. переключающий атаку, а не только начинающий или прекращающий ее), можно делать это так:

Имеются две команды, позволяющие переключать страницы панели действий:/changeactionbar и /swapactionbar. /changeactionbar использует параметром одно число и всегда переключает панель на эту страницу. Одним из возможных применений – эмуляция позиций-стансов (stances) у хантеров, за счет пары макросов вида:

/swapactionbar использует параметрами два номера страниц и переключает между ними во времякаждого исполнения. Если у вас активна другая страница панели действий, команда сменит ее на первую из двух.

Команда /cancelaura позволяет удалять ненужные баффы. Например, так может снимать бафф в макросе с помощью такой команды:

За исключением воинов, любой класс со стансами (stances) (друиды, присты с Shadowform, и прочие) могут использовать команду /cancelform чтобы выходить из текущей формы. Значит, можно делать нечто в духе:

/stopcasting, как можно догадаться, используется для прерывания заклинания во время его использования. Это полезно для создания макроса отмены, прерывающего любые действия выполняемые вами в данный момент, в угоду чего-то более важного. Мой варлок, к примеру, пользуется таким макросом:

Команда /focus разрешает сохранять цель, чтобы вернуться к ней позже. К примеру, скажем ваш лидер рейда отдает указание превратить цель в овцу. Первым делом, выберете монстра, и введите /focus. Теперь воспользуйтесь макросом, чтобы прочесть заклинание на фокусную цель.

Команда /click берет имя кнопки и действует так же, как если вы нажали эту кнопку мышкой. По умолчанию, она ведет себя как левый щелчок, но можно указывать команде другие кнопки. Есть пару способов определить имя интересующего вас элемента:

  • Вы можете воспользоваться аддоном. Некоторые аддоны, включая MoveAnything, показывают имя элемента под курсором мыши.
  • Можно просмотреть программный код UI для нужного элемента. Это подходит людям, разбирающимся в программировании аддонов.
  • Можно назначить на клавишу следующий макрос и активировать его во время наведения курсора мышки на нужный элемент:
    /run local f = GetMouseFocus(); if f then DEFAULT_CHAT_FRAME:AddMessage(f:GetName()) end

/click можно применять во многих случаях. Вы можете связывать множественные макросы посредством симуляции щелчков мыши по другим макросам. К примеру, у вас есть весьма длинный макрос, длиннее ограничения в 255 символов. Поместите сколько влезет в первый макрос, дописав в конце следующую строку

Остальную часть кода поместите в новый макрос, который затем вставьте в MultiBarRightButton1 (это первая кнопка правой вертикальной панели действий).

Можно также делать такие вещи, которые обычно не доступны в макросах или требуют сложных скриптов на Lua. Вот пример макроса, который автоматически выкупает и подтверждает выкуп на лоте аукциона (убедитесь, что выбрали нужный лот; все случайно неверные покупки будут на вашей совести):

Вершина использования – это сложные разветвления с помощью /click, которые будут рассмотрены в Части 2.

WoW UI контролируется кодом написанным на скриптовом языке Lua. Можно воспользоваться преимуществом скриптовой системы в макросах посредством команды /run или /script (но /run позволяет сэкономить пару символов). Весь скрипт должен находиться в одной строке, хотя дозволено иметь множество команд /run в одном макросе.

Следующий макрос (его я положил в основу моего аддона CCWarn), прошепчет всем в вашем рейде просьбу сменить цель, если она совпадает с вашей. Это поможет им избежать сбивания с монстра состояния овцы, которое накладывает этот макрос.

/cast Polymorph
/run for i=1,GetNumRaidMembers()-1 do local u,t=”raid”..i,”target”if UnitIsUnit(u..t,t)then SendChatMessage(”Change targets! Trying to sheep…”,”WHISPER”,nil,UnitName(u))end end

1. Часть 2: опции для макросов
1.1. Что такое опции макроса?
1.2. Команды, допускающие опции
1.3. [target=unit]
1.4. Обзор синтаксиса
1.4.1. Общие опции синтаксиса
1.4.2. Синтаксис для условий
1.4.3. Пустые параметры
1.4.4. Пустые состояния
1.4.5. [target=] с параметрами единицы
1.5. Условные переходы
1.5.1. Полный список условий
1.5.2. help и harm
1.5.3. exists
1.5.4. dead
1.5.5. stance (form)
1.5.6. stealth
1.5.7. modifier (mod)
1.5.7.1. переменные modifier
1.5.8. button (btn)
1.5.9. equipped (worn)
1.5.10. channeling
1.5.11. actionbar (bar)
1.5.12. bonusbar
1.5.13. pet
1.5.14. combat
1.5.15. mounted, swimming, flying, indoors & outdoors
1.5.16. flyable
1.5.17. party и raid
1.5.18. group
1.6. Приложения для опций макросов
1.6.1. Использование фокуса
1.6.2. Разветвления макросов используя /click
2. Часть 3: Дополнительные сведения
2.1. Пользовательские иконки

Часть 2: опции для макросов

Что такое опции макросов?

Опции макросов это способ проконтролировать операции макросов, основываясь на различной информации. Чтобы сразу привести образец, следующий макрос прочитает заклинание Renew на дружескую цель и Shadow Word: Pain на агрессивную.

/cast [help] Renew; [harm] Shadow Word: Pain

Во время выполнения этого макроса, контролируется состояние [help]. Оно определяет, является ли ваша цель той, на которую позволительно накладывать дружеские заклинания. Если состояние [help] истинно, дальше выполняется заклинание Renew, и макрос перескакивает к следующей строке. В ином случае провал приводит к обрабатыванию следующего условия. Теперь макрос проверяет состояние [harm]. [harm] работает по принципу [help] только для атакующих заклинаний. Если условие истинно, используется Shadow Word: Pain. Если нет – больше ничего не выполняется, так как условий больше нет.

Команды, допускающие опции

/say Привет; Я нуб

Вот список всех безопасных команд доступных в WoW:

+ /equip и /equipslot также технически не безопасны, так как их возможности доступны аддонам и макро-скриптам.

[target=unit]

/use [target=player] Heavy Netherweave Bandage

Кроме установки цели для выполняемого действия, опция [target=] также задает цель для проверки условий. Это может звучать несколько непонятно, так что вот пример макроса, совмещающий концепцию двух примеров, использованных мной ранее:

/cast [help] [target=targettarget, help] [target=player] Flash Heal

Сначала он проверяет на срабатывание условия [help]. Если оно истинно, управление передается команде /cast c параметром Flash Heal. Если нет – переходит к следующему условию, [target=targettarget, help]. Здесь происходит та же проверка на дружественность цели, но в этот раз определяется, является ли цель вашей цели дружественной. Если так, выполняется /cast Flash Heal, но целью для команды /cast устанавливается цель вашей цели. Если же нужная цель так и не найдена, макрос перейдет к следующему условию, [target=player]. Так как действительных условий здесь нет, оно всегда будет истинно, что приведет к накладыванию заклинания Flash Heal на самого игрока.

Обзор синтаксиса

С пониманием как работают опции для макросов, может быть ужасная путаница, так что я воспользуюсь ранней возможностью, чтобы разъяснить их общую концепцию. Я буду использовать реальные примеры использующие действенные опции. Все опции будут раскрыты в деталях несколько позже.

Общие опции синтаксиса

Все консольные команды в принципе работают одинаково. У вас есть команда, и набор параметров для нее. Параметры зависят от команды, и некоторые команды используются без них. Вот несколько примеров:
/cast Smite
\___/ \___/
| |
| — параметр
– команда

/petattack
\________/ V
| |
| параметры (пустые)
|
команда

/castsequence reset=target Immolate, Corruption, Curse of Agony, Siphon Life
\___________/ \____________________________________________________________/
| |
command parameters

Опции для макросов позволяют выбирать набор параметров на основе нескольких критериев. На наивысшем уровне, у вас есть набор групп критериев/параметров, разделенных точками с запятыми. Критерии состоят из нулевого или больше количества наборов условий. Каждый набор условий задается внутри квадратных скобок []. Вот иллюстрация общего синтаксиса:

/команда [условия] [еще условия] параметры; [условия] параметры …

Как видно из простых примеров, описанных выше, команда выполняется слева направо. Как только найден набор условий который является истинным, выполняется команд с соответствующими параметрами. Если условий в записи нет, она всегда будет истинна. По сути, можно представить команду /cast с одним заклинанием в качестве опции макроса, в единственной записи без условий. Если команда не может найти истинных условий, она вообще не выполнится.

Синтаксис для условий

Замечание: Условия чувствительны к регистру. Если использовать [Help] вместо [help], макрос выдаст ошибку. Однако, это не относится к параметрам условий (описанных ниже). По-прежнему, обычно лучше писать прописными буквами. Записывайте заклинания и предметы точно так же, как вы видите названия в их подсказках. И в точности следуйте примерам в этом руководстве.

Вот простой пример использования умения Shield Bash в Defensive или Battle стойках, но если активна Berserker стойка – она переключается на Defensive.

/cast [stance:1/2] Shield Bash; Defensive Stance

Путаница возникает при использовании команд, не требующих параметров. Самая распространенная ошибка в написании макроса – добавлять лишнюю точку с запятой в конце, что приводит к неожиданным глюкам. Рассмотрим такой макрос:

/petattack [target=focus, harm];

Для не посвященных, выглядит будто я посылаю питомца на цель в фокусе если она враждебна, и больше ничего. Но давайте разобьем макрос на составляющие:

/petattack [target=focus, harm] ;
\________/ \__________________/ V V V
| | | | |
command options | | parameters (empty)
| |
| options (empty)
|
parameters (empty)

Пустые условия

Иногда нужна команда использующая умения при нужных условиях на определенную цель, но ведущая себя как обычно, если условия не истинны. В этом случае вы пожелаете использовать пустой набор условий, который всегда возвращает истину. Этот макрос прочитает Flash of Light на цель под курсором вашей мыши. Если цель под мышью враждебна или ее просто нет, макрос поведет себя как обычная команда /cast Flash of Light и выполнит заклинание на вашу цель, учитывая опции по авто-использованию умений на себя в настройках интерфейса.

/cast [target=mouseover, help] [ ] Flash of Light

[target=] с параметрами единицы

Некоторые команды разрешают использовать напрямую ID целей как свои параметры. Например, /target party1 использует целью первого человека в вашей партии. Команда /target [target=party1] более понятна, но ведет себя абсолютно так же. В то же время, разработчики в множестве случаев не дают использовать ID целей для проверки условий напрямую, по этому приходится использовать один или другой способ в зависимости от ситуации. К примеру, такой макрос не будет работать как надо:

/target [target=focus, dead] party1

/focus [target=focus, dead] [target=focus, noharm] target

Команда Ключевая цель Цель по умолчанию
/target target
/focus focus target
/startattack target target
/petattack pettarget target

1.5. Условные переходы

Теперь рассмотрим полный список условий, и что они означают. Каждое из условий в свою очередь будет рассмотрено более подробно далее в руководстве.

1.5.1. Полный список условий

Если вы не находите в списке какое-либо условие, значит, не существует способов проверять его и выполнять нужные действия в бою. Это не обсуждается, но ситуация может изменится в будущем. Сокращенная запись указана в скобках.

  • 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], а потом окажется, что существует клавиатурная комбинация shift-A, связанная с чем-либо еще — макрос не выполнится, так как клавиатурные комбинации имеют больший приоритет.

Переменные modifier

/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/ (btn)

Похожим на условие [modifier]образом, опция позволяет вашему макросу отвечать напрямую, в зависимости от того какая кнопка мыши использована для активирования макроса. Номера кнопок с 1 по 5 соответствуют левой, правой или средней кнопкам, и кнопкам 4 и 5 (если такие есть на вашей мышке). Если ваш макрос активируется по нажатию клавиатурной комбинации, условие будет всегда истинно.

Поведение макроса когда вы не верхом: левый щелчок выберет Ebon Gryphon если это возможно (проверка flyable), в противном случае макрос выберет в качестве маунта либо Black Battlestrider, либо Swift Green Mechanostrider. Щелчок правой кнопкой по макросу всегда приведет к выбору одного из механических цыплят.

Поведение максроса, если вы верхом: левый щелчок приведет к спешиванию, если мы только не в полете. Правый щелчок – всегда приводит к спешиванию.

equipped: (worn)

Если щит одет и я либо в 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

/cast [nobonusbar:5] Mind Control
/cancelaura Mind Control

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 на дружественную цель или на вас самих.

Самые долгие и сложные достижения в WoW на данный момент


В этом кратком руководстве мы попытаемся рассказать, как создать макросы – от очень простых и популярных до самых сложных, с примерами и пояснениями на каждом этапе, используя все разрешенные нам сокращения для того, чтобы уложится в лимит 255 символов. Во-первых, что такое макрос? Макрос — это маленькая программа, написанная на скриптовом языке, предназначенная для решения следующих (к примеру) задач:

Основы

Все создаваемые вами макросы сохраняются на сервере Blizzard и привязаны к вашей учетной записи или персонажу, что означает, что вы можете получить к ним доступ с разных компьютеров. На одной учетной записи может быть сохранено 120 макросов, плюс 18 макросов для каждого персонажа. Макросы учетной записи, как видно из названия, используются всеми вашими персонажами, в то время как макросы персонажей не видны другим персонажам в вашей учетной записи.

Боевые команды

Эти команды выполняют действия, которые в основном используются в макросах, ориентированных на бой.

  • /stopcasting – Немедленно останавливает ваше текущее заклинание или потоковое заклинание, если вы его используете.
  • /targetlasttarget – изменяет вашу цель на последнюю на которую вы целились.
  • /cast – произносит заклинание с введенным после него названия из вашей книги заклинаний. (например, /cast Fireball)

У вас также могут быть модификаторы для произнесения заклинаний, которые будут отображаться между командой /cast и названием вашего заклинания в квадратных скобках ([]). Например /cast [@focus] Kick. У вас может быть несколько модификаторов, связанных запятыми (,), которые должны быть истинными, чтобы они сработали или иметь разные группы модификаторов в разных скобках. Например
Код: /cast [@focus,exists,nodead,harm]Fireball
Использовать огненный шар на вашу цель в фокусе, если она существует, если она не мертва и является врагом, в противном случае применение произойдет на вашу текущую цель.

Модификаторы цели

Добавление модификатора target к вашему макросу изменит вашу текущую цель на указанную, если его условие истинно. @ (читается как ‘at’) можно заменить на target = в каждой команде.

  • @player – нацеливается на игрока.
  • @target – Нацеливается на текущую цель игрока.
  • @mouseover – нацеливает заклинание на цель, над которой в данный момент находится мышь.
  • @cursor – использование заклинание по области, на место в котором в данный момент находиться курсор (доступно только для заклинаний с применением на область, например Массовое рассеивание или Снежная буря).
  • @focus – Нацеливается на цель которая у вас взята в фокус.
  • @targettarget – Нацеливается на цель цели. Например, при использовании цели на босса, она будет нацелена на танка или на того, кого босс нацелен в этот момент.
  • @boss1 – нацеливается на первого босса в списке. Обычно доступно только в подземельях и рейдах. Есть еще варианты, такие как boss2, boss3 и т. Д.
  • @arena1 – Нацеливается на первого человека в списке Арены. Это модификатор только для PvP, обычно доступный только во время боев на арене. Есть еще варианты, такие как arena2, arena3 и т. Д.
  • @pet – Нацеливаетесь в питомца игрока.

Условия

  • pet – верно, если у игрока в данный момент нет питомца.
  • combat – верно, если вы в бою.
  • harm – верно, если целью для использования способности является враг.
  • help – верно, если целью для использования способности является союзник.
  • dead – верно, если цель для использования способности мертва.
  • exists – верно, если цель для использования способности существует.
  • channeling – верно, если вы в данный момент используете потоковое заклинание.
  • button:number – (или btn) используется для проверки, с помощью какой кнопки мыши вы активировали макрос. [button:1] по умолчанию, левая кнопка, [button:2] правая, [кнопка:3] средняя. Для мышей с большим количеством кнопок количество кнопок соответствует шаблону для опции.
  • talent:Row(Строка)/Column(Колонка) – верно, если у вас выбран талант Row/Column. Например, [талант: 7/2] будет верным, если у вас выбранный средний талант.
  • equipped:slot – (или надето) верно, если в слоте есть предмет. Например, [equipped:chest] будет верным, если на вас надета нагрудная броня.
  • spec:number – верно, если вы в настоящее время находитесь в специализации, заданной числом. Специализации отсортированы в алфавитном порядке и могут быть проверены в меню специализаций.
  • group – верно, если вы в данный момент находитесь в группе. Может быть перестроен в [group:party] или [group:raid].
  • indoors – верно, если вы в настоящее время находитесь в локации, которая считается закрытой или помещении.
  • outdoors – верно, если вы в настоящее время находитесь в локации, которая считается на открытом открытой, под открытым небом.
  • flyable – верно, если вы в данный момент можете летать.
  • mounted – верно, если вы в настоящее время на средстве передвижения.
  • fly – верно, если вы в данный момент летите.
  • swimming – верно, если вы в данный момент плаваете.

Модификаторы комбинаций клавиш

  • mod:shift – верно, если комбинация клавиш была нажата при нажатой клавише SHIFT.
  • mod:alt – верно, если комбинация клавиш была нажата при нажатой клавише ALT.
  • mod:ctrl – верно, если комбинация клавиш была нажата при нажатой клавише CTRL.

Общие команды

Эти команды можно использовать как в боевых, так и в небоевых ситуациях.

  • /run – (или /script) Выполнить скрипт.
  • /use – использует элемент с именем, написанным после команды. Также может использоваться с числами, что заставит его использовать предмет, установленный в слоте за который отвечает это число.

например, /use Зелье длительной силы чтоб использовать зелье или /use 14, чтобы использовать второй аксессуар
Список идентификаторов слотов

Ваш первый макрос

Самый простой макрос

Шаблон рабочего макроса

Теперь мы создадим более функциональный пример, для начала включающий в себя 4 модификатора. Такой макрос позволяет использовать несколько умений с одной кнопки на панели команд:

или без [nomod] в конце макроса, что позволит сократить длину макроса (напоминаем, что для любого макроса максимум составляет 255 символов).

(есть случаи, когда наличие [nomod] необходимо, но в большинстве случаев нет разницы, какой из вариантов использовать)

При использование макроса:

С модификаторами, которые вам труднее всего нажимать, используйте не боевые или редко используемые умения. Для меня лично не очень удобны Ctrl и Shift, там я расположил маунтов. Нажать альт для меня проще, поэтому с ним я использую часто кастуемые заклинания, а без модификаторов самое частое. То есть, создавая макрос, используйте [nomod] для самых важных умений, удобный вам модификатор для менее важных, и остальные для не боевых или очень редких заклинаний.

Многострочные макросы

Можно создавать макросы, использующие одновременно несколько умений по одному нажатию, только если не более чем одно из заклинаний имеет время каста или является мгновенным, но имеет гкд.
Например, создадим макрос, Для мага на использования Возгорания и аксессуара Жетон падшего гладиатора

Теперь при использовании данного макроса будет использоватся Возгорание с включенным тринкетом. Если ваше заклинание имеет время каста то оно должно быть на последней строчке.
Еще один простой, но очень полезный пример макроса:

Код: /target НикТанка
/assist

Данный макрос позволяет мгновенно выбрать и начать атаковать цель танка.
1я строчка выбирает в цель танка (вам придётся каждый раз вписывать имя текущего танка)
2я строчка выберет для вас текущую цель танка.

Однако всегда есть исключения, используйте этот макрос, только если вы бьёте цели без специального приоритета или меток.

Макросы с модификатором цели

Вы можете также создавать макросы с кастом заклинаний в определенную цель. Для примеров будем использовать умения паладина.

Базовый шаблон, кастует вспышку в текущую выбранную цель

модификатор [target=player] или сокращенно [@player] кастует в самого себя:

модификатор [target=focus] или [@focus] делает каст в запомненную цель:

модификатор [target=mouseover] или [@mouseover], делает каст в цель, на которую вы наводите мышкой, к примеру, по фрейму игрока в пати:

Теперь же объединим все эти макросы в один с использованием модификаторов:

ДК:
Код: /run ChatFrame1:AddMessage(format(“Avoidance with Stoneskin Gargoyle: %.2f%%”, GetDodgeChance() + GetParryChance() + 6 + 1/(0.0625 + 0.956/(floor(GetCombatRatingBonus(CR_DEFENSE_SKILL))*0.04))))
Друид:

Код: /run ChatFrame1:AddMessage(format(“Total avoidance: %.2f%%”, GetDodgeChance() + 5 + 1/(0.0625 + 0.956/(GetCombatRating(CR_DEFENSE_SKILL)/4.91850*0.04))))
Паладин:

Код: /run ChatFrame1:AddMessage(format(“Total avoidance: %.2f%%”, GetDodgeChance() + GetParryChance() + 5 + 1/(0.0625 + 0.956/(GetCombatRating(CR_DEFENSE_SKILL)/4.91850*0.04))))

Воин:
Код: /run ChatFrame1:AddMessage(format(“Total avoidance: %.2f%%”, GetDodgeChance() + GetParryChance() + 5 + 1/(0.0625 + 0.956/(GetCombatRating(CR_DEFENSE_SKILL)/4.91850*0.04))))

Макрос для помощи в поиске затерянного во времени:

Код: /tar Дирки
/tar Вирагоса
/tar Затерянный
/stopmacro [noexists] /w СвойНик %t найден!
/run RaidNotice_AddMessage(RaidBossEmoteFrame,”Вот же он! Убей его!”, ChatTypeInfo[“RAID_WARNING”])
/script PlaySoundFile(“Sound\interface\RaidWarning.wav”)

Краткое итого

Используйте в многострочном макросе не более 1го умения, которое имеет гкд или время каста и только в конце макроса

Больше примеров макросов

Mr.Bonce Сommunity

Всем привет, с вами бонс, мистер бонс!
В этом видео я расскажу вам дорогие друзья как писать писать макросы самостоятельно в нашей любимой онлайн игре Ворлд оф Варкрафт!
Дорогой зритель могу тебя уверить что материал в видео просто мааа конфетка, поэтому советую досметреть видео до конца,
обязательно поставить палец вверх и подписаться на канал. погнали.

Иногда получается так что на панели спеллов вам неудобно прожимать скилы или просто не хватает места под них,
в этом случае нам на помощь могут прийти макросы

Макросы позволяют объединять несколько умений, активируя их нажатием одной кнопки, что может экономить время.
Но данная возможность работает, только если не более чем одно из заклинаний имеет время каста или является мгновенным,
но имеет гкд (глобальный кулдаун или общее время восстановления).

Шаг 1: Игровой редактор макросов

Чтобы начать писать макросы Открываем игровое меню через ESC, или через иконку на игровом экране, тыкаем в кнопку макросы.
далее
Нажимаем Создать
все мы деле.

Шаг 2: Первый шаблон макроса.

тут уже вписываем имя макроса и выбираем знак вопроса если макрос боевой, если же это спам в чат типа набора в гильдию
выбираем любую понравившуюся иконку, это мало интересно мы тут будем сейчас серьезными вещами заниматься.

Самый простой макрос

Поскольку данный макрос не имеет никакого дополнительного функционала с умениями из книги заклинаний или тринкетов,
нет смысла использовать его, это только пример, и в дальнейшем мы будем его развивать.

Шаг 3: Многострочные макросы.

Можно создавать макросы, использующие одновременно несколько умений по одному нажатию, помним про гкд угу.

Дописываем /petattack что заставит нашего прислужника атакавать Вашу текущую цель, и в догонку добавим скил пета /cast Цапнуть

-----
Если вы орк, троль или дворф черного железа для максимального усиления нашего
бурста вы добавляете в макрос активную рассовую способность /cast Кровавое неистовство
чтобы прям совсем у вражин искры из глаз посыпались докидываем в макрос прожимной трикет с боевым усилением /use Пузырек с оживленной кровью

Еще один простой, но очень полезный пример макроса:

/assist Ник Танка или Наводчика
/cast Вспышка болезни

или любой другой мнгновенный скилл в зависимости от вашаго класса и спека
Данный макрос позволяет мгновенно выбрать и начать атаковать цель танка или наводчика.
Особенно тема полезна в пвп на арене или на рбг.

Шаг 4: Сложный макрос с модификатором.

Владислав Бывшев

Итак мы уже имеем конструкцию многострочного макроса, ваши противники уже дрожат от страха перед вашим мега бурстом, но этого мало.
чтобы добавить ужасу недругам и поочередное нажатие спеллов, заменяем команду /cast на /castsequence после нее вписываем спелы через запятую
должно получиться так:

Чтобы макрос работал корректно нам нужно немного его модифицировать, перед спеллом с которого должна начинаться ротация ставим восклицательный знак
и после /castsequence добавляем через пробел конструкцию reset=75, где число обозначает время в секундах
в итоге должно получиться слудующее

тут reset=75 будет давать команду макросу сбрасывать через 75 секунд в начало, а восклицательный знак будет давать макросу понять
что это самое начало - Апокалипсис

подобный макрос можно создать и для защиты персонажа
например бдк с тигелем в мейн слоте сердца азерот

что мы тут наблюдаем?
поочередное нажатие деф способностей в расстановке кулдаунов по возрастанию, глубина прожатия будет зависеть от ситуации
а сброс макроса будет происходить через 50 секунд, к откату антимагического пациря,
дополнительно будем использован камень здоровья лока, если хп цело то и камень останется цел,
далее новая модификация [@player](далее эту конструкцию буду проговаривать просто собака плеер без квадратных скобок),
команда которая заставит применить заклинание на себя, в нашем случае небольшой подхил от азеритовой сущности.
(распологаем каждый спел в отдельности с удобным местом для прожатия, всякое бывает, например нам будет нужна только незыблемость льда,
и чтобы не запускать остальные кулдауны мы прожмем способность отдельно)

также эту конструкцию можно использовать с заклинаниями для которых надо выбирать место положения применения
например:

что позволит положить лужу бладу или анхолику под себя
(советую вынести лужу без макроса отдельно на панель),
так же данная конструкция прекрасно подойдет дх танку с печатями, или рестор друиду, любому монаху с кругом мира.

вот еще дх дд может использовать эту же конструкцию но уже для бурста одновременно с прожимным тринкетом:

то есть дх с одной кнопки прыгнет на месте в метаморфозу и заюзает трикет,
что позволит сэкономить время без выбора позиции прыжка и отдельного прожатия тринкета.

разберем еще одну модификацию макроса:

Пленение или клетка в случае дх, в случае другого класса может быть любая другая способность для контроля, например асфиксия, паралич, удар грамовержца и тому подобные.
что делает макрос?
[@focus,exists] дает понять макросу что заклинание нужно приметь к цели которая находится в запоминании то есть в фокусе
(делается это если нажать на цель правой кнопкой затем выбрать запомнить цель, в случае пвп при помощи аддона гладиус
можно использовать двойной ПКМ по фрейму противника)
конструция [@target] в случае отсутсвия фокуса будет применять заклинание в вашу текущую цель если это возможно.

Читайте также: