пятница, 1 апреля 2011 г.

Макросы для чайников. Часть третья


Продолжаю публикацию гайда комрада Душесоса по макросам.

 Душесос 18 окт 2010, 11:56

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

Повторение пройденного, сложные комбинации, задачки на логику.
Код: 
/cast Настой ледяного змея   /castsequence reset=2 Гнев, Лунный огонь   /cast Жизнецвет

Подумайте, каков будет эффект от данного макроса. А от этого (в цель выбран недружественный игрок)?
Код: 
/castrandom Жизнеотвод, Похищение жизни    /w %t Русская рулетка в действии.    /w %t Кто потеряет хиты в следующий раз? Ты или я?    /y Делай ставку!

Есть ли в этих макросах ошибки? Ответы напишу как-нибудь потом. :)

III. Шире круг.
Расширяем список знакомых команд. Начнем с команд, позволяющих как следует прицелиться.

Часто возникает необходимость взять кого-то в цель. Или, как подвариант задачи, в фокус. Фокус - это некая запомненная цель, за которой вы осуществляете слежение. Вы можете сколько угодно менять свои текущие цели, но при этом отслеживать свой фокус в отдельном фрейме и возвращаться к нему при необходимости. Например, вы наложили на моба контроль и хотите знать, когда он спадет, чтобы немедленно его обновить. Фокус для этих целей - то, что нужно. Для того, чтобы забрать в цель или в фокус определенного субъекта, существуют специальные команды.

А) Начнем с цели. Чтобы взять в цель, скажем, лично Душесоса собственной персоной, используется команда /target:
Код: 
/target Душесос

Старый добрый простой синтаксис: пишем команду, а затем то, к чему ее нужно применить, через пробел. Ровно также как и с командой /cast: пишем команду, а потом заклинание, к которому нужно применить действие "каст". Давайте скомбинируем эти две команды:
Код: 
/target Душесос  /cast Жизнецвет

Этот макрос выберет в цель Душесоса, а затем повесит на него Жизнецвет. Естественно, команда /target и ей подобные не вызывают ГКД, а потому мы смело написали их "в столбик", и это сработает.

(Если в поле вашей досягаемости окажутся Душесос и ДушесосТаврический, команда /target выберет ближайшего из них и это может оказаться Таврический, к моему разочарованию. Чтобы этого не случилось, можно использовать команду /targetexact, которая будет искать полнейшее соответствие тому, что написано после нее. С другой стороны,
Код: 
/target Душ

найдет и Душесоса, и Душесова, а
Код: 
/targetexact Душ

не найдет ни того, ни другого.

Второй нюанс заключается в том, что
Код: 
/targetexact Душесос

найдет и выберет в цель меня, даже если я в сотне ярдов от вас. Вы не сможете повесить на меня Жизнецвет, но эта команда все понимает буквально, в отличие от команды /target, которая попытается найти что-то релевантное и может подсунуть вам кого-то другого на Д, если он доступен, а я нет.)

В качестве объекта для команд /target и /targetexact может быть использован любой идентификатор цели, не обязательно имя персонажа. Например, это может быть "pet", тогда в цель будет выбран питомец, или "player", тогда будет выбран ваш персонаж. Список всех разрешенных идентификаторов цели можно посмотреть тут.

Поскольку там махровый программистско-английский, выпишу их сюда с пояснениями в порядке условной значимости:
player - ваш персонаж
pet - ваш питомец
target - ваша цель (целиться в цель несколько странно, конечно, но не спешите с выводами)
focus - ваш предварительно запомненный фокус
mouseover - персонаж, находящийся под указателем мыши (интересно, что если у вас под мышью фрейм персонажа, это тоже считается, хилам на заметку)
partyN - член группы с номером N (N - число от 1 до 4)
partypetN - питомец N-ного члена группы (да, его может и не быть)
raidN, raidpetN - то же для рейда (N - число от 1 до 40)
arenaN - N-ный опонент на арене (N - число от 1 до 5)
bossN - N-ный босс энкаунтера, если боссов в бою несколько (N - число от 1 до 4)
npc - неигровой персонаж, с которым вы в данный момент взаимодействуете. очень хитрая опция...
none - никто. в качестве цели можно указать конкретно никого и, как бы глупо это ни звучало, изредка это полезно.
Для написания макросов реально значимыми являются первые 5, остальное куда актуальнее при написании скриптов, а до этого мы с вами в этом году не доберемся. Так что посмотрите, но не засоряйте голову.

А вот про эту опцию знать обязательно надо. К любому идентификатору цели в конец может быть дописано "target". Например, если к идентификатору pet дописать в конец target и прицелиться в это дело, получится такая команда:

Код: 
/target pettarget

Этой командой мы выбираем в цель цель своего питомца. И вот тут всплывает идентификатор target в полный рост. Так, следующей командой мы выбираем цель нашей цели:
Код: 
/target targettarget

Уловили суть? Ну, если хотя бы с третьего раза, то из вас получится отличный макросописец :)
Тогда добью вас сообщением, что команда
Код: 
/target targettargettargettargettargettargettargettarget

не только работает, но и делает, что должна: выбирает в цель цель цели цели цели цели цели цели вашей цели. :ROFL:


B) Для того, чтобы забрать кого-то в фокус, используется команда /focus. Если не использовать после этой команды ничего, команда заберет в фокус вашу текущую цель.
Код: 
/focus

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

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

С) Остальные команды прицеливания я презентую вам скопом. Просто знайте, что они есть, пригождаться они будут в весьма специфических ситуациях.
/assist - устанавливает целью цель вашей цели. Если я не взорвал вам мозг этой правдивой фразой, вот пример: если у меня в цели Мотыга и вы напишете
Код: 
/assist Душесос

то вашей целью установится Мотыга. Аналогично кнопке "F", если вы ее не переназначили.
/cleartarget - сбрасывает вашу цель, теперь вы ни в кого не целитесь.
/targetlasttarget - возвращает вас к предыдущей цели. Если вы целились в Мотыгу, потом прицелились в меня, то после использования этой команды вы снова целитесь в Мотыгу.
/targetlastenemy - тот же эффект, но исключительно для врагов. В списке ваших последних целей находится последняя враждебная цель и происходит переключение на нее.
/targetlastfriend - тот же эффект, но исключительно для друзей.
/targetenemy - выбирает в цель ближайшее враждебное существо. Аналогично кнопке Tab.
/targetfriend - то же, но для дружественных целей. Аналогично Ctrl-Tab.
/targetparty - выбирает в цель ближайшего члена вашей группы.
/targetraid - выбирает в цель ближайшего члена вашего рейда.

(Подобно тому, как работает кнопка Tab, работают и эти команды. То есть, при последовательных нажатиях макросы с этими командами будут перебирать ближайшие легальные цели. Это позволяет, например, последовательно обвесить всех в группе Жизнецветом, если вам приспичило:
Код: 
/targetparty  /cast Жизнецвет

15 нажатий - и вся группа под тремя стаками блумов.)

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



Комментариев нет:

Отправить комментарий

Related Posts Plugin for WordPress, Blogger...