/э стягивает полотенце с %t.
Где /э - это переход в чат эмоций, "стягивает полотенце с " - это слова, которые прописываются в вышеназванном чате, а "%t" - это выделенная цель. Если у вас не выделена ни одна цель, то в чате появится нечто вроде "Маггия стягивает полотенце с <неизвестно>."
Несовершенство этого макроса в том, что он не учитывает склонение имён собственных. То есть, если вы хотите совершить действие с игроком, ник которого склоняется, получится сообщение с ошибкой, например "Маггия стягивает полотенце с Штука" (Штука доволен будет :)) Но тут уже вам решать, устраивает вас такой макрос, или нет.
Если вдруг вас не устраивает макрос, можно попробовать воспользоваться скриптом, любезно предоставленным мне Кантиссой (Спасибо Антон =*):
/script local name = UnitName("target") if (name) then genitive, dative, accusative, instrumental, prepositional = DeclineName(name, UnitSex("target"), 1)
SendChatMessage("стягивает полотенце с "..genitive, "EMOTE", nil) end
Где прописав "script local name" мы оперируем с Именами.
"UnitName" = чьё имя будет нами истязаться в разнообразных макросах :) "target" - не всякое имя, а только имя нашей цели.
"genitive, dative, accusative, instrumental, prepositional" -падежи. Для тех, кто не помнит/не знает, что это вообще такое, таблица:
__________________________________________
0 - именительный номинатив (nominative) кто? что?
1 - родительный генитив (genitive) кого? чего?
2 - дательный датив (dative) кому? чему?
3 - винительный аккузатив (accusative) кого? что?
4 - творительный аблатив (instrumentative) кем? чем?
5 - предложный препозитив (preposition) о ком? о чём?
___________________________________________
DeclineName(name, UnitSex("target"), 1) - цифра 1 в конце этой фразы означает родительный падеж. Если в вашем макросе должен учитываться другой падеж, измените цифру, на нужную вам.
Внутри SendChatMessage можете ставить любое своё предложение, хвала вашим бурным всплескам креатива. Не забывайте о пробелах!
"EMOTE" - в какой чат вы хотите отправить ваше сообщение? Выбирайте сами.
Примерный макрос каста иннервейта на цель:
/script local name = UnitName("target") if (name) then genitive, dative, accusative, instrumental, prepositional = DeclineName (name, UnitSex("target"), 1) "sendchatmessage("Кидаю Озарение на ".. Accusative .."!!!", "yell", nil, name)".
Будет виден в чате /yell, то есть /крик. Ну и не забудьте добавить в макрос /cast Озарение
Как-то так, по просьбам трудящихся и Совы. Ваша Няша и Элементаль.
Забавно:) Спасибо!
ОтветитьУдалить:D ыы Привет! Спасибо!
ОтветитьУдалитьСпасибо, Няша! Реально не хватало падежей. Вот теперь-то я развернусь...)
ОтветитьУдалить"Ярлыки: для нубов, как снять полотенце, макросы"
ОтветитьУдалитьспасибо , почувствовал себя нубом :) не знал о таком применении падежей в макросах
Кстати, у тебя в макросе 235 символов. И если оставить макрос как есть, то при перезаходе в игру возможны проблемы с этим и остальными макросами из-за длины.
Тем кто будет использовать, предлагаю оптимизировать. Нужно убрать лишние символы, удалить проблелы и использовать сокращения где это возможно.
Например, вместо /script написать /run
а вместо переменной "name" - "n"
Раньше были такие проблемы, но Панда научил, что создавать макросы нужно в основном не общие, а для каждого персонажа в отдельности, там проблемы быть не должно. По поводу символов - можно сократить сообщение, которое выкрикиваете вы, ну и использовать твои варианты сокращений)) Тоже прикольно. На офф форуме видела отличное сокращение:
ОтветитьУдалить/run local t="target" if UnitName(t) then SendChatMessage("Воскрешаю "..select(1,DeclineName(UnitName(t),UnitSex(t),1)).."!","EMOTE") end
А для нубов ярлык стоит для того, чтобы кое-кого научить стягивать полотенце первым предложенным вариантом.
ОтветитьУдалитьЯ проще напишу - Горазд стягивает полотенце с Маггии. ;)
ОтветитьУдалитьАлексей :)) Вы меня в краску вгоняете :) Оранжевую)
ОтветитьУдалить