Как сделать макрос на цель
Тема: Гайд по Макросам World of Warcraft
Опции темы
Отображение
Содержание:
1. Что такое макросы, macro?
2. Зачем нужны макросы?
3. Создаем макросы ;
4. Пишем макросы ;
5. Источник.
Макрос — в ВоВе, это набор команд, сгруппированых в один блок, который можно забиндить на кнопку и выполнять одним нажатием. Макросы могут быть крайне полезны во многих ситуациях.
Так же макросами могут называться скрипты для внешних программ или устройств, выполняющие определённые действия. Своего рода небольшие программы.
ВоВ позволяет сделать две группы макросов: общие для учётной записи, их может быть 36 штук и они доступны для всех персонажей на всех серверах, и персональные для каждого персонажа — их может быть 18 штук у каждого персонажа.
2. Зачем нужны макросы?
Макросы позволяют вам автоматизировать некоторые скучные аспекты игры. Например, думаю вы часто видели рекламу в торговом канале, вроде: «Продам кучу саронитовой руды по 16 голды за стак». Писать такое руками каждый раз не очень удобно. Обычно, торговцы имеют макрос, и нажимают только одну кнопку:
У каждого класса в игре есть огромное множество разных способностей и заклинаний, которые обычно занимают много места на панелях. Макросы позволяют вам объединить под одной кнопкой сразу несколько таких способностей, назначив каждой из них соответствующие экстра-клавиши (дальше будем называть их модификаторами) — Shift, Alt и Ctrl. При помощи макросов можно объединить до 24 способностей в пределах 1-6 кнопок.
Помимо рекламы, рекрутинга, поиска группы, купли и продажи, макросы могут быть очень полезны вам в бою. Например, охотники, даже на низких уровнях, при каждой атаке должны совершать определённые действия:
Для этого нужно нажать 3 кнопки, что очень неудобно, если за вечер вы убиваете несколько сотен мобов. Гораздо удобнее сделать макрос:
Выносите такой макрос на панель, выбираете цель, нажимаете макрос и — вуаля: марка висит, питомец рвётся в бой, а вы — стреляете.
Макросы позволяют объединять несколько способностей под одной кнопкой так, что ее нажатие активирует одновременно их все, экономя время. Правда при условии, что только одно из заклинаний в макросе имеет время каста, или является мгновенным, но вызывает глобальную перезарядку.
При помощи макросов можно так же делать необычные вещи. Например, считать ваш авойданс (если вы танк):
Для ДК :
Или искать Затерянного во времени протодракона
, когда вы летите по Грозовой Гряде:
Для создания макросов существует специальный интерфейс. Чтобы открыть окно создания макросов нужно ввести команду (в чат):
1. Откройте «Меню» путем нажатия клавиши Esc (слево вверху на клавиатуре) ;
2. Выберите в меню пункт «Макрос» и откройте окошко редактора макросов.
Откроется окно создания макросов:
Вы видите ячейки для макросов, которые вы можете заполнить, две закладки — «Общие Макросы» и «Макросы Измельчителя»(Измельчител� � — это персонаж, на котором я создаю макрос). В самом низу есть кнопка «Создать». Нажав её, откроется окошко, где вы можете выбрать название для макроса и значок:
Как вы видите, имя макроса может содержать не более 16 символов. Значок вы можете выбрать из большого списка, предлагаемого ВоВом. Если вы, выберите значок со знаком вопроса, и макрос будет содержать использование способности или предмета — то значок автоматически будет иметь такое же изображение как значок способности или предмета.
Сделаем макрос «Привет Мир» и выберем первую доступную иконку. Нажмём «Ок». Имя макроса и значок можно потом поменять, нажав на кнопку «Смена названия/значка».
В списке макросов появился созданный нами «привет мир» с выбранным значком. Поставьте курсор в поле ввода под списком макросов и напишите:
Теперь перетащите иконку макроса на панель способностей.
Теперь осталось только воспользоваться им, нажмите мышкой на вынесенный макрос или хоткей, который за ней закреплён:
Текст макроса не может привышать 255 символов, но есть аддоны, позволяющие обойти это ограничение.
Тексты макросов хранятся на игровом сервере, так что если вы зайдёте на своего персонажа с другого компьютера, то макросы останутся на месте, теоретически… (на самом деле, система достаточно глючная. Бывает что после захода с чужого компьютера макросы вообще пропадают).
Данная статья расскажет вам о том, как писать макросы. Макрос – это набор слэш команд. Обычные слэш команды выглядят следующим образом:
Также на WoWCircle, возможен вариант русского макроса (Подробнее тут http://forum.wowcircle.com/showthread.php?t=86026), тоесть, вместо /say или (/s) можно прописать /сказать ( /с ) или, вместо /da nce прописать русский вариант /танец.
(В слове da nce написал пробел, т.к тут смайлик появляеться, если без пробела написать).
При помощи макросов эти команды можно будет назначить на определенные кнопки, а также станет возможным использовать их одновременно. Каждая команда должна быть написана с новой строки и иметь точно такой синтаксис, как если бы вы писали её в чате. Например, макрос, который заставит вашего персонажа закричать «Танцуют все!» и пуститься в пляс, будет выглядеть так:
Примечание: должен вас предупредить, что макросы запускают все одновременно. Это означает, что после нажатия кнопки макрос исполняет каждую команду от начала до конца, прежде чем он возвратит контроль игре. Это дает два важных эффекта. Во–первых, если вы пишите длинный макрос, который будет очень долго исполнятся (например, /run for i=1, 10000000 do end), игра заморозится до тех пор, пока макрос не выполнится. Во–вторых, наиболее важный факт – нет способа подождать в макросе без заморозки игры. Это факт становится более очевидным, когда вы используете команду /cast или что–то подобное.
Во время вашей игры вы врядли будете писать много слэш команд, которые могут быть полезными для макросов. Конечно, обычная команда эмоции может придать ролевой антураж вашей игре, но не более.
Введите /cast – самую наиболее используемую команду в макросах. Она позволяет произнести любое заклинание из вашей книги заклинаний или заклинание вашего питомца. Самый простой пример макроса:
Этот макрос повесит za8 Огненный шок на цель. Макрос ведет себя точно также, как если бы вы просто использовали заклинание с панели заклинаний. Игра распознает макрос как заклинание, покажет кулдаун и расстояние до цели. Вы даже можете выбрать вашему макросу такое же изображение, как и у самой магии.
Зачем же использовать макрос, если можно просто поставить магию на панель? Ответ прост. Макросы позволяют комбинировать множество команд, и поэтому они столь полезны.
Представьте, что вы маг и хотите объявить вашей группе, когда вы овцуете кого–либо. Для этого вставьте заклинание и сообщение через /p в макрос:
Примечание: Макрос запускает все сразу, поэтому вы скажете свою реплику сразу после того, как начнете произносить заклинание. Это значит, что если поместить эти команды в другом порядке, эффект будет тот же. Поэтому если у вас возникает желание сказать что–то только после того, как вы фактически произнесли заклинание, то вы можете воспользоваться аддоном AfterCast, который заставит следующую слэш команду работать только после того, как вы произнесете заклинание. Например:
Внимание: названия заклинаний
Команда /cast очень придирчива к тому, как вы пишите названия заклинаний. Для того, чтобы успешно написать макрос, вы должны полностью соблюдать орфографию, пунктуацию и интервалы. Гарантией верного написания заклинания будет следующее действие – во время написание макроса откройте вашу книгу заклинаний и shift+клик (лево кнопкой мыши) на нужную способность. Таким образом вы получите точное название заклинания в макросе, включая любые модификаторы вроде форм друида для Увечья.
Использование предметов и аксессуаров
Также есть несколько других форм этой команды.
Эта форма позволяет использовать предмет в определенной ячейке. Номера ячеек представлены на данном рисунке:
Используется ваш верхний слот для аксессуара.
Вы можете использовать любой предмет из ваших сумок. Представьте, что еда для вашего питомца всегда лежит в первой ячейке вашего рюкзака. Вы можете легко написать макрос, чтобы покормить пета:
Сумки пронумерованы от 0 до 4 с права на лево (0 – всегда рюкзак), а ячейки – от 1 начиная слева на право, сверху вниз (как чтение):
На последок спешу сообщить, что /cast и /use работают совершенно одинаково. /cast может использовать предметы, а /use – произносить заклинания.
Несколько действий за один клик
В общем случае вы не можете использовать больше одного заклинания кликом макроса. Большинство заклинаний и некоторые предметы имеют глобальный кулдаун (GCD), который не позволяет вам выполнять слишком много действий за раз. Некоторые заклинания можно произнести всего одним нажатием кнопки. За любым мгновенным заклинанием или заклинанием без ГКД может следовать другое. Всплывающая подсказка на заклинании сообщит мгновенное оно или нет, но чтобы узнать есть ли у него ГКД, вам нужно будет воспользоваться специальными сайтами, например WowWay (http://wowroad.info/). Примером такого макроса может служить следующий:
Выбор цели – это ещё одна распространенная задача макросов. Используя обычные макросы, вы произносите заклинания на вашу текущую цель. Комбинирование команд /cast и /target дает возможность менять цель при нажатии на макрос.
Самая простой макрос выглядит следующим образом:
/target ищет совпадения между буквами, что вы написали, и целями вокруг вас. Это означает, что если вы использовали команду /target Вас и цель с таким именем стоит рядом, то вы выберете её. В зависимости от ситуации это может быть плюсом или минусом. К сожалению, данный макрос будет брать в цель и ненужные юниты (например, трупы).
Совместим две команды — /cast и /target :
Список 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).
Примечание:Вы можете использовать эти команды только один раз на макрос.
/targetenemyplayer, /targetfriendplayer
Эти команды по очереди берут в цель определенный тип персонажей игроков. Они работают точно также как и /targetfriend and /targetenemy за исключением того, что берут в цель только игроков, игнорируя при этом всех, кого контролирует компьютер (NPC, мобы, петы, прислужники). Полезный макрос в PvP. Как и в случае с /targetenemy можете использовать параметр ‘1’, чтобы изменить направление.
/targetparty, /targetraid
Поочередно перебирает цели из вашей группы или рейда. Как и в случае с /targetenemy можете использовать параметр ‘1’, чтобы изменить направление.
Как уже было сказано, вы можете использовать /cast для того, чтобы использовать способности вашего питомца. Наиболее важные из них следующие:
/petattack
Заставляет пета атаковать вашу цель. Также можно указать имя или unit ID, тогда питомец будет атаковать конкретного юнита.
/petfollow
Ваш питомец следует за вами, а также прекращает атаковать, если нужно.
/petstay
Питомец стоит на месте, пока не получит другую команду.
/petmoveto
После использования данной команды требуется указать место, куда после этого отправится ваш питомец.
/petpassive, /petdefensive, /petaggressive
Устанавливает модель поведения вашего пета, также как кнопки на панели питомца.
/petautocaston, /petautocastoff, /petautocasttoggle
Эти команды управляют авто–кастом заклинания вашего пета. Первая включает автокаст, вторая – выключает. Например:
Включает авто–каст, если он выключен и наоборот.
Другие слэш команды
Мы разобрали основы, и теперь я хочу представить другие слэш команды. Некоторые из них могут показаться бесполезными на первый взгляд, но в комбинации с опциями макросов из раздела 2, они могут стать отличными штуками.
Если у вас в руках щит, то вы оденете набор DPS, в ином случае – набор Tank.
Поменять местами щит и офф–хенд можно с помощью такого макроса:
Последовательность заклинаний и предметов
Спешу заметить, что если za9 Жертвенный огонь не был произнесен по каким–либо причинам (нехватка маны, вне зоны действия, неспособность произносить заклинания), то макрос останется на той же точке.
Перед списком заклинаний вы можете определить условия сброса последовательности, чтобы начать всё сначала. Базовый синтаксис следующий:
Вы можете написать макрос, который будет использовать заклинания из двух разных наборов, которые должны использоваться вместе, но каждый отдельный набор не может быть использован одновременно с другим (например аксессуары с одним КД). Макрос примет следующий вид:
При первом нажатия макрос активирует Берсерк и Аксессуар 1, на втором — Стылую кровь и Аксессуар 2.
Случайные заклинания и предметы
/castrandom и /userandom позволяют произнести случайное заклинание из списка. Чаще всего это используется, чтобы оседлать случайного маунта. Например:
Поменять вашу цель и начать её атаковать:
Манипуляции с панелями заклинаний
/swapactionbar использует две цифры в качетсве параметров, и в итоге меняет обозначенные панели между собой.
Команда /cancelaura позволяет вам отменять ненужные баффы. Например:
/stopcasting очень полезная команда в «ситуациях паники», когда нужно в любой момент остановить заклинание, что вы произносите и начать кастовать другое. Например:
Заставляет вас слезть с маунта.
Дополнительные скрипты
Для чего нужны скрипты?
Blizzard предоставляет много фунцкий (API), которые используются в скриптах, чтобы контролировать интерфейс. Я не могу вам рассказать все тонкости написания скриптов, поэтому приведу мой любимый скрипт в качестве примера. Данный макрос напишет каждом игроку в вашем рейде изменить его цель, если у него та же цель, что и у вас. Он помогает оградить их от снятия овцы с моба.
Опции макросов
Опции макросов позволяют контролировать действия на основе некоторых условий и правил. Сразу приведу пример – этот макрос произнесет Обновление на дружественную цель и Слово Тьмы: Боль на враждебную.
#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])
В дополнении к проверке условий, система опций макросов позволяет нам установить цель многих действий. Например, следующий макрос всегда будет использовать бинты на вашего персонажа, независимо от того, кто в данный момент ваша цель:
[target=unit] работает точно также, как и [@unit].
Опции темы
Отображение
Макросы в вов, как и любой другой игре, где они поддерживаются, позволяют частично автоматизировать или просто ускорить некоторые действия и их последовательности. Применений им можно найти много, но я хочу рассказать про наиболее очевидное – упрощение управлением персонажем в бою: человеческая реакция неидеальна, но благодаря макросам мы можем сократить задержку, например, между использованиями способностей и переключением целей до минимума, избежать ошибок таргетинга и некоторых других.
Сразу оговорюсь для тех кто более-менее в теме – язык макросов классика отличается от последующих и имеет куда более ограниченные возможности, а также требует частого использования скриптов. Про аддоны, расширяющие функциональность макросов я знаю, но в этом гайде речь пойдет о тех возможностях, которые доступны на любом клиенте.
1. Что такое макросы и как их создавать
Все макросы в игре представляют собой исполняемые прямо через интерфейс чата команды, начинающиеся с символа «/». То есть, эмоции (например, /wave, /train и др), сообщения в определенный канал чата и т.д. – тоже являются такими командами. Суть макроса в том, что мы запоминаем определенную команду или их последовательность, выполнение которых можно выносить на экшн бар и, следовательно, забиндить на хоткеи.
Чтобы открыть интерфейс создания макросов, воспользуйтесь главным меню или просто напишите в строку чата /macro. Обратите внимание на две вкладки – макросы можно создавать как общие, так и отдельно для каждого персонажа, это очень удобно – меньше шансов запутаться.
Создавая макрос, сразу выберем ему имя и иконку из предложенных, после чего в нашем распоряжении будет окно для ввода наших команд. Каждая команда выполняется построчно, то есть, нажимая Enter и перенося строку, мы создаем другую команду, например:
—————
/s Hi!
/hello
—————
(две команды, выполняемые поочередно)
2. Базовые команды
Если мы хотим повысить эффективность управления персонажем, приоритетными командами являются использование способностей /cast и выбор цели /target. Применять их следует следующим образом:
—————
/target Nickname
/cast Healing Wave
—————
(первая строчка выбирает в качестве цели юнит с ником Nickname, вторая кастует спелл Healing Wave максимально доступного ранга)
/target часто используется для поиска рарных мобов, при охоте за определенным лутом – можно забить в макрос имя моба и проспамить его, пробегая мимо зоны его респауна. Единственная особенность в том, что если юнит с точно таким именем не будет найден, команда постарается найти какой-нибудь с похожим, в случае если и это не выйдет – сообщит об ошибке Unknown Unit.
А вот используя /cast необходимо указать название способности максимально точно, вплоть до каждого символа. Если необходимо скастовать спел определенного ранга, например, первого, команда пишется так:
—————
/cast Healing Wave(Rank 1)
—————
Для того, чтобы атаковать цель другого игрока (например, вашего танка), используется команда /assist, в которую также нужно добавить имя персонажа, которому мы будем помогать, обычно это выглядит так:
—————
/assist %t
—————
(команда сама подставляет вместо %t имя вашей текущей цели)
3. ГКД
У новичков на этом моменте загораются глаза – появляется желание написать комбо-макрос для убийства моба (или даже игрока) одной кнопкой, но сейчас, дорогие мои, я вас обломаю. Как вы могли заметить, почти все действия в игре, активируют так называемый глобальный кулдаун (ГКД), равный одной секунде. Это сделано как раз для того, чтобы, например, маг не мог забив на макрос все свои инстант-спеллы за доли секунды (а именно с такой скоростью исполняются команды) выдать много урона.
Кроме этого, близзард не дали возможности устанавливать между действиями какую-либо задержку, команды исполняются мгновенно, одна за другой, и как только первая активирует способность, запускается вторая, за ней третья и т.д. – но все они натыкаются на ГКД и выдают ошибки о том, что способность еще не готова.
Но не все так плохо: если первая способность не активирует ГКД (а такие есть), то можно сразу запустить вторую. Например, я хочу заюзать талант шамана Nature’s Swiftness, который делает следущий спелл инстантом, после чего сразу кастануть Healing Wave. Пока не будем усложнять этот макрос выбором цели:
—————
/cast Nature’s Swiftness
/script SpellStopCasting()
/cast Healing Wave
—————
4. Выполнение скриптов
На самом деле команда /script, она же /run позволяет писать самые интересные макросы. Дело в том, что она исполняет строчку скрипта на языке Lua, с помощью которого можно вызывать множество полезных функций игры. Так, если в БК и последующих версиях WoW большинство макросов можно было написать, используя стандартные команды, то в классике они весьма ограничены в возможностях, а весь функционал доступен, как правило, через скрипты.
Например, /cast Healing Wave равнозначно /script CastSpellByName(«Healing Wave») – при этом обязательно учитывать, что в одном скрипте может быть несколько действий, разделенных точкой с запятой (БЕЗ ПЕРЕНОСА!). Например, предыдущий макрос можно переписать следующим образом:
—————
/script CastSpellByName(«Nature’s Swiftness»); SpellStopCasting(); CastSpellByName(«Healing Wave»)
—————
Не стоит забывать, что SpellStopCasrting() прерывает каст во время вызова, чем могут пользоваться маги для контрспелла и шаманы для земляного шока – иногда нужно срочно сбить врагу каст, сбросив свой. Чтобы не делать этого вручную, напишите такой макрос:
—————
/script SpellStopCasting(); CastSpellByName(«Earth Shock»);
—————
Допустим, у моего персонажа кончилась мана, я иду в ближний бой, а противник начал кастовать что-то. В таком случае мне подойдет даже шок 1 ранга, лишь бы сбить его каст. Добавим третье действие в скрипт:
—————
/script SpellStopCasting(); CastSpellByName(«Earth Shock»); CastSpellByName(«Earth Shock(Rank 1)»)
—————
(если маны хватит на шок высокого ранга, то третья фукнция не выполнится из-за КД на шок, если же не хватит на вторую, то вместо нее выполнится третья)
5. Выбор целей
Допустим, этим скриптом мы хотим хилить себя в экстренной ситуации. Для этого можно добавить в начало строчку /target Nickname, чтобы гарантированно выбрать себя, однако было бы здорово не терять текущую цель при этом. Это достигается при помощи скрипта – выбираем цель мы с помощью TargetUnit(“player”) (тут не нужно писать свой ник, тк переменная player всегда хранит наш ID), после чего кастуем спел и возвращаем прошлый таргет, используя TargetLastTarget(), вот так:
—————
/script TargetUnit(«player»); CastSpellByName(«Nature’s Swiftness»); SpellStopCasting();CastSpellByName(«Healing Wave»); TargetLastTarget()
—————
Кроме этого, цели в скриптах можно выбирать функциями:
TargetLastEnemy() – выбор последней враждебной цели;
TargetNearestEnemy() – работает как клавиша Tab в настройках по умолчанию;
TargetNearestFriend() – аналогично, только по дружественным целям;
TargetByName(«Nickname») – по имени юнита;
AssistByName(«Nickname») – аналогично /assist Nickname.
Пример полезного макроса для шамана – объединить использование маунта и духа волка на одной кнопке, тк если мы не вышли из комбата, замаунтится нельзя, а вот в волка превратиться все еще можно:
—————
/script UseContainerItem(4,1); CastSpellByName(«Ghost Wolf»)
—————
(тут как и в случае с шоками разного ранга, если получается выполнить действие, вызываемое раньше, то следующее не выполнится, тк персонаж будет занят, если же первое невозможно, начнет выполнятся второе)
7. Логика и условия
А теперь самое интересное – благодаря тому, что в одной команде можно выполнить более 1 действия и использовать скрипты, мы можем заставлять макрос вызывать разные функции в зависимости от определенных условий. Синтаксис выглядит следующим образом:
if (условие)
then действия, которые совершаются если условие выполнено
else действия, которые совершаются, если условие не выполнено
end – завершение логического блока, после него все действия будут выполняться вне зависимости от условия.
Еще пример:
Еще один пример, просто для лучшего понимания логики и демонстрации еще нескольких условий. Допустим, мы хотим по нажатию макроса использовать бинты на дружественную цель, но если цель – враг или отсутствует, бинтовать себя. Так сейчас работает опция AutoSelfCast, поэтому достаточно просто перенести бинты на панель и включить соответствующий пункт в настройках, но я покажу какой скрипт сможет сделать это без настройки (снова с пошаговым объяснением):
Однако, в случае с бинтами, чаще есть необходимость лечить только себя, даже если выбранная цель дружественная, это реализуется намного проще:
—————
/script TargetUnit(«player»); UseContainerItem(4,2); TargetLastTarget();
—————
Помимо CursorHasItem(),UnitCanAttack(«unit1», «unit2») и SpellIsTargeting(), существует еще много других полезных условий, например:
IsShiftKeyDown() / IsControlKeyDown() / IsAltKeyDown() – проверяет, зажата ли клавиша шифт/контрол/альт (позволяет выполнять одним макросом разные действия в зависимости от использования этих клавиш);
UnitInParty(«unit») – состоит ли указанный игрок в нашей группе;
UnitIsPlayer(«unit») – является ли указанный юнит игроком;
UnitIsUnit(«unit1», «unit2») – сравнивает два юнита, выполняется если они совпадают (например UnitIsUnit(«player», «target») проверяет, выбрали ли мы целью самого себя).
То есть, если мы пишем if (a 0.8) then CastSpellByName(«Lesser Healing Wave»); else CastSpellByName(«Healing Wave»); end
—————
(если у цели меньше 30% или больше 80% здоровья – кастуем быстрый хил, чтобы не сильно оверхилить или не уронить, иначе – большой)
Видно, что довольно большой кусок кода, где мы вычисляем текущее хп повторяется. Чтобы сократить скрипт (не забываем, что у нас есть всего 255 знаков) можно создать лосальную (local) переменную hp, присвоив ей вычисленное значение с помощью оператора = вот так:
—————
/script local hp=UnitHealth(«target»)/UnitHealthMax(«target»); if (hp 0.8) then CastSpellByName(«Lesser Healing Wave»); else CastSpellByName(«Healing Wave»); end
—————
Чтобы не оверхилить, можно доработать макрос до следующего вида:
—————
/script local hp=UnitHealth(«target»)/UnitHealthMax(«target»); if (hp>0.8) then SpellStopCasting(); elseif (hp