Продолжаю публикацию гайда комрада Душесоса по макросам.
Душесос 18 окт 2010, 11:56
Напишу еще главку. Я правда-правда, очень настоятельно рекомендую пробовать то, что написано в тексте в живую. Иначе уже в этой главе вы начнете терять нить, если раньше с макросами не сталкивались.
Повторение пройденного, сложные комбинации, задачки на логику.
Подумайте, каков будет эффект от данного макроса. А от этого (в цель выбран недружественный игрок)?
Есть ли в этих макросах ошибки? Ответы напишу как-нибудь потом.
III. Шире круг.
Расширяем список знакомых команд. Начнем с команд, позволяющих как следует прицелиться.
Часто возникает необходимость взять кого-то в цель. Или, как подвариант задачи, в фокус. Фокус - это некая запомненная цель, за которой вы осуществляете слежение. Вы можете сколько угодно менять свои текущие цели, но при этом отслеживать свой фокус в отдельном фрейме и возвращаться к нему при необходимости. Например, вы наложили на моба контроль и хотите знать, когда он спадет, чтобы немедленно его обновить. Фокус для этих целей - то, что нужно. Для того, чтобы забрать в цель или в фокус определенного субъекта, существуют специальные команды.
А) Начнем с цели. Чтобы взять в цель, скажем, лично Душесоса собственной персоной, используется команда /target:
Старый добрый простой синтаксис: пишем команду, а затем то, к чему ее нужно применить, через пробел. Ровно также как и с командой /cast: пишем команду, а потом заклинание, к которому нужно применить действие "каст". Давайте скомбинируем эти две команды:
Этот макрос выберет в цель Душесоса, а затем повесит на него Жизнецвет. Естественно, команда /target и ей подобные не вызывают ГКД, а потому мы смело написали их "в столбик", и это сработает.
(Если в поле вашей досягаемости окажутся Душесос и ДушесосТаврический, команда /target выберет ближайшего из них и это может оказаться Таврический, к моему разочарованию. Чтобы этого не случилось, можно использовать команду /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 в полный рост. Так, следующей командой мы выбираем цель нашей цели:
Уловили суть? Ну, если хотя бы с третьего раза, то из вас получится отличный макросописец
Тогда добью вас сообщением, что команда
не только работает, но и делает, что должна: выбирает в цель цель цели цели цели цели цели цели вашей цели.
B) Для того, чтобы забрать кого-то в фокус, используется команда /focus. Если не использовать после этой команды ничего, команда заберет в фокус вашу текущую цель.
А можно забрать в фокус... да опять, того же Душа. Здесь в качестве объекта также может быть использован любой из разрешенных идентификаторов цели, не обязательно имя персонажа.
Сохранение цели в фокус - очень мощный инструмент управления целями. В дальнейшем мы будем активно использовать эту команду, запомните ее.
С) Остальные команды прицеливания я презентую вам скопом. Просто знайте, что они есть, пригождаться они будут в весьма специфических ситуациях.
/assist - устанавливает целью цель вашей цели. Если я не взорвал вам мозг этой правдивой фразой, вот пример: если у меня в цели Мотыга и вы напишете
то вашей целью установится Мотыга. Аналогично кнопке "F", если вы ее не переназначили.
/cleartarget - сбрасывает вашу цель, теперь вы ни в кого не целитесь.
/targetlasttarget - возвращает вас к предыдущей цели. Если вы целились в Мотыгу, потом прицелились в меня, то после использования этой команды вы снова целитесь в Мотыгу.
/targetlastenemy - тот же эффект, но исключительно для врагов. В списке ваших последних целей находится последняя враждебная цель и происходит переключение на нее.
/targetlastfriend - тот же эффект, но исключительно для друзей.
/targetenemy - выбирает в цель ближайшее враждебное существо. Аналогично кнопке Tab.
/targetfriend - то же, но для дружественных целей. Аналогично Ctrl-Tab.
/targetparty - выбирает в цель ближайшего члена вашей группы.
/targetraid - выбирает в цель ближайшего члена вашего рейда.
(Подобно тому, как работает кнопка Tab, работают и эти команды. То есть, при последовательных нажатиях макросы с этими командами будут перебирать ближайшие легальные цели. Это позволяет, например, последовательно обвесить всех в группе Жизнецветом, если вам приспичило:
15 нажатий - и вся группа под тремя стаками блумов.)
Надеюсь, вы еще не заблудились. В следующей главе я для разрядки расскажу о командах управления питомцами и всяких мелких украшательствах, после чего нас ждет еще одна сложная концепция: условные модификаторы. Хорошая новость в том, что, если вы ее осилите (и осилили то, что я уже написал), вы сможете написать практически любой ходовой макрос на свой вкус.
Повторение пройденного, сложные комбинации, задачки на логику.
Подумайте, каков будет эффект от данного макроса. А от этого (в цель выбран недружественный игрок)?
- Код:
/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
не только работает, но и делает, что должна: выбирает в цель цель цели цели цели цели цели цели вашей цели.
B) Для того, чтобы забрать кого-то в фокус, используется команда /focus. Если не использовать после этой команды ничего, команда заберет в фокус вашу текущую цель.
- Код:
/focus
А можно забрать в фокус... да опять, того же Душа. Здесь в качестве объекта также может быть использован любой из разрешенных идентификаторов цели, не обязательно имя персонажа.
- Код:
/focus Душесос
Сохранение цели в фокус - очень мощный инструмент управления целями. В дальнейшем мы будем активно использовать эту команду, запомните ее.
С) Остальные команды прицеливания я презентую вам скопом. Просто знайте, что они есть, пригождаться они будут в весьма специфических ситуациях.
/assist - устанавливает целью цель вашей цели. Если я не взорвал вам мозг этой правдивой фразой, вот пример: если у меня в цели Мотыга и вы напишете
- Код:
/assist Душесос
то вашей целью установится Мотыга. Аналогично кнопке "F", если вы ее не переназначили.
/cleartarget - сбрасывает вашу цель, теперь вы ни в кого не целитесь.
/targetlasttarget - возвращает вас к предыдущей цели. Если вы целились в Мотыгу, потом прицелились в меня, то после использования этой команды вы снова целитесь в Мотыгу.
/targetlastenemy - тот же эффект, но исключительно для врагов. В списке ваших последних целей находится последняя враждебная цель и происходит переключение на нее.
/targetlastfriend - тот же эффект, но исключительно для друзей.
/targetenemy - выбирает в цель ближайшее враждебное существо. Аналогично кнопке Tab.
/targetfriend - то же, но для дружественных целей. Аналогично Ctrl-Tab.
/targetparty - выбирает в цель ближайшего члена вашей группы.
/targetraid - выбирает в цель ближайшего члена вашего рейда.
(Подобно тому, как работает кнопка Tab, работают и эти команды. То есть, при последовательных нажатиях макросы с этими командами будут перебирать ближайшие легальные цели. Это позволяет, например, последовательно обвесить всех в группе Жизнецветом, если вам приспичило:
- Код:
/targetparty
/cast Жизнецвет
15 нажатий - и вся группа под тремя стаками блумов.)
Надеюсь, вы еще не заблудились. В следующей главе я для разрядки расскажу о командах управления питомцами и всяких мелких украшательствах, после чего нас ждет еще одна сложная концепция: условные модификаторы. Хорошая новость в том, что, если вы ее осилите (и осилили то, что я уже написал), вы сможете написать практически любой ходовой макрос на свой вкус.
Комментариев нет:
Отправить комментарий