5 методов решения ошибок LUA в World of Warcraft

Многие игроки World of Warcraft жалуются на появление ошибок LUA при запуске игры. В сообщении таких ошибок обычно указывается, что некоторые из аддонов работают не совсем корректно. Ошибки не препятствуют игровому процессу, однако их постоянное появление в чат-боксе может изрядно раздражать. Windows 7, 8 и 10 — от этих ошибок страдают пользователи всех современных версий ОС Майкрософт.

Что такое LUA?

Прежде чем мы двинемся дальше, важно понять, что такое LUA и с чем его едят.

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

Ознакомившись с проблемой поближе, мы пришли к выводу, что LUA-ошибки в World of Warcraft могут возникать по следующему ряду причин:

[Vanilla WoW 1.12 | 2006] Максимальная графика через скрытый консоль

  • Глитч/баг в работе аддона/файла интерфейса. Зачастую ошибки LUA возникают в результате некорректно работающих аддонов или файлов, относящихся к игровому интерфейсу WoW. Происходит это из-за «кривого» или неактуального кода модификаций. Начиная от перезагрузки интерфейса и заканчивая обновлением версии мода — решения самые разные.
  • «Битые» файлы аддон-менеджера. Если элементарная перезагрузка файлов не помогла, то можно попробовать осуществить полный сброс интерфейса WoW.
  • Остаточные переменные кастомной консоли. LUA-ошибку можно ожидать в том случае, если игрок запускает WoW с переменными кастомной консоли, относящимися с аддону, который давно был удален. Чтобы разрешить ситуацию, достаточно избавиться от этих переменных.
  • В WoW установлены устаревшие или более не поддерживаемые аддоны. Тут все довольно просто: в актуальной версии WoW установлены модификации, которые давно не обновлялись своими разработчиками или которые более не поддерживаются текущей версией игры. Либо обновляем аддоны, либо полностью удаляем их.

Как исправить LUA-ошибку в World of Warcraft

Метод №1 Перезагрузка игрового интерфейса WoW

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

Итак, чтобы перезагрузить интерфейс WoW, вам нужно просто открыть игровой чат (чат-бокс) и выполнить в нем следующую команду:

/reload

Заметка: этот метод не работает на самых последних версиях WoW, однако он должен сработать на «ванильной» версии.

Метод №2 Полный сброс интерфейса WoW и удаление аддон-менеджера

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

Как выставить панели команд и Назначить клавиши (в WoW)

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

  • Полностью закройте WoW и ее лаунчер (обязательно проверьте, не осталось ли процессов игры в диспетчере задач);
  • нажмите Win+R и выполните appwiz.cpl;
  • найдите в списке установленных программ аддон-менеджер WoW;
  • кликните ПКМ на менеджер и выберите «Удалить»;
  • выполняйте все инструкции перед вами, чтобы избавиться от аддон-менеджера;
  • перезагрузите компьютер;
  • перейдите в корневую папку World of Warcraft;
  • переименуйте следующие три папки:
  • Cache→Cache.Damaged
  • Interface→Interface.Damaged
  • WTF→WTF.Damaged

Проверьте, перестала ли появляться ошибка LUA или нет.

Метод №3 Сброс переменных кастомной консоли

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

Вот как производиться сброс переменных консоли WoW:

  • запустите WoW и откройте чат-бокс, когда это будет возможно;
  • выполните в чат-боксе следующие команды:
  • /console Cvar_reset
  • /console cvar_defaut

Заметка: игнорируйте любые ошибки о правах после ввода этих команд — все нормально.

Метод №4 Удаление аддона Cartographer (или любого другого устаревшего аддона)

Оказывается, LUA-ошибки можно получить в том случае, если вы запускаете WoW с устаревшими аддонами, которые больше не могут работать с текущей версией игры. Вам необходимо избавиться от всех устаревших аддонов, после чего снова зайти в игру и проверить, была ли решена проблема. Сразу хочется отметить, что каждый аддон удаляется по разному, а поэтому мы не сможем помочь вам с процессом деинсталляции. Интересный факт: зачастую ошибки LUA возникают из-за аддона Cartographer.

Метод №5 Отключение сообщений ошибок LUA

Если у вас не получается избавиться от надоедливых LUA-ошибок (или вы не можете определить причину их появления), то мы рекомендуем не заморачиваться и попросту отключить сообщения о них. Делается это следующим образом:

  • запустите WoW и откройте чат-бокс, когда появится такая возможность;
  • пропишите в чат-боксе команду /console scriptErrors 0 и нажмите Enter;
  • перезапустите WoW.

После этого вы гарантировано перестанете видеть ошибки LUA. Выполните команду /console scriptErrors 1, чтобы снова активировать функцию отображения сообщений об ошибках.

Источник: gamesqa.ru

Мультибоксинг в World of Warcraft (продолжение)

Это вторая часть статьи о мультибоксинге в World of Warcraft. В этот раз мы займёмся лечением группы, немного затронем тему расстановки нашего отряда, узнаем, как работает последовательность заклинаний, оптимизируем графические настройки. В конце прилагается ряд полезных макросов, который сделает легче жизнь мультибоксера в WoW.

Мультибоксинг в World of Warcraft (продолжение)

Нередко мне приходится слышать от других игроков вопрос: «Как прокачать больше пяти персонажей?». Всем известно, что в World of Warcraft установлен лимит в пять человек для группы, выполняющей какое-либо задание. Трудности возникают, когда размер группы превышает этот лимит — выполнение обычных квестов не засчитываются. Обойти это ограничение нельзя, но можно свести неудобства к минимуму.

Допустим, вы хотите иметь десять персонажей. Для этого:

  • Создайте две отдельные группы, в каждой из которых будет по пять героев.
  • У каждого героя есть какая-то основная атакующая способность — в каждой группе закрепите её на разных кнопках. Пускай кнопка 1 будет посылать команду первой группе, а при нажатии на 2 будет атаковать вторая группа.
  • Убийства будут засчитываться той группе, которая нанесла урон раньше.

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

Тем, кто управляет окнами через программу HotkeyNet, пригодятся специальные скрипты, облегчающие развитие больших групп. Подробности об этом смотрите в материале HotkeyNet и World of Warcraft: быстрый старт.

Лечение группы

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

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

Однако, такие критические моменты, когда нужно срочно восстановить здоровье главному, будут случаться на каждом шагу. И будет неудобно постоянно выделять самого себя, а промедление может стоить жизни. К тому же, с привычной всем клавишей Alt персонажи будут лечить каждый себя, но не главного персонажа.

Читайте также:  World of warcraft кто самый сильный

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

/cast [mod:shift, target=player] лечащее_заклинание
/cast [mod:alt, target=focus, exists] лечащее_заклинание
/cast [mod:alt, target=player] лечащее_заклинание
/cast [nomod, target=focustarget, exists, noharm] лечащее_заклинание
/cast [nomod] лечащее_заклинание

  • Первая строка позволит сохранить героям возможность лечить самих себя, только теперь это делается с зажатой клавишей Shift .
  • Вторая строка, благодаря параметру «target=focus, exists», будет срабатывать только в тех случаях, если у персонажа есть в фокусе цель (для нас это означает, что он ведомый и за кем-то следует).
  • Третья строка сделана для главного персонажа, ведь у него в фокусе нет цели, значит вторая строка будет пропущена и сработает третья — он будет пытаться лечить сам себя.
  • Последние две строки отвечают за лечение выбранной цели без дополнительно удерживаемых модификаторов — побочные персонажи будут лечить цель главного, а основной просто произнесёт заклинание на этой цели.

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

/cast [mod:shift, target=player] [mod:alt, target=focus, exists] [mod:alt, target=player] [nomod, target=focustarget, exists, noharm] [nomod] лечащее_заклинание

Шаманские обряды

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

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

Если у вас установлена простая управляющая программа, не позволяющая передавать разные нажатия в окна, то придётся поменять клавиши в самой игре. Для этого зайдите в окно назначения клавиш и задайте побочным персонажам разные клавиши движения. Использование модификаторов даст больше контроля в процессе расстановки. Главному персонажу нужно убрать альтернативные кнопки — им мы будем управлять как обычно.

Пример управления стрелками для расстановки пятиконечной звезды будет выглядеть так:

Клавиша Окно #1 Окно #2 Окно #3 Окно #4 Окно #5
Вперёд W W W W W
Назад S S S S S
Влево Q Ctrl + Right Ctrl + Right Ctrl + Left Ctrl + Left
Вправо E Ctrl + Left Ctrl + Left Ctrl + Right Ctrl + Right
Вперёд (Клавиша 2) Up Ctrl + Up Ctrl + Up Up
Назад (Клавиша 2) Down Ctrl + Down Ctrl + Down Down
Влево (Клавиша 2) Right Left
Вправо (Клавиша 2) Left Right

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

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

/cast [target=ник_персонажа] Chain Heal(Rank 1)

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

Дополним макросы по аналогии с примером в начале статьи.

Это требуется для того, чтобы иметь возможность лечить самого себя или других игроков цепным исцелением во время боя, а с нажатым модификатором Shift «нарисовать» звезду после должной расстановки:

/cast [mod:shift, target=ник_персонажа] Chain Heal(Rank 1); [mod:alt, target=player] [nomod, target=focustarget, exists, noharm] [nomod] Chain Heal

Последовательность заклинаний (castsequence)

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

Допустим, у нас есть танк паладин. Для набора угрозы на цели паладин использует повторяющуюся комбинацию из таких заклинаний как «Consecration», «Holy Shield» и «Seal of Righteousness». Вместо того, чтобы поочередно нажимать разные кнопки, их можно уместить в примерно такой макрос:

/castsequence [combat] reset=combat/10 Seal of Righteousness, Consecration, Holy Shield, Consecration, Holy Shield, Consecration, Holy Shield

  1. В квадратных скобках добавлено необязательное условие «combat», которое не даст нам случайно использовать макрос вне боя.
  2. Параметр «reset» в нашем случае принимает два аргумента, которые будут возвращать нашу последовательность в начало при изменении режима боя или при простаивании в десять секунд.
  3. Дальше идёт оптимальным образом подобранная последовательность заклинаний. Нажав на макрос в первый раз, паладин активирует печать для дополнительного урона, при втором нажатии — заклинание на урон по площади, на третьем мы получим дополнительную защиту и т. д. А в конце последовательность пойдет на новый круг.

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

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

Если вы используете последовательность заклинаний для атаки побочными персонажами, то не забудьте в начало добавить команду «assist».

Особенности команды /castsequence

  1. Эта команда совершает только одно действие при каждом нажатии. Нельзя одним нажатием заставить её пройти по всему списку.

Изменение графических настроек «на лету»

Иногда игрокам не нравится, что из-за большого количества окон приходится понижать качество графики. World of Warcraft позволяет консольными командами изменять отдельные настройки. Существует огромное количество консольных команд — узнать, какая их них за что отвечает, можно здесь. Записав некоторые из них в макрос, впоследствии можно будет одной кнопкой понизить или повысить детализацию. Таким образом, в окне, которым мы управляем, всегда будет качественное изображение, а второстепенные окна будут потреблять заметно меньше ресурсов.

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

Повышенные настройки графики:

/console maxFPS 60
/console farclip 357
/console spellEffectLevel 9
/console SmallCull 0.010000
/console groundEffectDensity 64
/console groundEffectDist 140
/console weatherDensity 3
/console ffxGlow 1
/console shadowLOD 1

Пониженные настройки графики:

/console maxFPS 20
/console farclip 177
/console spellEffectLevel 0
/console SmallCull 0.070000
/console groundEffectDensity 16
/console groundEffectDist 70
/console weatherDensity 0
/console ffxGlow 0
/console shadowLOD 0

Рассмотрим эти команды подробнее:

  • maxFPS — ограничивает количество кадров в секунду. Не рекомендуется сильно занижать данный параметр — могут возникнуть проблемы с управлением.
  • farclip — устанавливает дальность видимости ландшафта и тумана. За пределами этого расстояния виден только рельеф.
  • spellEffectLevel — уровень эффектов от заклинаний.
  • SmallCull — влияет на дальность видимости небольших объектов.
  • groundEffectDensity — используется для изменения количества наземных деталей, таких как трава.
  • groundEffectDist — изменяет дальность видимости наземных объектов.
  • weatherDensity — отвечает за уровень погодных эффектов.
  • ffxGlow — включает эффект свечения.
  • shadowLOD — включает отбрасывание теней.
Читайте также:  Задачи в world of warcraft

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

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

Безопаснее будет изменить нужные графические настройки через привычный раздел меню и закрыть игру. Затем откройте файл «config.wtf», находящийся в каталоге с игрой, отследите изменения, которые в нём произошли, и запишите новые значения в макрос. Для просмотра удобнее вместо Блокнота воспользоваться WordPad’ом или более продвинутым текстовым редактором.

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

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

Каждый персонаж имеет макрос «/clearfocus», который делает его ведущим — сюда добавляем список с повышенными настройками графики. И есть несколько макросов с именами остальных персонажей. Добавив в каждый из них консольные команды с пониженными значениями графики, мы будем экономить огромное количество ресурсов компьютера. В стартовой локации это может быть не критично, но в крупных городах и на полях сражений это будет весьма ощутимо.

Другие полезные макросы

Подтверждение сообщений из всплывающего окна

Этот макрос выполняет разные действия, связанные с всплывающими окнами:

  • Принимает приглашение в группу.
  • Принимает задание через открытый диалог с квестовым NPC.
  • Завершает сделку в окне торговли с другими игроками.
  • Игрок оживает после того, как был воскрешён союзником.
  • Выпускает дух из тела после смерти.
  • Последняя строка будет нажимать первую кнопку в предупредительных сообщениях. Например, перед удалением редких предметов, перед накладыванием магических эффектов на уже зачарованный предмет, в приглашениях на арену, при проверке готовности к призыву колдуном и в других подобных ситуациях.

/script AcceptGroup()
/script AcceptQuest()
/script AcceptTrade()
/script RetrieveCorpse()
/script RepopMe()
/click StaticPopup1Button1

Сброс ракурса камеры в исходное состояние

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

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

/script SetView(4); SetView(4)

Два раза команда пишется для того, чтобы сделать сброс моментальным. Попробуйте менять число в скобках от 1 до 5 — быть может другой ракурс вам покажется удобнее.

Логаут

Тут ничего сложного — обыкновенный выход из игры на окно выбора персонажа без перезапуска игрового клиента.

/logout

Разные ездовые животные в одном макросе

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

/use [nomod] Horn of the Frostwolf Howler; [mod:shift] Swift Red Windrider

Назначение ассистентов в рейде

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

/run PromoteToAssistant(‘ник_персонажа_2’)
/run PromoteToAssistant(‘ник_персонажа_3’)
/run PromoteToAssistant(‘ник_персонажа_4’)
/run PromoteToAssistant(‘ник_персонажа_5’)

Сбор предметов и денег из почтового ящика

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

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

/script CheckInbox() for m = GetInboxNumItems(), 1, -1 do TakeInboxItem( m ) end

Второй макрос делает то же самое с золотом:

/script CheckInbox() for m = GetInboxNumItems(), 1, -1 do TakeInboxMoney( m ) end

Сбор и роспуск группы

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

/jamba-team invite

/jamba-team disband

В старых версиях Jamba компонент «jamba-team» назывался «jamba-group», поэтому при использовании старой версии эти команды будут начинаться с «/jamba-group».

Без аддона Jamba это работает так:

/invite ник_персонажа_2
/invite ник_персонажа_3
/invite ник_персонажа_4
/invite ник_персонажа_5

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

Источник: www.slashfocus.ru

Горячие клавиши и макросы для удобства игры в WoW

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

1.9.1. Одевание предметов

Существует две команды для одевания предметов: /equip и /equipslot. /equip просто использует имя предмета и одевает его в слот по умолчанию, как если бы вы щелкнули по предмету правой кнопкой в вашей сумке (т.е. одноручное оружие будет одето в основную руку). /equipslot использует в параметре ID ячейки (для подробностей читай (http://www.wowwiki.com/InventorySlotId) и имя предмета и одевает его в указанную ячейку. Примеры:

Надевает оружие в ячейку по умолчанию:
/equip Honed Voidaxe

Одевает тринкет в нижний тринкет-слот:
/equipslot 14 Carrot on a Stick

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

1.9.2. Последовательности заклинаний и предметов

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

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

/castsequence Immolate, Corruption, Curse of Agony, Siphon Life

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

/castsequence Overpower, Execute, Mortal Strike

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

Где n – число секунд. Вы можете указывать любое количество этих условий, разделенных косыми чертами «/». Секунды используются как таймаут для команды. Каждый раз во время выполнения последовательность сбрасывает таймер. Если макрос не был использован вами в течении заданного времени, последовательность начнется заново.

Читайте также:  Сундук из варкрафта своими руками

Это очень важное отличие, так как таймер сброса невозможно использовать, чтобы подсчитать время кулдаунов. target сбрасывает последовательность при смене целей; combat – если вы выходите из режима боя; shift, alt и crtl – сбрасывают, если вы активируете макрос с зажатием одной из этих кнопок. Пример:

/castsequence reset=10/shift Spell 1, Other Spell, Some Item

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

1.9.3. Случайные заклинания и предметы

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

/castrandom Swift Green Mechanostrider, Black Battlestrider, Summon Dreadsteed

1.9.4. Атака

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

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

1.9.5. Манипулирование панелью действий

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

/cast Aspect of the Hawk
/changeactionbar 1

/cast Aspect of the Monkey
/changeactionbar 2

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

/swapactionbar 1 2

1.9.6. Удаление баффов

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

/cancelaura Blessing of Salvation

1.9.7. Выход из форм

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

/cancelform
/use Super Healing Potion

1.9.8. Прерывание заклинаний

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

/stopcasting
/cast Shadowburn

1.9.10. Преждевременное прерывание макросов

/stopmacro одна из тех команд, бесполезных сами по себе, кроме тех случаем когда используется вместе с опциями макросами. Ее основное использование – создание «провальной» логики, предупреждающей исполнение макроса при срабатывании определенных условий. Для примера смотрите раздел «Использование фокуса» в конце Части 2.

1.9.11. Спешивание

Ну что тут еще сказать…

1.9.12. Сохранение целей для последующих нужд

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

/target focus
/cast Polymorph
/targetlasttarget

Замечу, что это не самый эффективный способ использовать возможности фокуса. Читайте «Использование фокуса» в Части 2 для более глубокого разбора этой механики.

1.9.13. Симуляция нажатия кнопок

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

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

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

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

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

/click BrowseBuyoutButton
/click StaticPopup1Button1

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

1.10. Продвинутые скрипты

1.10.1. Чего не могут скрипты

Скрипты очень мощный инструмент, позволяющий принимать сложные решения на основе каких-то критериев. Из-за этой мощи, Blizzard ограничил тип дозволенных вещей, чтобы запретить макросам и аддонам выполнять действия, которые должен выполнять сам игрок. Я начинаю этот раздел с ограничений, чтобы у вас не было неоправданных надежд. Хотя скрипты полезны во многом, вы не можете использовать их чтобы читать заклинания, применять предметы, менять страницы панелей действий или влиять на вашу цель. Вы ограничены набором «безопасных» команд, уже описанных нами выше.

1.10.2. Что такое скрипт?

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

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

Blizzard предоставляет множество функций (именуемых API), которые могут использовать Lua скрипты, чтобы контролировать UI. Вы можете просмотреть API и другие возможности системы UI по ссылке http://www.wowwiki.com/Interface_Customization (если вы начнете писать скрипты и аддоны, то обнаружите WoWWiki незаменимым ресурсом в этом деле). Я не могу открыть вам все детали окружения UI, потому просто приведу в пример одного из моих любимых скриптов.

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

/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

Есть две причины, по которым все выглядит крайне спутанным. Первая – ограничение в 255 символов; вам часто доведется «зарезать углы» чтобы запихнуть ваш макрос в этот рубеж. Вторая – необходимо чтобы весь скрипт находился в одной строке. При совершенных условиях, этот скрипт мог бы выглядеть так:

for i = 1, GetNumRaidMembers() — 1 do

if UnitIsUnit(unit..”target”, “target”) then

SendChatMessage(”Change targets! Trying to sheep…”, “WHISPER”, nil, UnitName(unit))

Источник: www.mmohelper.ru