Помогите с макросом.
Цель макроса: ХолиПрист кидает заклинание Оберегающий дух (через mouseover) на цель;
1. Должно отправится оповещение в YELL чат в виде : "[Линк спела Оберегающий дух] на @Имя_цели "
2. Должно отправится оповещение в Приват цени в виде : "[Линк спела Оберегающий дух] на Вас"
3. Заклинание (Оберегающий дух) должно юзнутся на цель маусовера.
Доп.Условия:
1.Не должно приходить оповещение ни в Приват ни в YELL чат , если заклинание Оберегающих дух не сработало ( слишком далеко цели, или преграда , или сало и тп)
2.Если заклинание Оберегающих дух на КД, Не должно приходить оповещение ни в Приват, ни в YELL чат.
Что смог сделать...
Краткая форма для 255 символов:
/use [@mouseover]Оберегающий дух
/run s=47788;i=" {череп}";un=UnitName("mouseover");L=GetSpellL ink(s);_,d=GetSpellCooldown(s);
if d<2 then SendChatMessage(i..L.." на "..un..i,"yell");SendChatMessage(i..L.." НА ТЕБЕ!"..i,"WHISPER",nil,un);end;
Полная форма для лучшего понимания:
/use [@mouseover] Оберегающий дух
/run _,d=GetSpellCooldown(47788); //записание значения КД спелла в переменную d
if d<2 then // Проверили есть ли КД на спелле. если нет продолжили скрипт
SendChatMessage("{череп}"..GetSpellLink(47788 ).." на "..UnitName("mouseover").."{череп}","yell ");
//Оповещение в YELL чат , с линком спелла по ID (47788) + имя цели маусовер
SendChatMessage("{череп}"..GetSpellLink(47788 ).." НА ТЕБЕ! {череп}","WHISPER",nil,UnitName("mouseover")) ;
//Оповещение в Привет чат цели маусовера , с линком спелла по ID (47788)
end;
Проблемы:
Если цель далеко\за преградой\или нет возможности прочитать заклинание(например стан\сало) , Оберегающий дух конечно не кидается , но оповещения проходят . Как решить эту проблему, какой проверкой?
PS: Зачем не это нужно объяснять не буду, если есть возможность подсказать низкий поклон вам в ноги, остальные с тупыми ответами - лесом.