img
Мой профиль | Регистрация | Выход Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Классы » Шаман! » Макросы для шамана! (Макросы для шамана!)
Макросы для шамана!
adminДата: Пятница, 21.11.2008, 20:05 | Сообщение # 1
Админ
Группа: Администраторы
Сообщений: 65535
Репутация: 3
Статус: Offline
Ну поскольку нет прикрепленной темы про макросы, то я решил начать новую, тем более, что сейчас старые не работают, а про синтаксис никто ничего толком сказать не может.

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

В WOW 2.0 макросы и аддоны очень сильно изменятся. Недавно Slouken обявил нововведения в функционировании макросов в WoW 2.0, набор опций (условий) для /cast, /use, /target, /focus, /assist, /stopmacro, /cancelaura, /userandom, /castrandom, /castsequence слэш-команд. Этот пост планировался как гайд для чайников по их использованию.

Примечание: Хотя в большинстве приведенных примеров используется "/cast", эти опции применимы ко всем слэш-командам, перечисленным выше.

Большинство старых макросов бесполезны в 2.0. Достаточно сказать, что некоторые типа CastSpellByName() или TargetUnit()больше не работают в бою. Кроме того, большинство "составленных напрямую" макросов так же не будут работать. Однако, вы можете заменить функциональность многих популярных макросов этими новыми Макро Опциями.

На самом деле использование '/cast' очень просто. Формат команды следующий
'/cast <spellname>' (кастует максимальный ранг указанного спелла),
или
'/cast <spellname>(Rank <#>)'.
Например:

/cast Greater Heal
/cast Arcane Intellect(Rank 3)

В новой системе этот формат работает точно так же, однако вы можете добавить опции, придав тем самым больше гибкости вашей команде. Новый формат команды '/cast':

'/cast [<первый набор опций>] <первый spellname>; [<второй набор опций>] <второй spellname> ; [<третий набор опций>] <третий spellname>; ...'

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

Возможно использование следующих опций:

help - равняется 'true' если цель дружественная

harm - равняется 'true' если цель враждебная

combat - равняется 'true' если вы в бою.

stance или stance:# - равняется 'true' если вы в стойке (состоянии), или в конкретной стойке (состоянии) (см. ниже)

stealth - равняется 'true' если вы в состоянии невидимости.

modifier или modifier:shift|ctrl|alt - равняется 'true' если указанная клавиша удерживается нажатой во время запуска команды.

equipped:<item> - равняется 'true' если указанная вещь надета. Вещью может быть соответствующий слот инвентаря, класс или суб-класс вещей.

target=<unit> - Специальная опция. Меняет цель от принятого по умолчанию "target" на любой действующий юнит. (см. ниже)

actionbar:<number> - равняется 'true' если текущая панель actionbar совпадает с указанной.

Новые опции:
pet:<pet type ИЛИ pet name> - равняется 'true' если пет существует. Допустимо использовать тип пета (Owl, Bear, Imp) или имя пета (Fluffy, MrBigglesworth). без модификатора (т.е. просто [pet]) равно 'true' если существует ЛЮБОЙ пет.

mounted, swimming, flying - равно 'true' если вы на маунте, плаваете или летите.

indoors, outdoors - равняется 'true' если вы внутри или снаружи помещения, соответственно.

button:<#> - равно 'true' если указанная кнопка использована для нажатия 'click' спелла, по умолчанию 1 (см. ниже).

channeling:<spell> - равно 'true' если вы кастуете channeling-спелл, равно true если любой спелл удерживается какое-то время.

exists и dead - равно true если цель существует в настоящее время, или умерла, соответственно.

party - равно true если цель является членом вашей группы

raid - равно true если цель является членом вашей группы или рейда

group - равно true если вы в группе

group:party/raid - равно true если вы находитесь в конкретном типе группы.

НОВЫЕ МАКРО КОМАНДЫ
---------------------------
/castsequence - кастует определенный набор спеллов в последовательности (см.ниже)
# show <spell>- показывает macro feedback для указанного спелла

Несколько дополнительных приемов, которые можно использовать:
Вы можете добавить 'no' в начале любой опции (кроме target) чтобы инвертировать ее, т.е. 'nocombat' будет работать только если вы НЕ в бою.
Разделение опций запятой ',' будет работать как 'and' подстановка; если оба условия выполняются (true), кастуется спелл.
Разделение аргументов внутри опции слэшем '/' работает как 'or' подстановка; если один из аргументов true, то запускается команда. Заметьте, это работает только между аргументами внутри одной опции, а не между опциями (так [stance:1/2] верно, а [combat/help] нет).
Выбор '?' иконки в редакторе макросов заставит подставить иконку данного спелла, для которого дается описание в макросе.

Несколько полезных примеров:

/cast Greater Heal
Очень простой макрос, который кастует Greater Heal на вашу цель.

/cast [help] Greater Heal
Одна опция добавлена. Кастуется Greater Heal ЕСЛИ цель дружественная.

/cast [help] Greater Heal; Smite
Второе заклинание добавлено. Поскольку оно не имеет опций, то будет кастоваться всегда, когда первое условие не выполняется.

/cast [help, combat] Flash Heal; [help, nocombat] Greater Heal; Smite
Этот макрос будет кастовать Flash Heal на дружественную цель, если вы (а не ваше цель) находитесь в бою. Если вы не в бою и цель дружественная, будет кастоваться Greater Heal. Если ни одно из условий не выполняется (т.е.цель не дружественная) будет кастоваться Smite.

/cast [help] Greater Heal; [harm, combat] Smite; [harm, nocombat] Mind Flay
Кастуется Greater Heal на дружественную цель, или Smite если игрок в бою, или Mind Flay если игрок не в бою и цель враждебная.

/cast [stealth] Ambush; Backstab
Это будет кастовать Ambush если игрок в стелсе, Backstab если нет.

/cast [nostealth] Backstab; Ambush
Делает точно то же самое что и предыдущий макрос, только другим способом.

/cast [actionbar:1] Greater Heal; [actionbar:2] Smite
Кастуется Greater Heal если текущая панель actionbar is #1, Smite если она #2, ничего если панель 3+ выбрана.

/cast [harm] Polymorph
/stopmacro [noharm]
/p Sheeping %t! DO NOT TOUCH!
Этот макрос кастует Polymorph если цель враждебная, потом останавливает макрос, если цель не враждебная (т.е. если polymorph не исчез). Затем он говорит группе, что цель была заовцована. Заметьте, что благодаря '/stopmacro' команде, если цель не была заовцована, группа не получит сообщения (что сокращает ненужный спам).

/cast [nopet] Call Pet; Revive Pet
Этот макрос вызывает вашего пета если у вас его нет в данный момент, иначе (если есть, но сдох) пытается кастовать Revive Pet.

/cast [pet:owl] Dive; [pet:cat] Dash; [pet] Growl
Этот макрос кастует Dive если у вас сова, Dash если кот, или Growl если у вас кто-либо другой.

/cast [pet:Voidwalker] Sacrifice; [pet:succubus] Seduction
Кастует Sacrifice если у вас вызван Войд, Seduction если суккуба.

/use [nomounted,outdoors] Black War Steed Bridle
Это пытается посадить вас на лошадь если вы еще не на лошади и находитесь вне помещения.

/cast [target=pet,dead] Revive Pet; [nopet] Call Pet; Mend Pet
Это воскресит вашего пета, если он мертв, вызовет его, если он не вызван, либо будет лечить вашего пета.

/cast [group:party] Arcane Brilliance; Arcane Intellect
Кастуется AB если вы в пати, или AI если нет.

/cast [raid] Blessing of Wisdom
Кастует Blessing of Wisdom если ваша цель находится в одном рейде с вами.

----------------
Состояния (стойки):
----------------

Stances работают таким же образом. Если не указан номер стенса, то она равна 'true' если игрок находится в любом стенсе. (Замечание для Warrior'ов, вы ВСЕГДА в каком-либо стенсе). если номер указан, то проверяется, действительно ли указанная форма активна в данный момент.

Каждый класс имеет разные номера для своих стенсов. Вот перечень стенсов с номерами:

Class: | Warrior | Priest | Druid | Rogue

---------------------------------------------------------------

Stance:1 | Battle | Shadowform | Bear | Stealth

---------------------------------------------------------------

Stance:2 | Defensive | |Aquatic

---------------------------------------------------------------

Stance:3 | Berserker | | Cat

---------------------------------------------------------------

Stance:4 | | | Travel

---------------------------------------------------------------

Stance:5 | | |Moonkin/Tree

---------------------------------------------------------------

Паладинские ауры больше не рассматриваются как Stances системой Макро-опций.

Заметьте, что если вы пропустили стенс (как Warrior, никогда не делавший Defensive Stance квест) то ваш перечень стоек будет другим, т.е. Berserker Stance будет stance 2.

Несколько примеров.
/cast [nostance] Bear Form
если вы не в какой-либо форме, это превратит вас в медведа.

/cast [stance:1] Overpower; [stance:2] Sunder Armor; [stance:3] Whirlwind
Кастуется Overpower в Battle stance, Sunder Armor в Defensive, и Whirlwind в Berserker stance

/cast [stance:1] Growl; [stance:3] Claw
Кастует Growl в Bear form, или Claw в Cat form.

/cast [nostance:3] Cat Form
Превратит вас в кота, если вы еще не кот. Если вы уже в Cat form, макрос НЕ переключит вас из этой формы.

[equipped] опция работает так же, но чуть сложнее. Аргументом может быть или Слот Инвентаря (см. ниже), или item type, или item subtype. Перечень типов и подтипов вещей можно увидеть здесь: http://www.wowwiki.com/ItemType

Перечень слотов инвентори:
Two-Hand
Bag
Shirt
Chest
Back
Feet
Finger
Hands
Head
Held In Off-hand
Legs
Neck
Ranged
Chest
Off Hand
Shoulder
Tabard
Thrown (ranged slot items like thrown daggers)
Trinket
Waist
One-Hand
Main Hand
Off Hand
Wrist

Несколько примеров проверки экипировки:

/cast [equipped:Two-Handed Swords] Mortal Strike; Heroic Strike
Кастует Mortal Strike если вы используете двуручный меч.

/cast [equipped:Two-Handed Swords/Two-Handed Maces/Two-Handed Axes/Polearms] Mortal Strike
Здесь используется '/' модификатор для установки 'or' условия. Этот макрос кастует Mortal Strike используется ЛЮБОЙ из указанных видов оружия.

/cast [equipped:Shields] Shield Bash
Кастует Shield Bash если вы используете щит.

/cast [equipped:Shields, equipped:Daggers] Shield Slam
Кастуется Shield slam только если вы используете кинжал И щит.

/cast [noequipped:Shields, equipped:Off Hand] Rampage
Кастует Rampage если вы НЕ используете щит, И у вас есть что-то в off-hand слоте. В теории этот макрос активируется ТОЛЬКО если вы сражаетесь двумя руками (ну, блин, не переводится точно if you are dual-wielding).


Думать меньше надо, а соображать больше.
 
adminДата: Пятница, 21.11.2008, 20:12 | Сообщение # 2
Админ
Группа: Администраторы
Сообщений: 65535
Репутация: 3
Статус: Offline
Опция [button:<x>] работает так же как кнопка модификатора. Обычно, если вы делаете left-click на кнопку, it выполняется действие-спелл, или в нашем случае макрос. Однако, если вы укажете button-опцию, вы частично измените действие макроса.

Кнопка (button) по умолчанию 1, левая кнопка мыши. Причем если вы активируете действие с помощью забинденой клавиши, это расценивается как левый клик мышью. Нумерация кнопок такова:
1 или LeftButton
2 или RightButton
3 или MiddleButton
4 или Button4
5 или Button5
... Или любыи клавиши, переназзначенные 'by the secure state headers'. Если честно я не знаю, что значит эта последняя фраза, я просто цитирую slouken.

/cast [button:2,target=player] Flash Heal; [help] Flash Heal
Этот макрос кастовал бы Flash Heal на дружественную цель, ИЛИ если вы кликнете его ПРАВОЙ кнопкой мыши, он будет кастовать Flash Heal на вас.

[target=unit] это специальная опция. Вместо того, чтобы приравнивать ее к 'true' или 'false', она меняет цель последующего спелла И цель остальных параметров (опций).

"Unit"ом может быть любой действующий юнит, т.е. "player" (сам игрок), "target", "targettarget", "party1",

"party1target", и т.д. Хотите больше узнать о типах юнитов - го сюда: http://www.wowwiki.com/UnitId

Кстати, любой спелл имеет цель по умолчанию равную "target". Так, например:

/cast [help] Greater Heal

это то же самое, что и

/cast [target=target, help] Greater Heal

Если вы не добавили [target=unit] опцию, то по умолчанию это будет ваша текущая цель. Возможные варианты [target=unit]:

/cast [target=player] Flash Heal
Этот макрос будет всегда кастовать flash heal на вас (на игрока). Имейте в виду, что ваша текущая цель не изменится.

/cast [help] Flash Heal; [target=targettarget] Flash Heal
Это кастует Flash heal на вашу текущую цель, если она дружественная, ИЛИ кастует Flash Heal на цель вашей текущей цели.

/cast [help, combat] Flash Heal; [help, nocombat] Greater Heal; [target=targettarget, help, combat] Flash Heal; [target=player] Greater Heal

Это будет 1) кастовать flash heal если цель дружественная и вы находитесь в бою, 2) кастовать greater heal если цель дружественная и вы НЕ в бою, 3) кастовать Flash Heal на цель вашей цели если вы в бою и тот юнит дружественный, если не выполняется ни одно из этих условий, макрос будет кастовать Greater Heal на вас.

если вы используете юнит "none" это будет работать, как если вы не имеете текущей цели. Например:

/cast [target=none] Dispel Magic

Кастуется Dispel Magic и затем просят указать цель, при этом неважно какая действительно цель у вас выбрана.

НОВАЯ КОМАНДА: /castsequence
----------------------

Появилась новая команда в WoW 2.0, называется /castsequence.

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

/castsequence [<options>] reset=<#>/target/combat/alt/shift/ctrl <spell1>, <spell2>, <spell3>

"Эээ... че сказал?"

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

"Я по прежнему ни фига не понимаю."

Ok, предположим, вы маг. Иногда вам нужно скастовать Frost Nova и Blink очень быстро. Вы не можете сделать это одновременно, поэтому вы устанавливаете последовательность, чтобы сделать это!

/castsequence Frost Nova, Blink

Вот вы и получили то, что хотели. Когда вы кликаете это первый раз, вы кастуете Frost Nova, затем вы кликаете снова и Blink'аете оттуда подальше.

"А что происходит, если Frost Nova на кулдауне? Будет ли это Blink вместо нее? Или при первом нажатии он пропустит Frost Nova и сделает Blink при следующем клике?"

Ни то, ни другое. Если спелл невозможно скастовать (из-за кулдауна, либо вне зоны действия, нехватка маны, или что-то еще) то последовательность НЕ перейдет к следующему заклинанию. При следующем нажатии макроса, он снова попытается запустить Frost Nova. (Примечание: Резист, додж, парри и т.д. НЕ считаются неудавшимся кастом. Спелл или абилка благополучно ушли, просто вы промазали.)

"А что если я не в бою? Очень не хочется расходовать Frost Nova впустую, если я в данный момент ни с кем не сражаюсь."

Тут вы по-прежнему можете использовать все ранее рассмотренные макро-опции (Однако, вы не можете устанавливать опции для каждого отдельно взятого заклинания, а только для всей последовательности целиком, сорри.)

/castsequence [combat] Frost Nova, Blink

"Ээ, это была просто шутка про ту ситуацию с комбатом. Ок, а что произойдет, если я произнесу Frost Nova, и решу не Blink'ать потом? В следующий раз когда мне понадобится Frost Nova, это дело застрянет на 'Blink'?"

Не проблема. Мы используем новый параметр сброса "reset". Поскольку Frost Nova имеет обычный кулдаун в 24 секунды, мы установим сброс всей последовательности после 24 секунд простоя.

/castsequence reset=24 Frost Nova, Blink

При первом нажатии макроса вы кастуете Frost Nova. Если вы решите, что Blink вам не нужен, после 24 секунд макрос вернется назад на Frost Nova. Раз кулдаун Frost Nova как раз 24 секунды, заклинание будет опять готово к использованию. Отлично!

"Так этот таймер сброса будет всегда сбрасывать через 24 секунды, и неважно что именно?"

Не совсем. Это больше похоже на "установку задержки". Если вы АБСОЛЮТНО не нажимали макрос в течение действия таймера, то он сбросится. Но если вы продолжали спамить макрос, каждое нажатие обновляло таймер сброса, даже при неудачном касте. Короче, вы не можете сделать что-то вроде

/castsequence reset=30 Blast Wave, Arcane Explosion, Arcane Explosion, Arcane Explosion, Arcane Explosion потому что это никогда не сбросится назад на Blast Wave, если только вы не оставите его в покое ровно на 30 секунд.

"Ок, это все на самом деле просто замечательно, но вообще-то я варлок, приятель"

Конечно. Ну, я уверен, что любой варлок постоянно кастует 3 DoT'а снова и снова. Теперь вы можете сделать макрос на всю эту последовательность.

/castsequence Corruption, Immolate, Curse of Agony

Теперь вы можете просто нажать это трижды и скастовать все три ДоТа.

"А что если я умру, так и не закончив последвательности спеллов? Я снова застрял в конце этой последовательности и не установил таймер сброса."

Ничего страшного, мы можем использовать другие возможности. Если установить 'reset=target' то каждый раз, когда меняется цель, последовательность будет сбрасываться на начало. Вы также можете установить 'reset=combat', и игра будет сбрасывать вашу последовательность каждый раз, когда вы выходите из боя. Если вы используете оператор '/' (помните, мы уже говорили о нем раньше?) вы можете комбинировать опции сброса!

/castsequence reset=combat/target Corruption, Immolate, Curse of Agony

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

"А что если я хочу вручную сбросить мою последовательность, а?"

Ну, вы можете добавить модификатор для сброса, например:

/castsequence reset=combat/target/shift Corruption, Immolate, Curse of Agony

Теперь если вы будете удерживать клавишу shift при нажатии макроса, это автоматически сбросит последовательность на начало и вы опять сможете кастовать Corruption.

"Ок, здорово, я думаю теперь мне все понятно! Дай-ка мне секунду щас я сбацаю офигительный макрос..... Готово!"

Отлично, я рад, что смог помочь.

"Так... Как насчет дуэли?"

Хм... нет, спасибо, я не дуэлюсь с варлоками.

"Ну вот, блин, слабааааак".


Думать меньше надо, а соображать больше.
 
adminДата: Пятница, 21.11.2008, 20:13 | Сообщение # 3
Админ
Группа: Администраторы
Сообщений: 65535
Репутация: 3
Статус: Offline
Простенький макрос, заменяющий Decursive, плюс Purge, если цель враждебная. Очень интересно работает.

/cast [target=player, modifier:alt] Cure Poison;[target=mouseover, help] Cure Poison;[help] Cure Poison
/cast [target=player, modifier:alt] Cure Disease;[target=mouseover, help] Cure Disease;[help] Cure Disease;[target=mouseover, harm] Purge;[harm] Purge

Макрос работает так:
1. Если нажат Alt, то работает обычный selfcast Cure Poison или Cure Disease
2. Если цель под курсором дружественная, то кастуется Cure Poison или Cure Disease
3. Если выбрана дружественная цель и мышь ни на кого не показывает, то кастуется Cure Poison или Cure Disease
4. Если под курсором враждебная цель, то кастуется Purge
5. Если выбрана враждебная цель и мышь ни на кого ни показывает, то кастуется Purge.

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


Думать меньше надо, а соображать больше.
 
Форум » Классы » Шаман! » Макросы для шамана! (Макросы для шамана!)
  • Страница 1 из 1
  • 1
Поиск:

Copyright wow-pro.ucoz.ru © 2024