Сейчас: 31.01.2025, 09:53
  • Страница 2 из 2
  • «
  • 1
  • 2
Гайд по макросам World of Warcraft
Дата: Среда, 12.08.2015, 22:14 | Сообщение # 11
Администраторы
  • Сообщений:
    199
  • Награды:
    0
Дополнительные скрипты

Для чего нужны скрипты?

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

Интерфейс WoW контролируется кодом, который написан на языке Lua скриптов. Вы можете использовать преимущества системы скриптов в ваших макросах с помощью команды /run или /script. Целый скрипт должен быть написан одной строчкой. Можно использовать несколько /run в одном макросе.

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

Код
/cast Превращение
/run for i=1,GetNumRaidMembers()-1 do local u,t="raid"..i,"target"ifUnitIsUnit(u..t,t)thenSendChatMessage("Измените цель! Превращаю в овцу...","WHISPER",nil,UnitName(u))end end


Опции макросов
Опции макросов позволяют контролировать действия на основе некоторых условий и правил. Сразу приведу пример – этот макрос произнесет Обновление на  дружественную цель и Слово Тьмы: Боль на враждебную.

Код
/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])

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

Код
/use [@player] Плотные бинты из ткани Пустоты

[target=unit]работает точно также, как и [@unit].
Дата: Среда, 12.08.2015, 22:22 | Сообщение # 12
Администраторы
  • Сообщений:
    199
  • Награды:
    0
Общий синтаксис опций макросов

Все слэш команды работают по одному принципу. У вас есть команда, и есть набор параметров. Параметры зависят от команды, некоторым командам параметры не требуются. Несколько примеров:

Код
/cast Кара
\___/ \___/
|     |
|  параметры
|
команда

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

/castsequence reset=3Dtarget Жертвенный огонь, Порча, Бич агонии, Вытягивание жизни
\___________/ \___________________________________________________________________/
|                    |
команда                            параметры


Опции макросов позволяют вам выбрать набор параметров в зависимости от некоторых критериев. На самом высоком уровне вы устанавливаете наборы критериев/параметров, разделенных точкой с запятой. Точка с запятой рассматривается как «else» (иначе) или «else if» (иначе если). Критерий состоит из нуля и больше наборов условий. Каждый набор условий заключается в квадратные скобки. Иллюстрация синтаксиса:

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


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

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

Каждый набор условий – это обычный список через запятые. Условия могут быть написаны в любом порядке, однако [@unit] всегда находится перед всеми условиями. Запятая – это все равно что «и». Условие [help, nodead, @focus] означает «Мой фокус дружественный И не мертвый».

Замечание: условия очень чувствительны к регистру. Например, если вы напишете [Help]вместо [help], макрос выдаст вам ошибку.

Сами условия состоят из некоторых блоков. Например, вы можете поставить «no» перед условием, и условие станет противоположным. Заметьте, что [nohelp]не означает то же самое, что и [harm]. [harm]и [help]оба возвращают «истину», если существует цель, на которую нужно наложить заклинание. Кроме того, существуют цели, которым нельзя помочь и нельзя навредить.

Некоторые условия имеют свой набор параметров. Например, [stance]означает «в любой стойке» (полезное условие для классов со стойками и формами, кроме воинов, которые всегда находятся в одной из стоек). Однако вы можете обозначить определенные стойки, по которым требуется сделать проверку. Набор параметров начинается с точки с запятой, а каждый параметр отделяется слэшем «/», который означает «или». Общая иллюстрация одиночного условия, где всё в угловых скобках
«<>» является необязательным:

Код
[<no>condition<:parameter</parameter</parameter<...>>>>]


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

Код
/cast [stance:1/2] Удар щитом; Оборонительная стойка

Говоря нормальным языком, мы написали «если мы в стойке 1 или 2, то используем Удар щитом, иначе переключаемся в защитную стойку».

Примечание: «no» на всё условие и все его параметры. [nostance: 1/2] будет означать «всё, кроме стойки 1 или 2».
Дата: Среда, 12.08.2015, 22:27 | Сообщение # 13
Администраторы
  • Сообщений:
    199
  • Награды:
    0
Пустые параметры и условия

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

Код
/petattack [@focus, harm];


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

Код
/petattack [@focus, harm]  ;
\________/ \____________/ V V V
|               |     | | |
команда         опции    | | параметры (пусто)
| |
| опции (пусто)
|
параметры (empty)


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

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

Иногда вам потребуется произнести заклинание на определенную цель при некоторых условиях, но чтобы эта магия работала как обычно, если эти условия не выполняются. Примером такого случая служит следующий макрос. Он произнесет Вспышку света на юнит под вашей мышкой. Если никого под курсором не оказалось или цель враждебная, макрос просто произнесет Вспышку света на вас, если включена опция каста на себя.
Дата: Среда, 11.11.2015, 22:27 | Сообщение # 14
Пользователь
  • Сообщений:
    3
  • Награды:
    0
Выбор цели 

Выбор цели – это ещё одна распространенная задача макросов. Используя обычные макросы, вы произносите заклинания на вашу текущую цель. Комбинирование команд /cast и /target дает возможность менять цель при нажатии на макрос. 

Самая простой макрос выглядит следующим образом: 

Код
/target Raaq

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

чо я :с
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: