|
|
Модератор форума: Singler |
Форум Полезное Макросы для WoW Гайд по Макросам World of Warcraft |
Гайд по Макросам World of Warcraft |
Прошу Закрепить.
Данная статья расскажет вам о том, как писать макросы. Макрос – это набор слэш команд. Обычные слэш команды выглядят следующим образом: Code /say (/s) /whisper (/w, /talk, /t) /reply (/r) /emote (/e, /em, /me) /dance При помощи макросов эти команды можно будет назначить на определенные кнопки, а также станет возможным использовать их одновременно. Каждая команда должна быть написана с новой строки и иметь точно такой синтаксис, как если бы вы писали её в чате. Например, макрос, который заставит вашего персонажа закричать "Танцуют все!" и пуститься в пляс, будет выглядеть так: Code /y Танцуют все! /dance Примечание: должен вас предупредить, что макросы запускают все одновременно. Это означает, что после нажатия кнопки макрос исполняет каждую команду от начала до конца, прежде чем он возвратит контроль игре. Это дает два важных эффекта. Во-первых, если вы пишите длинный макрос, который будет очень долго исполнятся (например, /run for i=1, 10000000 do end), игра заморозится до тех пор, пока макрос не выполнится. Во-вторых, наиболее важный факт – нет способа подождать в макросе без заморозки игры. Это факт становится более очевидным, когда вы используете команду /cast или что-то подобное. Создание макросов Заклинания Во время вашей игры вы врядли будете писать много слэш команд, которые могут быть полезными для макросов. Конечно, обычная команда эмоции может придать ролевой антураж вашей игре, но не более. Введите /cast – самую наиболее используемую команду в макросах. Она позволяет произнести любое заклинание из вашей книги заклинаний или заклинание вашего питомца. Самый простой пример макроса: / Code cast Shadow Word: Pain Этот макрос повесит Слово тьмы боль на вашу цель. Макрос ведет себя точно также, как если бы вы просто использовали заклинание с панели заклинаний. Игра распознает макрос как заклинание, покажет кулдаун и расстояние до цели. Вы даже можете выбрать вашему макросу такое же изображение, как и у самой магии. Зачем же использовать макрос, если можно просто поставить магию на панель? Ответ прост. Макросы позволяют комбинировать множество команд, и поэтому они столь полезны. Представьте, что вы маг и хотите объявить вашей группе, когда вы овцуете кого-либо. Для этого вставьте заклинание и сообщение через /p в макрос: Code /cast Превращение /p Овцую %t! Примечание: Макрос запускает все сразу, поэтому вы скажете свою реплику сразу после того, как начнете произносить заклинание. Это значит, что если поместить эти команды в другом порядке, эффект будет тот же. Поэтому если у вас возникает желание сказать что-то только после того, как вы фактически произнесли заклинание, то вы можете воспользоваться аддоном AfterCast, который заставит следующую слэш команду работать только после того, как вы произнесете заклинание. Например: Code /aftercast /p Нажмите на портал, чтобы призвать %t. /cast Ритуал призыва Внимание: названия заклинаний Команда /cast очень придирчива к тому, как вы пишите названия заклинаний. Для того, чтобы успешно написать макрос, вы должны полностью соблюдать орфографию, пунктуацию и интервалы. Гарантией верного написания заклинания будет следующее действие – во время написание макроса откройте вашу книгу заклинаний и shift+клик на нужную способность. Таким образом вы получите точное название заклинания в макросе, включая любые модификаторы вроде форм друида для Увечья. Использование предметов и аксессуаров Все очень просто. Команда для использования предметов - /use. Как и в случае с /cast, самая обычная форма записи использует название того, что вы хотите использовать: Code /use Зеленый механодолгоног Также есть несколько других форм этой команды. Code /use <ячейку инвентаря> Эта форма позволяет использовать предмет в определенной ячейке. Номера ячеек представлены на данном рисунке: Code /use 13 Используется ваш верхний слот для аксессуара. /use <номер сумки> <ячейка> Вы можете использовать любой предмет из ваших сумок. Представьте, что еда для вашего питомца всегда лежит в первой ячейке вашего рюкзака. Вы можете легко написать макрос, чтобы покормить пета: Code /cast Кормление питомца /use 0 1 Сумки пронумерованы от 0 до 4 с права на лево (0 – всегда рюкзак), а ячейки – от 1 начиная слева на право, сверху вниз (как чтение): Code 1 2 3 4 5 6 7 8 … или Code 1 2 3 4 5 6 7 8 9 10 … На последок спешу сообщить, что /cast и /use работают совершенно одинаково. /cast может использовать предметы, а /use – произносить заклинания. Несколько действий за один клик В общем случае вы не можете использовать больше одного заклинания кликом макроса. Большинство заклинаний и некоторые предметы имеют глобальный кулдаун (ГКД), который не позволяет вам выполнять слишком много действий за раз. Некоторые заклинания можно произнести всего одним нажатием кнопки. За любым мгновенным заклинанием или заклинанием без ГКД может следовать другое. Всплывающая подсказка на заклинании сообщит мгновенное оно или нет, но чтобы узнать есть ли у него ГКД, вам нужно будет воспользоваться специальными сайтами, например WowHead. Примером такого макроса может служить следующий: Code /cast Неистовый вой /cast Кровавое неистовство /cast Зов дикой природы Выбор цели Выбор цели – это ещё одна распространенная задача макросов. Используя обычные макросы, вы произносите заклинания на вашу текущую цель. Комбинирование команд /cast и /target дает возможность менять цель при нажатии на макрос. Самая простой макрос выглядит следующим образом: Code /target Вася /target ищет совпадения между буквами, что вы написали, и целями вокруг вас. Это означает, что если вы использовали команду /target Вас и цель с таким именем стоит рядом, то вы выберете её. В зависимости от ситуации это может быть плюсом или минусом. К сожалению, данный макрос будет брать в цель и ненужные юниты (например, трупы). Совместим две команды - /cast и /target: Code /target Маг Крыла Тьмы /cast Бич агонии Если рядом не будет Мага Крыла Тьмы, то вы возьмете в цель кого-то с именем, которое начинается на М либо Ма. Если это будет дружеская цель, то макрос вообще теряет смысл. Другой проблемой является то, что вы можете взять в цель кого-то за 100 ярдов от вас, кто вам не нужен в принципе. Поэтому в патче 2.3 ввели команду /targetexact, чтоб устранить данную проблему. В дополнение ко всему вышесказанному, вместо имени желаемой цели вы можете использовать unit ID. Unit ID – это способ определить конкретного персонажа, моба, NPC. Например, вашу текущая цель можно выбрать с помощью «target» unit ID. Ваш персонаж может быть выбран с помощью «player» ID, а ваш питомец – «pet». Вы можете добавить «target» после любого правильного unit ID, чтобы выбрать цель этого юнита. Список ID юнитов: "arenaN" - Член вражеской команды арены. N = 1, 2, 3, 4 или 5. "bossN" - Активный босс текущего энкаунтера, если он доступен. N = 1, 2, 3 или 4. "focus" - Текущий фокус игрока. "mouseover" - Юнит, который находится (или недавно находился) под указателем мыши. "none" - нет юнита. Часто используется для того, чтоб запретить макросу авто-каст на себя (/cast [target=none] Волна исцеления). "partyN" - N-ый член группы, исключая вашего персонажа. N = 1, 2, 3 или 4. "partypetN" - питомец N-го члена группы. N = 1, 2, 3 или 4. "pet" - текущий питомец игрока. "player" - сам игрок. "raidN" - член рейда. N = 1, 2, 3, ..., 25. "raidpetN" - пет N-го члена рейда. N = 1, 2, 3, ..., 25. "target" - текущая цель игрока "vehicle" - текущее транстпортное средство игрока. Другие команды по выбору цели /assist Самая по себе эта команда выбирает цель цели. Например, если вы выбрали меня в качестве цели, а я выбрал Ириэль, то /assist заставит вас выбрать Ириэль. /cleartarget Оставляет вас без цели. /targetexact Берет в цель юнит с точно указанным именем. Если имя написано неверно или юнит далеко от вас, то ваша цель не изменится. /targetlasttarget, /targetlastfriend, /targetlastenemy Первая команда выделит вашу предыдущую цель. Вторая – предыдущую дружественную цель, а третья – предыдущую враждебную. Если до этого у вас не было цели, то команда ничего не сделает. /targetenemy, /targetfriend Эти команды одну за другой перебирают цели определенного типа. /targetenemy – это все равно, что нажатие TAB, а /targetfriend - CTRL-TAB. Также вы можете добавить параметр «1» для того, чтобы перебирать цели в обратном порядке (/targetenemy 1 работает как нажатие SHIFT-TAB). Примечание: Вы можете использовать эти команды только один раз на макрос. Code /targetenemy /targetenemy 1 Code /targetfriend /targetfriend 1 /targetenemyplayer, /targetfriendplayer Эти команды по очереди берут в цель определенный тип персонажей игроков. Они работают точно также как и /targetfriend and /targetenemy за исключением того, что берут в цель только игроков, игнорируя при этом всех, кого контролирует компьютер (NPC, мобы, петы, прислужники). Полезный макрос в PvP. Как и в случае с /targetenemy можете использовать параметр «1», чтобы изменить направление. Code /targetenemyplayer /targetenemyplayer 1 Code /targetfriendplayer /targetfriendplayer 1 /targetparty, /targetraid Поочередно перебирает цели из вашей группы или рейда. Как и в случае с /targetenemy можете использовать параметр «1», чтобы изменить направление. Code /targetparty /targetparty 1 Code /targetraid /targetraid 1 Управление питомцами Как уже было сказано, вы можете использовать /cast для того, чтобы использовать способности вашего питомца. Наиболее важные из них следующие: /petattack Заставляет пета атаковать вашу цель. Также можно указать имя или unit ID, тогда питомец будет атаковать конкретного юнита. /petfollow Ваш питомец следует за вами, а также прекращает атаковать, если нужно. /petstay Питомец стоит на месте, пока не получит другую команду. /petmoveto После использования данной команды требуется указать место, куда после этого отправится ваш питомец. /petpassive, /petdefensive, /petaggressive Устанавливает модель поведения вашего пета, также как кнопки на панели питомца. /petautocaston, /petautocastoff, /petautocasttoggle Эти команды управляют авто-кастом заклинания вашего пета. Первая включает автокаст, вторая – выключает. Например: Code /petautocaston Мучение /petautocastoff Муки /petautocasttoggle переключает авто-каст заклинаний питомца. Code /petautocasttoggle Огненное дыхание Включает авто-каст, если он выключен и наоборот. Другие слэш команды Мы разобрали основы, и теперь я хочу представить другие слэш команды. Некоторые из них могут показаться бесполезными на первый взгляд, но в комбинации с опциями макросов из раздела 2, они могут стать отличными штуками. Одевание предметов Существует три команды для того, чтобы одеть предмет: /equip, /equipslot и /equipset. /equip использует название предмета и перемещает его в стандартную ячейку, точно также, как вы бы кликнули по предмету правой кнопкой мыши. /equipslot использует ID ячейки инвентаря и название предмета, тем самым перемещая предмет в указанную ячейку. Чтобы взять оружие в стандартную ячейку: Code /equip Заточенный топор Бездны Чтобы одеть аксессуар в нижнюю ячейку: Code /equipslot 14 Морковка на палочке Представим, что мы сохранили два набора вещей. Один назовем Tank (в нем есть меч и щит), а второй – DPS (двуручка). Используем следующий макрос, чтобы переключаться между ними: Code /equipset [equipped:Shields] DPS; Tank Если у вас в руках щит, то вы оденете набор DPS, в ином случае – набор Tank. Поменять местами щит и офф-хенд можно с помощью такого макроса: Code /equipslot [equipped:Shields] 17 Колун безжалостного гладиатора; 17 Гребень Ша'тар Последовательность заклинаний и предметов Часто возникают случаи, когда вы часто используете одну и ту же последовательность заклинаний (например, открываете ротацию). Чтобы облегчить вам жизнь, была создана команда /castsequence. Она использует список заклинаний и предметов, разделенных запятыми. Каждый раз, когда вы используете макрос, он активирует текущее заклинание или предмет. Если вы успешно использовали заклинание, то макрос переходит к следующему. То есть вы должны последовательно нажимать кнопку макроса, чтобы активировать заклинания одно за другим. Как только было произнесено последнее заклинание, макрос снова переходит к началу списка. Например: Code /castsequence Жертвенный огонь, Порча, Бич агонии, Похищение жизни Спешу заметить, что если Жертвенный огонь не был произнесен по каким-либо причинам (нехватка маны, вне зоны действия, сайленс), то макрос останется на той же точке. Перед списком заклинаний вы можете определить условия сброса последовательности, чтобы начать всё сначала. Базовый синтаксис следующий: Code reset=n/target/combat/shift/alt/ctrl Где n – это количество секунд бездействия, после чего макрос будет сброшен. Другими словами, если вы не использовали макрос n секунд, то в следующий раз, когда вы его используете, начнете с первого заклинания в списке. «target» сбрасывает последовательность, когда вы меняете цель, «combat» - когда выходите из боя, «shift», «alt» и «ctrl» - когда активируете макрос с соответствующей зажатой клавишей. Вы можете использовать сразу несколько условий. Например: Code /castsequence reset=10/shift Заклинание 1, Другое заклинание, Любой предмет Вы можете написать макрос, который будет использовать заклинания из двух разных наборов, которые должны использоваться вместе, но каждый отдельный набор не может быть использован одновременно с другим (например аксессуары с одним КД). Макрос примет следующий вид: Code /castsequence Берсерк, Стылая кровь /castsequence Trinket 1, Trinket 2 При первом нажатия макрос активирует Берсерк и Аксессуар 1, на втором - Стылую кровь и Аксессуар 2. Случайные заклинания и предметы /castrandom и /userandom позволяют произнести случайное заклинание из списка. Чаще всего это используется, чтобы оседлать случайного маунта. Например: Code /castrandom Стремительный зеленый механодолгоног, Черный боевой механодолгоног, Призыв коня погибели Атака Поменять вашу цель и начать её атаковать: Code /startattack Пеплогривый кабан Перестать атаковать: Code /stopattack Пеплогривый кабан Манипуляции с панелями заклинаний Существует две команды, которые позволяют изменять страницы панелей заклинаний: /changeactionbar и /swapactionbar. /changeactionbar использует в качестве значения одно число и всегда переключается на страницу с этим номером. Примером использования может быть аспекты охотника. Например: Code /cast Дух ястреба /changeactionbar 1 и Code /cast Дух лисицы /changeactionbar 2 /swapactionbar использует две цифры в качетсве параметров, и в итоге меняет обозначенные панели между собой. Code /swapactionbar 1 2 Отмена баффов Команда /cancelaura позволяет вам отменять ненужные баффы. Например: Code /cancelaura Горн зимы /cast Горн зимы Выход из формы За исключением воинов, любой класс со стойками (Друиды, Присты с Обликом тьмы, Роги с Незаметностью, и т.д.) могут использовать /cancelform, чтобы выйти из формы. Например: Code /cancelform /use Гигантский флакон с лечебным зельем Остановка каста /stopcasting очень полезная команда в "ситуациях паники", когда нужно в любой момент остановить заклинание, что вы произносите и начать кастовать другое. Например: Code /stopcasting /cast Ожог Тьмы Спешивание Code /dismount Заставляет вас слезть с маунта. Сохранение цели для будущих действий Команда /focus позволяет вам сохранить вашу цель, чтобы потом можно было вернутся к ней. Например, рейд лидер сказал вам превратить адда в овцу. Для начала, возьмите моба в цель, и напечатайте /focus. Теперь вы можете использовать макрос, чтобы в нужный момент превратить моба в овцу: Code /cast [@focus] Превращение Дополнительные скрипты Для чего нужны скрипты? Скрипты – очень мощный инструмент, который может решить множество проблем. По этой причины Blizzard ограничили круг возможностей скриптов. Начну с того, чего вы не можете делать с помощью скриптов. Вы не можете произносить заклинания, использовать предметы, изменять страницу панели заклинаний и влиять на вашу цель каким-либо образом . Вы ограничены набором «безопасных» команд. Скрипты Интерфейс WoW контролируется кодом, который написан на языке Lua скриптов. Вы можете использовать преимущества системы скриптов в ваших макросах с помощью команды /run или /script. Целый скрипт должен быть написан одной строчкой. Можно использовать несколько /run в одном макросе. Blizzard предоставляет много фунцкий (API), которые используются в скриптах, чтобы контролировать интерфейс. Я не могу вам рассказать все тонкости написания скриптов, поэтому приведу мой любимый скрипт в качестве примера. Данный макрос напишет каждом игроку в вашем рейде изменить его цель, если у него та же цель, что и у вас. Он помогает оградить их от снятия овцы с моба. Code /cast Превращение /run for i=1,GetNumRaidMembers()-1 do local u,t="raid"..i,"target"if UnitIsUnit(u..t,t)then SendChatMessage("Измените цель! Превращаю в овцу...","WHISPER",nil,UnitName(u))end end Опции макросов Опции макросов позволяют контролировать действия на основе некоторых условий и правил. Сразу приведу пример – этот макрос произнесет Обновление на дружественную цель и Слово Тьмы: Боль на враждебную. Code /cast [help] Обновление; [harm] Слово Тьмы: Боль гда вы используете макрос, то проверяется условие [help]. Оно проверяет, можете ли вы наложить на цель исцеляющее заклинание. Если условие выполняется, то накладывается Обновление и макрос переходит на следующую строку. В ином случае (нет цели или не можете наложить полезное заклинание на цель) проверяется следующее условие. Теперь проверяется [harm], т.е. можно ли наложить на цель атакующее заклинание. Если условие выполняется, то вы произносите Слово Тьмы: Боль. Если же нет, то ничего не происходит, так как условий уже нет. Команды, поддерживающие опции Список команд, которые поддерживают опции: #show #showtooltip /assist /cancelaura /cancelform /cast /castrandom /castsequence /changeactionbar /clearfocus /cleartarget /click /dismount /equip /equipslot /equipset /focus /petagressive /petattack /petautocastoff /petautocaston /petdefensive /petfollow /petpassive /petstay /startattack /stopattack /stopcasting /stopmacro /swapactionbar /target /targetenemy /targetfriend /targetlasttarget /targetparty /targetraid /use /usetalents /userandom [@unit] (в прошлом [target=unit]) В дополнении к проверке условий, система опций макросов позволяет нам установить цель многих действий. Например, следующий макрос всегда будет использовать бинты на вашего персонажа, независимо от того, кто в данный момент ваша цель: Code /use [@player] Плотные бинты из ткани Пустоты [target=unit] работает точно также, как и [@unit]. Общий синтаксис опций макросов Все слэш команды работают по одному принципу. У вас есть команда, и есть набор параметров. Параметры зависят от команды, некоторым командам параметры не требуются. Несколько примеров: Code /cast Кара \___/ \___/ | | | параметры | команда /petattack \________/ V | | | параметры (пустые) | команда /castsequence reset=3Dtarget Жертвенный огонь, Порча, Бич агонии, Вытягивание жизни \___________/ \___________________________________________________________________/ | | команда параметры Опции макросов позволяют вам выбрать набор параметров в зависимости от некоторых критериев. На самом высоком уровне вы устанавливаете наборы критериев/параметров, разделенных точкой с запятой. Точка с запятой рассматривается как «else» (иначе) или «else if» (иначе если). Критерий состоит из нуля и больше наборов условий. Каждый набор условий заключается в квадратные скобки. Иллюстрация синтаксиса: Code /команда [условия] [ещё условия] параметры; [условия] параметры ... Команда работает слева на право. Как только она находит набор условий, который истинен, команда запускается с соответствующими параметрами. Если нет условий, то считается, что всегда истина. Синтаксис условий Каждый набор условий – это обычный список через запятые. Условия могут быть написаны в любом порядке, однако [@unit] всегда находится перед всеми условиями. Запятая – это все равно что «и». Условие [help, nodead, @focus] означает «Мой фокус дружественный И не мертвый». Замечание: условия очень чувствительны к регистру. Например, если вы напишете [Help] вместо [help], макрос выдаст вам ошибку. Сами условия состоят из некоторых блоков. Например, вы можете поставить «no» перед условием, и условие станет противоположным. Заметьте, что [nohelp] не означает то же самое, что и [harm]. [harm] и [help] оба возвращают «истину», если существует цель, на которую нужно наложить заклинание. Кроме того, существуют цели, которым нельзя помочь и нельзя навредить. Некоторые условия имеют свой набор параметров. Например, [stance] означает «в любой стойке» (полезное условие для классов со стойками и формами, кроме воинов, которые всегда находятся в одной из стоек). Однако вы можете обозначить определенные стойки, по которым требуется сделать проверку. Набор параметров начинается с точки с запятой, а каждый параметр отделяется слэшем «/», который означает «или». Общая иллюстрация одиночного условия, где всё в угловых скобках «<>» является необязательным: Code [<no>condition<:parameter</parameter</parameter<...>>>>] Простой пример, который использует Неизвестное заклинание 72 в защитной и боевой стойке, но меняет стойку на защитную, если вы находитесь в стойке берсерка. Code /cast [stance:1/2] Удар щитом; Оборонительная стойка Говоря нормальным языком, мы написали «если мы в стойке 1 или 2, то используем Неизвестное заклинание 72, иначе переключаемся в защитную стойку». Примечание: «no» на всё условие и все его параметры. [nostance: 1/2] будет означать «всё, кроме стойки 1 или 2». Пустые параметры и условия Одной из причин ошибок макроса является написание пустого параметра. Часто люди ставят точку с запятой в конце макроса, что приводит к некоторым неожиданным ошибкам. Например: Code /petattack [@focus, harm]; Проанализируем макрос. Он заставляет вашего питомца атаковать ваш фокус, если ему можно нанеси вред, и не делать ничего в другом случае. Давайте рассмотрим схему данного макроса: Code /petattack [@focus, harm] ; \________/ \____________/ V V V | | | | | команда опции | | параметры (пусто) | | | опции (пусто) | параметры (empty) Как можно увидеть, не хватает набора опций и параметров. Запомните, что пустой набор опций, будет считаться всегда «истиной», поэтому если первое условие не пройдет проверку, то пустой параметр будет задействован. Пустые условия Иногда вам потребуется произнести заклинание на определенную цель при некоторых условиях, но чтобы эта магия работала как обычно, если эти условия не выполняются. Примером такого случая служит следующий макрос. Он произнесет Вспышку света на юнит под вашей мышкой. Если никого под курсором не оказалось или цель враждебная, макрос просто произнесет Вспышку света на вас, если включена опция каста на себя. Code /cast [@mouseover, help] [ ] Вспышка света [target=] или [@] против параметров юнита Некоторым команды используют юнитов к качестве параметров. Например, /target party1 выберет целью первого члена вашей группы. /target [@party1] имеет тот же эффект. Однако в большинстве случаев нам не разрешено устанавливать условия для одного юнита, а действовать уже на другого. Следующий макрос не будет работать, как было задумано: Code /target [@focus, dead] party1 WoW проигнорирует 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> может быть ячейкой инвентаря, типом предмета, подтипом предмета). Источник wowraider.ru |
| |||
| |||