Начало этой темы пожалуй здесь Осторожно, очень много текста Итак, что нам нужно для использования содержимого этой темы: -Wow версии 3.3.5 (в данный момент пишу для этого патча) -Анлокер Lua -Super Duper Macro (если играем на циркуле ищем переименованную версию) использую именно его , биндпад не подойдет(нужно кликать) -Базовые познания в программировании и логике
Вся игра будет сводиться к постоянному нажимаю одной кнопки Есть риск словить бан.вследствии использования запрещенных функций,ответственность за их использование полностью на вас Все выложенные ротации пве направленности Итак ,выкладываю код ,ниже следует описание,логика и мои комментарии 1. Прист 1.1. Шп 1.1.1. Обладатели 4т10
/run VT=0 b={UnitDebuff("target", "Прикосновение вампира", unitCaster~="player")}; if b[7]~=nil then VT=b[7]-GetTime() end; /run if VT==0 or VT<=1 and (not UnitChannelInfo("player","Пытка разума")) then RunMacroText("/castsequence reset=2 Прикосновение вампира,Всепожирающая чума") end /run if (not UnitDebuff("target", "Всепожирающая чума", nil, "PLAYER")) and (not UnitChannelInfo("player","Пытка разума")) then RunMacroText("/cast Всепожирающая чума") end /run if (not UnitDebuff("target", "Слово тьмы: Боль", nil, "PLAYER")) and (not UnitChannelInfo("player","Пытка разума")) then RunMacroText("/cast Слово тьмы: Боль") end /run local _,d,_ = GetSpellCooldown("Пытка разума") if (d == 0) and (not UnitChannelInfo("player","Пытка разума")) then CastSpellByName("Пытка разума") end
1.1.2Стандарт
/run VT=0 b={UnitDebuff("target", "Прикосновение вампира", unitCaster~="player")}; if b[7]~=nil then VT=b[7]-GetTime() end; /run if VT==0 or VT<=1 and (not UnitChannelInfo("player","Пытка разума")) then RunMacroText("/castsequence reset=2 Прикосновение вампира,Всепожирающая чума") end /run if (not UnitDebuff("target", "Всепожирающая чума", nil, "PLAYER")) and (not UnitChannelInfo("player","Пытка разума")) then RunMacroText("/cast Всепожирающая чума") end /run local _,d,_ = GetSpellCooldown("Взрыв разума") if (d == 0) and (not UnitChannelInfo("player","Пытка разума")) then CastSpellByName("Взрыв разума") end /run if (not UnitDebuff("target", "Слово тьмы: Боль", nil, "PLAYER")) and (not UnitChannelInfo("player","Пытка разума")) then RunMacroText("/cast Слово тьмы: Боль") end /run local _,d,_ = GetSpellCooldown("Пытка разума") if (d == 0) and (not UnitChannelInfo("player","Пытка разума")) then CastSpellByName("Пытка разума") end
Прикосновение Вампира=>Всепожирающая Чума=>Взрыв Разума=>Слово Тьмы: Боль=> Пытка Разума В условии VT<=1 выставляем длительность каста Прикосновения Вампира( зависит от вашей хасты,но не менее 1.00) В первом варианте Взрыв разума исключен я думаю тут все понятно. 1.2. Холи 1.2.1. Стандарт
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end /run if UnitHealth("target")/UnitHealthMax("target")<0.98 and GetSpellCooldown("Круг исцеления")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Круг исцеления") end /run if UnitHealth("target")/UnitHealthMax("target")<0.95 and GetSpellCooldown("Молитва восстановления")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and UnitPower("player")>2500 then CastSpellByName("Молитва восстановления") end /run if UnitHealth("target")/UnitHealthMax("target")<0.98 and UnitHealth("target")/UnitHealthMax("target")>0.82 and not UnitBuff("target", "Обновление",nil, "PLAYER") and GetSpellCooldown("Обновление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Обновление") end /run if UnitHealth("target")/UnitHealthMax("target")<0.88 and UnitBuff("player", "Всплеск света") and GetSpellCooldown("Быстрое исцеление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Быстрое исцеление") end /run local c={UnitBuff("player","Прозорливость")} if c[4]~=nil and (c[4]==2 or c[4]==3) and UnitHealth("target")/UnitHealthMax("target")<0.81 and GetSpellCooldown("Молитва исцеления")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and UnitPower("player")>5000 then CastSpellByName("Молитва исцеления") end /run local c={UnitBuff("player","Прозорливость")} if c[4]~=nil and (c[4]==2 or c[4]==3) and UnitHealth("target")/UnitHealthMax("target")<0.56 and UnitHealthMax("target")>53000 and GetSpellCooldown("Великое исцеление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and UnitPower("player")>5000 then CastSpellByName("Великое исцеление") end /run if UnitHealth("target")/UnitHealthMax("target")<0.80 and GetSpellCooldown("Связующее исцеление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and UnitPower("player")>5000 then CastSpellByName("Связующее исцеление") end /run if UnitHealth("target")/UnitHealthMax("target")<0.79 and GetSpellCooldown("Быстрое исцеление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and UnitPower("player")>4000 and target==НИК НАШЕГО ПЕРСОНАЖА then CastSpellByName("Быстрое исцеление") end /run if UnitHealth("target")/UnitHealthMax("target")<0.35 and UnitHealthMax("target")>53000 and GetSpellCooldown("Оберегающий дух")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Оберегающий дух") end /run if UnitHealth("target")/UnitHealthMax("target")<0.15 and GetSpellCooldown("Оберегающий дух")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Оберегающий дух") end
Выбирает таргет с мин.кол-ва здоровья в рейде игнорируя опр. дебафы. <98% Круг исцеления <95% + комбат Молитва восстановления <98%+>0.82% Обновление <88+Баф всплеска Быстрое исцеление <81% +2\3 стака прозорливости Молитва исцеления <56%+цель >53к хп +2\3 стака прозорливости Великое исцеление <80% Связующее исцеление <79%+цель наш персонаж(необходимо прописать в макрос имя нашего персонажа ,выделено капсом) Быстрое исцеление <35% + >53к хп Оберегающий дух <15% Оберегающий дух 1.2.2. Используем при передвижении персонажа
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end /run if UnitHealth("target")/UnitHealthMax("target")<0.98 and GetSpellCooldown("Круг исцеления")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Круг исцеления") end /run if UnitHealth("target")/UnitHealthMax("target")<0.95 and GetSpellCooldown("Молитва восстановления")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Молитва восстановления") end /run if UnitHealth("target")/UnitHealthMax("target")<0.98 and UnitBuff("player", "Всплеск света") and GetSpellCooldown("Быстрое исцеление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Быстрое исцеление") end /run if UnitHealth("target")/UnitHealthMax("target")<0.98 and not UnitBuff("target", "Обновление",nil, "PLAYER") and GetSpellCooldown("Обновление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Обновление") end /run if UnitHealth("target")/UnitHealthMax("target")<0.35 and UnitHealthMax("target")>53000 and GetSpellCooldown("Оберегающий дух")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Оберегающий дух") end /run if UnitHealth("target")/UnitHealthMax("target")<0.15 and GetSpellCooldown("Оберегающий дух")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Оберегающий дух") end
Урезаный функционал первого макроса, с использованием всех спеллов которые могут использоваться на ходу 1.2.3. Оверхил рейда при помощи обновления(без выбора таргета)
#showtooltip Обновление /run for r=1,40 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <=1 and UnitInRange("raid"..r)==1 and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (not UnitBuff("raid"..r, "Обновление",nil,"PLAYER")) then CastSpellByName("Обновление","raid"..r) else r=r+1 end end
Макрос раскидывает Обновление по порядку нумерации рейда 1.3. Дц
/run for r=1,40 doGetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <=1 and IsSpellInRange("Слово силы: Щит", "raid"..r) and (not UnitBuff("raid"..r, "Слово силы: Щит")) and (not UnitDebuff("raid"..r, "Ослабленная душа")) then CastSpellByName("Слово силы: Щит","raid"..r) else r=r+1 end end
Макрос раскидывает Слово силы: Щит по порядку нумерации рейда 2.Маг Добавил аркана 20.01.17 2.1. Фаер 2.1.1. Ротация
/run if UnitBuff("Player", "Путь огня") then CastSpellByName("Огненная глыба") end /run if (not UnitDebuff("target", "Живая бомба", nil, "PLAYER"))then RunMacroText("/cast Живая бомба") end /run if (not UnitDebuff("target", "Улучшенный ожог") and not UnitDebuff("target", "Власть над Тенями")) then RunMacroText("/castsequence reset=2 Ожог,Живая бомба") end /run local _,d,_ = GetSpellCooldown("Огненный шар") if (d == 0) then CastSpellByName("Огненный шар") end
/run if UnitBuff("Player", "Путь огня") then CastSpellByName("Огненная глыба") end /run if (not UnitDebuff("target", "Живая бомба", nil, "PLAYER"))then RunMacroText("/cast Живая бомба") else RunMacroText("/targetenemy") end
Если на цели нет Живая бомба - накладываем , иначе меняет таргет. При наличии прока Путь огня кидаем Огненная глыба 2.2. Аркан
/run c={UnitDebuff("player","Чародейская вспышка")}; if c[4]==nil or c[4]<3 and (not UnitChannelInfo("player","Чародейские стрелы")) then CastSpellByName("Чародейская вспышка") end /run c={UnitDebuff("player","Чародейская вспышка")}; if c[4]==3 and (not UnitChannelInfo("player","Чародейские стрелы")) and UnitBuff("Player", "Заградительные стрелы") then RunMacroText("/castsequence reset=3 Чародейская вспышка,Чародейские стрелы") end /run if c[4]==4 and UnitBuff("Player", "Заградительные стрелы") and (UnitCastingInfo("player","Чародейская вспышка")) then SpellStopCasting() end /run if c[4]==4 and UnitBuff("Player", "Заградительные стрелы") and (not UnitChannelInfo("player","Чародейские стрелы")) then CastSpellByName("Чародейские стрелы") end
4х Чародейская вспышка->Чародейские стрелы 3.Чернокнижник Пока выложу 2 спека, позже добавлю дестрика и гибрида 3.1. Афли
/run if UnitBuff("player", "Теневой транс") and (not UnitChannelInfo("player","Похищение души")) then RunMacroText("/cast Стрела тьмы") end /run if not UnitBuff("player", "Жизнеотвод") and (not UnitChannelInfo("player","Похищение души")) then CastSpellByName("Жизнеотвод") end /run if UnitPower("Player") < 3000 and (not UnitChannelInfo("player","Похищение души")) then CastSpellByName("Жизнеотвод") end /run if not UnitDebuff("target", "Блуждающий дух",unitCaster~="player") and (not UnitChannelInfo("player","Похищение души")) and (GetSpellCooldown("Блуждающий дух")==0) then RunMacroText("/castsequence reset=2 Блуждающий дух") end /run if not UnitDebuff("target", "Порча",unitCaster~="player") and (not UnitChannelInfo("player","Похищение души")) then RunMacroText("/castsequence reset=2 Порча, Нестабильное колдовство") end /run if not UnitDebuff("target", "Нестабильное колдовство",unitCaster~="player") and (not UnitChannelInfo("player","Похищение души")) then RunMacroText("/castsequence reset=2 Нестабильное колдовство, Проклятие агонии") end /run if not UnitDebuff("target", "Земля и Луна") and not UnitDebuff("target", "Черная чума") and not UnitDebuff("target", "Проклятие стихий") then CastSpellByName("Проклятие стихий") end /run local _,d,_ = GetSpellCooldown("Стрела тьмы") if (d == 0) and UnitHealth("target")/UnitHealthMax("target")>0.2 then CastSpellByName("Стрела тьмы") end /run local _,d,_ = GetSpellCooldown("Похищение души") if (d == 0) and UnitHealth("target")/UnitHealthMax("target")<0.2 and (not UnitChannelInfo("player","Похищение души")) then CastSpellByName("Похищение души") end
Баф теневого транса ,используем Стрела тьмы Символ жизнеотвода, используем Жизнеотвод для бафа Маны меньше 3000 используем Жизнеотвод Блуждающий дух => Порча => Нестабильное колдовство =>Стрела тьмы => Похищение души <0.20% таргета Проклятие стихий если нет аналогичных дебафов Похищение души <0.20% таргета Пока не решил вопрос с использованием проклятия агонии 3.2. Демон
/run if not UnitBuff("player", "Жизнеотвод") then CastSpellByName("Жизнеотвод") end /run if UnitPower("Player")< 3000 then CastSpellByName("Жизнеотвод") end /run if (not UnitDebuff("target", "Жертвенный огонь", nil, "PLAYER")) then RunMacroText("/castsequence reset=2 Жертвенный огонь") end /run if UnitBuff("player", "Огненные недра") and UnitBuff("player", "Истребление") then CastSpellByName("Ожог души") end /run if not UnitDebuff("target", "Порча",unitCaster~="player") then RunMacroText("/cast Порча") end /run if UnitBuff("player", "Истребление") then CastSpellByName("Ожог души") end /run if UnitBuff("player", "Огненные недра") then CastSpellByName("Испепеление") end /run local _,d,_ = GetSpellCooldown("Стрела тьмы") if (d == 0) then CastSpellByName("Стрела тьмы") end /run local _,d,_ = GetSpellCooldown("Демоническое могущество") if (d == 0) then CastSpellByName("Демоническое могущество") end
Символ жизнеотвода, используем Жизнеотвод для бафа Маны меньше 3000 используем Жизнеотвод Жертвенный огонь Огненные недра+Истребление используем Ожог Души Порча Истребление используем Ожог души Огненный недра используем Испепеление Стрела тьмы Демоническое могущество
4. Друид Добавлен медведь 23.02.17 4.1. Сова
/run RegisterCVar("Затмение","Гнев") /run if not UnitDebuff('target','Волшебный огонь') and UnitHealth('target')>150000 and not UnitDebuff('target','Волшебный огонь (Зверь)') then CastSpellByName('Волшебный огонь') end /run if UnitBuff("Player", "Солнечное затмение") and not UnitDebuff("target", "Рой насекомых", nil, "PLAYER") then CastSpellByName('Рой насекомых') end /run if UnitBuff("Player", "Лунное затмение") and not UnitDebuff("target", "Лунный огонь", nil, "PLAYER") then CastSpellByName('Лунный огонь') end /run if UnitBuff("player","Лунное затмение") then SetCVar("Затмение","Звездный огонь") else if UnitBuff("player","Солнечное затмение") then SetCVar("Затмение","Гнев") end end /run CastSpellByName(GetCVar("Затмение"))
Стандартный цикл ротации совы думаю все и так понятно. 4.2.Ферал(кот)
/run if UnitBuff("player", "Ясность мысли") and UnitPower("player")>34 then CastSpellByName("Полоснуть") end /run if (not UnitDebuff("target", "Увечье (кошка)") and not UnitDebuff("target", "Увечье (медведь)") and not UnitDebuff("target", "Травма")) then CastSpellByName("Увечье (кошка)") end /run vSR=0 d={UnitBuff("player","Дикий рев")}; if d[7]~=nil then vSR=d[7]-GetTime() end; /run sr={GetSpellInfo("Дикий рев")}; if p>0 and (vSR==0 or vSR<3) and UnitPower("player")>=sr[4] then CastSpellByName("Дикий рев") end /run vRip=0 c={UnitDebuff("target","Разорвать", nil, "PLAYER")}; if c[7]~=nil then t=c[7]-GetTime(); if UnitDebuff("target","Разорвать", nil, "PLAYER") then vRip=t end end /run rip={GetSpellInfo("Дикий рев")}; if p==5 and vRip==0 and UnitPower("player")>=rip[4] then CastSpellByName("Разорвать") end /run fb={GetSpellInfo("Дикий рев")}; if p==5 and vSR>3 and vRip>6 and UnitPower("player")>=fb[4] then CastSpellByName("Свирепый укус") end /run p=GetComboPoints("player","target"); if not UnitDebuff("target", "Глубокая рана", nil, "PLAYER") then CastSpellByName("Глубокая рана") end /run if UnitPower("player")<=30 and not UnitBuff("player", "Берсерк") and GetSpellCooldown("Тигриное неистовство")==0 then CastSpellByName("Тигриное неистовство") end /run shred={GetSpellInfo("Полоснуть")}; if UnitPower("player")>=shred[4] and p<5 then CastSpellByName("Полоснуть") end /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end /run if UnitHealth("target")/UnitHealthMax("target")<0.99 and not UnitBuff("player","Природная стремительность") and not UnitBuff("target", "Буйный рост",nil,"PLAYER") and GetSpellCooldown("Буйный рост")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Буйный рост") end /run if UnitHealth("target")/UnitHealthMax("target")<0.98 and not UnitBuff("player","Природная стремительность") and not UnitBuff("target", "Омоложение",nil,"PLAYER") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Омоложение") end /run local _,d,_ = GetSpellCooldown("Покровительство природы") if (d == 0) and UnitHealth("target")/UnitHealthMax("target")<0.80 and not UnitBuff("player","Природная стремительность") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then if GetSpellCooldown("Быстрое восстановление")==0 then RunMacroText("/cast Быстрое восстановление") else RunMacroText("/cast Покровительство природы") end end /run local _,d,_ = GetSpellCooldown("Целительное прикосновение") if (d == 0) and UnitHealth("target")/UnitHealthMax("target")<0.70 and UnitBuff("player","Природная стремительность") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then RunMacroText("/cast Целительное прикосновение") end /run if UnitHealth("target")/UnitHealthMax("target")<0.30 and GetSpellCooldown("Природная стремительность")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Природная стремительность") end /run if not UnitBuff("target", "Омоложение",nil, "PLAYER") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Омоложение") end
Выбирает таргет с мин.кол-ва здоровья в рейде игнорируя опр. дебафы. <99% Буйный рост <98% Омоложение <80% +наличие Омоложение, Быстрое восстановление\Покровительство природы <30%+наличие таланта Природная стремительность+Целительное прикосновение 4.3.2.Хилим только хотами
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end /run if UnitHealth("target")/UnitHealthMax("target")<0.99 and not UnitBuff("target", "Буйный рост",nil, "PLAYER") and not UnitBuff("player","Природная стремительность") and GetSpellCooldown("Буйный рост")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Буйный рост") end /run if UnitHealth("target")/UnitHealthMax("target")<0.98 and not UnitBuff("player","Природная стремительность") and not UnitBuff("target", "Омоложение",nil, "PLAYER") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Омоложение") end /run if UnitHealth("target")/UnitHealthMax("target")<0.76 and not UnitBuff("player","Природная стремительность") and GetSpellCooldown("Быстрое восстановление")==0 and UnitBuff("target", "Омоложение",nil, "PLAYER") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then RunMacroText("/cast Быстрое восстановление") end /run local _,_,_,c,_,_,_,_,_=UnitBuff("target","Жизнецвет"); if UnitHealth("target")/UnitHealthMax("target")<0.75 and (c~=3) and not UnitBuff("player","Природная стремительность") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Жизнецвет") end /run local _,d,_ = GetSpellCooldown("Целительное прикосновение") if (d == 0) and UnitHealth("target")/UnitHealthMax("target")<0.70 and UnitBuff("player","Природная стремительность") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then RunMacroText("/cast Целительное прикосновение") end /run if UnitHealth("target")/UnitHealthMax("target")<0.30 and GetSpellCooldown("Природная стремительность")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Природная стремительность") end /run if not UnitBuff("target", "Омоложение",nil, "PLAYER") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Омоложение") end
Используются только спеллы которые можно кастить на ходу. 4.3.3. Оверхил рейда через омоложение
#showtooltip Омоложение /run for r=1,40 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <=1 and UnitInRange("raid"..r)==1 and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (not UnitBuff("raid"..r, "Омоложение",nil,"PLAYER")) then CastSpellByName("Омоложение","raid"..r) else r=r+1 end end
Макрос раскидывает Омоложение по порядку нумерации рейда 4.4.Медведь
/run if GetSpellCooldown("Звериная атака - медведь")==0 and IsUsableSpell("Звериная атака - медведь") and IsSpellInRange("Звериная атака - медведь","target") then CastSpellByName("Звериная атака - медведь") end /run if GetSpellCooldown("Увечье (медведь)")==0 and IsUsableSpell("Увечье (медведь)") then CastSpellByName("Увечье (медведь)") end /run if GetSpellCooldown("Волшебный огонь (зверь)")==0 and IsUsableSpell("Волшебный огонь (зверь)")then CastSpellByName("Волшебный огонь (зверь)") end /run c={UnitDebuff ("target", "Растерзать", nil, "PLAYER")};if c[7]~=nil then vL=c[7]-GetTime() ; if c[4]<4 or vL<3 then CastSpellByName("Растерзать") end end /run if not UnitDebuff("target", "Деморализующий крик") and not UnitDebuff("target", "Устрашающий крик") and not UnitDebuff("target", "Оправдание") and not UnitDebuff("target", "Проклятие слабости") and not UnitDebuff("target", "Устрашающий рев") and IsSpellInRange("Растерзать", "target")==1 then CastSpellByName("Устрашающий рев") end /run local _,a,_ = GetSpellCooldown("Растерзать") if (a == 0) then CastSpellByName("Растерзать") end /run if UnitPower("Player") > 24 or UnitBuff("player", "Ясность мысли") then CastSpellByName("Трепка") end
4.5.Полезные макросы.
#showtooltip Шипы /run for r=1,40 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <=1 and UnitInRange("raid"..r)==1 and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (not UnitBuff("raid"..r, "Шипы",nil,"PLAYER")) then CastSpellByName("Шипы","raid"..r) else r=r+1 end end
Бафаем Шипы на весь рейд. 5.Разбойник Добавил комбат через потрошение 10.01.17 Добавил мути 27.02.17(в стадии тестирования) 5.1.Комбат 5.1.1.Комбат через рапчу
/run vM=0 d={UnitBuff("player","Мясорубка")}; if d[7]~=nil then vM=d[7]-GetTime() end; /run m={GetSpellInfo("Мясорубка")} p=GetComboPoints("player","target") ; if p>0 and (vM==0 or vM<3) and UnitPower("player")>=m[4] then CastSpellByName("Мясорубка") end /run vRR=0 c={UnitDebuff("target","Рваная рана", nil, "PLAYER")}; if c[7]~=nil then t=c[7]-GetTime(); if UnitDebuff("target","Рваная рана", nil, "PLAYER") then vRR=t end end /run rr={GetSpellInfo("Рваная рана")}; if p==5 and vRR==0 and UnitPower("player")>=rr[4] then CastSpellByName("Рваная рана") end /run ptr={GetSpellInfo("Потрошение")}; if p==5 and vM>3 and vRR>6 and UnitPower("player")>=ptr[4] then CastSpellByName("Потрошение") end /run kk={GetSpellInfo("Коварный удар")}; if UnitPower("player")>=kk[4] and p<5 then CastSpellByName("Коварный удар") end /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Маленькие хитрости по фокусу Мясорубка Рваная рана если 5кп Потрошение если 5кп, рваная рана>6c и мясорубка>3c Коварный удар 5.1.2. Комбат через потрошение
/run vM=0 d={UnitBuff("player","Мясорубка")}; if d[7]~=nil then vM=d[7]-GetTime() end; /run m={GetSpellInfo("Мясорубка")} p=GetComboPoints("player","target") ; if p>0 and (vM==0 or vM<3) and UnitPower("player")>=m[4] then CastSpellByName("Мясорубка") end /run ptr={GetSpellInfo("Потрошение")}; if p==5 and vM>3 and UnitPower("player")>=ptr[4] then CastSpellByName("Потрошение") end /run kk={GetSpellInfo("Коварный удар")}; if UnitPower("player")>=kk[4] and p<5 then CastSpellByName("Коварный удар") end /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
5.2.Мути
/run i={UnitCastingInfo("target")} if i[9]==(false) and GetSpellCooldown("Пинок")==0 and UnitPower("Player") > 24 then SpellStopCasting() CastSpellByName("Пинок") end /run j={UnitChannelInfo("target")} if j[8]==(false) and GetSpellCooldown("Пинок")==0 and UnitPower("Player") > 24 then CastSpellByName("Пинок") end /run if (UnitAffectingCombat("player") or UnitBuff("player", "Незаметность")) and UnitExists("focus") and GetSpellCooldown("Маленькие хитрости")==0 and IsSpellInRange("Маленькие хитрости","focus") then RunMacroText("/cast [@focus] Маленькие хитровсти") end /run if UnitBuff("player", "Незаметность") and UnitPower("player")>= 50 then CastSpellByName("Гаррота") end /run vHfB=0 b={UnitBuff("player", "Жажда убийства")}; if b[7]~=nil then vHfB=b[7]-GetTime() end; /run vSnD=0 b={UnitBuff("player", "Мясорубка")}; if b[7]~=nil then vSnD=b[7]-GetTime() end; /run local p=UnitPower("player"); if vHfB<4 then if UnitDebuff("target","Рваная рана") or UnitDebuff("target","Гаррота") or UnitDebuff("target","Глубокие раны") or UnitDebuff("target","Кровопускание") or UnitDebuff("target","Глубокая рана") or UnitDebuff("target","Разорвать") or UnitDebuff("target","Пронзающие выстрелы") then if p>=15 then CastSpellByName("Жажда убийства") end else if GetComboPoints("player")>0 then if p>=25 then CastSpellByName("Рваная рана") end else if p>=55 then CastSpellByName("Расправа") end end end end /run local p=UnitPower("player"); if vHfB>=4 and vSnD==0 then if GetComboPoints("player")>0 then if p>=25 then CastSpellByName("Мясорубка") end else if p>=55 then CastSpellByName("Расправа") end end end /run local p=UnitPower("player"); if vHfB>=4 and vSnD<4 then if GetComboPoints("player")>0 then if p>=35 then CastSpellByName("Отравление") end else if p>=55 then CastSpellByName("Расправа") end end end /run if vHfB>=4 and vSnD>=4 and not UnitBuff("player","Бойня") and GetSpellCooldown("Исчезновение")==0 and not UnitBuff("player", "Незаметность") and UnitHealth("target")>500000 then CastSpellByName("Исчезновение") end /run if vHfB>=4 and vSnD>=4 and GetComboPoints("player")<4 and UnitPower("player")>=55 then CastSpellByName("Расправа") end /run local p=UnitPower("player"); local cp=GetComboPoints("player"); if vHfB>=4 and vSnD>=4 and cp>=4 and p>=35 then local dp=0; local i=1; while(i<=40) do local d={UnitDebuff("target",i)}; if d[1]=="Смертельный яд IX" and d[8]=="player" then dp=d[4] break end i=i+1 end; if dp>=4 then if cp==5 and dp==5 and GetSpellCooldown("Хладнокровие")==0 then CastSpellByName("Хладнокровие") end CastSpellByName("Отравление") elseif p>=85 then CastSpellByName("Расправа") end end /startattack /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Начало боя с инвиза Маленькие хитрости по фокусу Мясорубка Отравление если 5кп Расправа Исчезновение (Обновление бафа Бойня)
6. Хант Добавил Бм 11.04.17 6.1.Мм 6.1.1.Стандарт
/run if GetSpellCooldown("Убийственный выстрел")==0 and IsUsableSpell("Убийственный выстрел") and IsSpellInRange("Убийственный выстрел","target") and UnitHealth("target")/UnitHealthMax("target")<0.2 then CastSpellByName("Убийственный выстрел") end /run if UnitAffectingCombat("player") and UnitExists("focus") and GetSpellCooldown("Перенаправление")==0 and IsSpellInRange("Перенаправление","focus") then RunMacroText("/cast [@focus] Перенаправление") end /run if (not UnitDebuff("target", "Укус змеи", nil, "PLAYER")) then RunMacroText("/cast Укус змеи") end /run local _,d,_ = GetSpellCooldown("Глушащий выстрел") if (d == 0) then CastSpellByName("Глушащий выстрел") end /run local _,d,_ = GetSpellCooldown("Выстрел химеры") if (d == 0) then CastSpellByName("Выстрел химеры") end /run local _,d,_ = GetSpellCooldown("Прицельный выстрел") if (d == 0) then CastSpellByName("Прицельный выстрел") end /run local _,d,_ = GetSpellCooldown("Верный выстрел") if (d == 0) then CastSpellByName("Верный выстрел") end
/run if GetSpellCooldown("Убийственный выстрел")==0 and IsUsableSpell("Убийственный выстрел") and IsSpellInRange("Убийственный выстрел","target") and UnitHealth("target")/UnitHealthMax("target")<0.2 then CastSpellByName("Убийственный выстрел") end /run if UnitAffectingCombat("player") and UnitExists("focus") and GetSpellCooldown("Перенаправление")==0 and IsSpellInRange("Перенаправление","focus") then RunMacroText("/cast [@focus] Перенаправление") end /run if (not UnitDebuff("target", "Укус змеи", nil, "PLAYER")) then RunMacroText("/cast Укус змеи") end /run local _,d,_ = GetSpellCooldown("Глушащий выстрел") if (d == 0) then CastSpellByName("Глушащий выстрел") end /run local _,d,_ = GetSpellCooldown("Выстрел химеры") if (d == 0) then CastSpellByName("Выстрел химеры") end /run local _,d,_ = GetSpellCooldown("Прицельный выстрел") if (d == 0) then CastSpellByName("Прицельный выстрел") end /run local _,d,_ = GetSpellCooldown("Чародейский выстрел") if (d == 0) then CastSpellByName("Чародейский выстрел") end
6.2.Бм
/run if GetSpellCooldown("Убийственный выстрел")==0 and IsUsableSpell("Убийственный выстрел") and IsSpellInRange("Убийственный выстрел","target") and UnitHealth("target")/UnitHealthMax("target")<0.2 then CastSpellByName("Убийственный выстрел") end /run if (not UnitDebuff("target", "Укус змеи", nil, "PLAYER")) then RunMacroText("/cast Укус змеи") end /run local _,d,_ = GetSpellCooldown("Чародейский выстрел") if (d == 0) then CastSpellByName("Чародейский выстрел") end /run local _,d,_ = GetSpellCooldown("Залп") if (d == 0) then CastSpellByName("Залп") end /run local _,d,_ = GetSpellCooldown("Верный выстрел") if (d == 0) then CastSpellByName("Верный выстрел") end /cast Команда "Взять!" /startattack
Продолжение в следующем посте
Сообщение # 1 отредактировано ganus1993 - Суббота, 24.03.2018, 15:05
----------------------------------------------------------------------------------------------------------------------------------просто не буду мешать
Сообщение # 2 отредактировано rfdead - Суббота, 07.01.2017, 16:41
Продолжение основной темы 7.Шаман 7.1.Рестор 7.1.1.Рестор стандарт
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end /run if UnitHealth("target")/UnitHealthMax("target")<0.99 and GetSpellCooldown("Быстрина")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and not UnitBuff("player","Природная стремительность") then CastSpellByName("Быстрина") end /run f=0; if UnitExists("focus") then for i=1,40 do d={UnitBuff("focus",i)}; if d~=nil and d[1]=="Щит земли" and d[8]=="player" and d[4]>1 and d[7]-GetTime()>=60 then f=1; break end end if f==0 then RunMacroText("/cast [@focus] Щит земли") end end; /run if UnitHealth("target")/UnitHealthMax("target")<0.955 and UnitHealth("target")/UnitHealthMax("target")>0.61 and GetSpellCooldown("Цепное исцеление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then if UnitHealthMax("target")>52500 and UnitBuff("player", "Приливные волны") then CastSpellByName("Волна исцеления") else CastSpellByName("Цепное исцеление") end end /run if UnitHealth("target")/UnitHealthMax("target")<0.60 and GetSpellCooldown("Волна исцеления")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then if UnitHealthMax("target")>52500 or UnitBuff("player", "Приливные волны") then CastSpellByName("Волна исцеления") else CastSpellByName("Цепное исцеление") end end /run if UnitHealth("target")/UnitHealthMax("target")<0.20 and GetSpellCooldown("Природная стремительность")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Природная стремительность") end /run if UnitHealth("target")/UnitHealthMax("target")<0.20 and GetSpellCooldown("Сила прилива")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Сила прилива") end
Выберает таргет смин.кол-ва здоровья в рейде игнорируя опр. дебафы. <0.99% и нет бафа приливные волны Быстрина Щит земли по фокусу <0.955% и >0.61%, если цель >52500 хп и есть баф приливные волныиспользуем Волна исцеления иначе Цепное исцеление <0.60%. если есть баф приливные волны кастим Волна исцеления,иначе Цепное исцеление <0.20% используем Природная стремительность+Волна исцеления, Сила прилива
7.1.2.Спамим чайник
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end /run if UnitHealth("target")/UnitHealthMax("target")<0.98 and GetSpellCooldown("Цепное исцеление")==0 and UnitExists("target") and UnitInRange("target")==1 andUnitIsDeadOrGhost("target")~=1 then CastSpellByName("Цепное исцеление") end
7.2.Элем
/run if UnitAffectingCombat("player")==1 and ({GetTotemInfo(4)})[2]=="" then CastSpellByName("Зов стихий") end; /run if not UnitDebuff ("target", "Огненный шок", nil, "PLAYER") then CastSpellByName("Огненный шок") end /run vFS=0 b={UnitDebuff ("target", "Огненный шок", nil, "PLAYER")}; if b[7]~=nil then vFS=b[7]-GetTime() end; /run if vFS==0 or vFS<2 and GetSpellCooldown("Огненный шок")==0 then CastSpellByName("Огненный шок") end /run if GetSpellCooldown("Выброс лавы")==0 and vFS>2 then CastSpellByName("Выброс лавы") end; /run if GetSpellCooldown("Гром и молния")==0 and UnitPower("player")/UnitPowerMax("player")<0.60 and UnitAffectingCombat("player")==1 then CastSpellByName("Гром и молния") end; /run if not UnitBuff("player", "Водный щит") then CastSpellByName("Водный щит") end; /run if GetSpellCooldown("Молния")==0 then CastSpellByName("Молния") end; /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
7.3. Энх
/run local c={UnitBuff("player","Оружие водоворота")} if c[4]~=nil and c[4]==5 then CastSpellByName("Молния") end /run local _,d,_ = GetSpellCooldown("Ярость шамана") if (d == 0) then CastSpellByName("Ярость шамана") end /run local _, name= GetTotemInfo(1) if not(name=="Тотем магмы VII") and UnitAffectingCombat("player")==1 then CastSpellByName("Тотем магмы") end /run local _,d,_ = GetSpellCooldown("Удар бури") if (d == 0) then CastSpellByName("Удар бури") end /run if not UnitDebuff ("target", "Огненный шок", nil, "PLAYER") then CastSpellByName("Огненный шок") end /run local _,d,_ = GetSpellCooldown("Вскипание лавы") if (d == 0) then CastSpellByName("Вскипание лавы") end /run local c={UnitBuff("player","Щит молний")} if c[4]==nil or c[4]<2 then CastSpellByName("Щит молний") end /run if not UnitDebuff ("target", "Земной шок", nil, "PLAYER") then CastSpellByName("Земной шок") end /run local _,d,_ = GetSpellCooldown("Кольцо огня") if (d == 0) then CastSpellByName("Кольцо огня") end /startattack
8.Палодин 8.1.Холи
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end /run if UnitExists("focus") then vL=0 b={UnitBuff ("focus", "Частица света", nil, "PLAYER")}; if b[7]~=nil then vL=b[7]-GetTime() end end /run if UnitExists("focus") then if vL==0 or vL<10 and not UnitDebuff("focus","Господство над разумом") then RunMacroText("/cast [@focus] Частица света") end end /run if UnitHealth("target")/UnitHealthMax("target")<0.85 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Свет небес") end /run if UnitHealth("target")/UnitHealthMax("target")<0.95 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and UnitBuff("player","Прилив света") then CastSpellByName("Вспышка света") end /run if UnitHealth("target")/UnitHealthMax("target")<0.97 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and GetSpellCooldown("Шок небес")==0 then CastSpellByName("Шок небес") end /run if UnitHealth("target")/UnitHealthMax("target")<0.30 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and GetSpellCooldown("Божественное одобрение")==0 then CastSpellByName("Божественное одобрение") end
Выбирает таргет с мин.кол-ва здоровья врейде игнорируя опр. дебафы. Кидаем фокусу Частица света <85% Свет небес <95%+Прилив света Вспышка света <97% Шок небес <30% Божественное одобрение В принципе строчки с флэшкой и шоком необязательны можете их не использовать(удалить)
8.2.Ртб
/run local t={UnitDetailedThreatSituation("player","target")}; if GetNumPartyMembers()>0 and (t[1]==1 or (t[5] ~=nil and t[5]>25000 and t[3]>90)) and GetSpellCooldown("Длань спасения")==0 then RunMacroText("/cast [@player] Длань спасения") end /run if UnitHealth("player")/UnitHealthMax("player")<0.10 then if GetSpellCooldown("Божественный щит")==0 and IsUsableSpell("Божественный щит") then SpellStopCasting() CastSpellByName("Божественный щит") elseif GetSpellCooldown("Божественный щит")==0 and IsUsableSpell("Божественная защита") then SpellStopCasting() CastSpellByName("Божественная защита") end end /run local s=GetUnitSpeed("player"); if GetSpellCooldown("Длань свободы")==0 and s>0 and s<4.5 then RunMacroText("/cast [@player] Длань свободы") end; /run if GetSpellCooldown("Божественная буря")==0 and IsUsableSpell("Божественная буря") and IsSpellInRange("Удар воина Света","target") then CastSpellByName("Божественная буря") end /run if GetSpellCooldown("Правосудие мудрости")==0 and IsUsableSpell("Правосудие мудрости") and IsSpellInRange("Правосудие мудрости","target") then CastSpellByName("Правосудие мудрости") end /run if GetSpellCooldown("Молот гнева")==0 and IsUsableSpell("Молот гнева") and IsSpellInRange("Молот гнева","target") and UnitHealth("target")/UnitHealthMax("target")<0.2 then CastSpellByName("Молот гнева") end /run if GetSpellCooldown("Святая клятва")==0 and UnitPower("player")/UnitPowerMax("player")<=0.75 then CastSpellByName("Святая клятва") end /run if GetSpellCooldown("Удар воина Света")==0 and IsUsableSpell("Удар воина Света") and IsSpellInRange("Удар воина Света","target") then CastSpellByName("Удар воина Света") end /run if UnitPower("player")/UnitPowerMax("player")>=0.25 and GetSpellCooldown("Освящение")==0 and IsUsableSpell("Освящение") and IsSpellInRange("Удар воина Света","target") then CastSpellByName("Освящение") end /run if UnitBuff("player", "Искусство войны") and GetSpellCooldown("Экзорцизм")==0 and IsUsableSpell("Экзорцизм") and IsSpellInRange("Экзорцизм","target") then CastSpellByName("Экзорцизм") end /run if UnitPower("player")/UnitPowerMax("player")>=0.50 then local f=0; for i=1,40 do local d={UnitBuff("player",i)}; if d[1]=="Священный щит" and d[8]=="player" then f=1 break end end; if f==0 then RunMacroText("/cast [@player] Священный щит") end end; /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Отслеживаем уровень угрозы на себе Дланьспасения <10%хп Божественная защита\Божественный щит Отслеживаем скорость нашего передвижения Длань свободы Божественная буря Правосудие мудрости Молот гнева если цель <0.20% хп Удар воина Света Освящение Экзорцизм по проку Искусство войны Вешаем на себя Священный щит Отслеживаем уровень маны Святая клятва
8.3.Прото
/run local s=GetUnitSpeed("player"); if GetSpellCooldown("Длань свободы")==0 and s>0 and s<4.5 then RunMacroText("/cast [@player] Длань свободы") end; /run if GetSpellCooldown("Щит мстителя")==0 and IsUsableSpell("Щит мстителя") and IsSpellInRange("Щит мстителя","target") then CastSpellByName("Щит мстителя") end /run if GetSpellCooldown("Правосудие мудрости")==0 and IsUsableSpell("Правосудие мудрости") and IsSpellInRange("Правосудие мудрости","target") then CastSpellByName("Правосудие мудрости") end /run if GetSpellCooldown("Молот праведника")==0 and IsUsableSpell("Молот праведника") and IsSpellInRange("Молот праведника","target") then CastSpellByName("Молот праведника") end /run if GetSpellCooldown("Щит небес")==0 then CastSpellByName("Щит небес") end /run if GetSpellCooldown("Щит праведности")==0 and IsUsableSpell("Щит праведности") and IsSpellInRange("Щит праведности","target") then CastSpellByName("Щит праведности") end /run if GetSpellCooldown("Молот гнева")==0 and IsUsableSpell("Молот гнева") and IsSpellInRange("Молот гнева","target") and UnitHealth("target")/UnitHealthMax("target")<0.2 then CastSpellByName("Молот гнева") end /run if UnitPower("player")/UnitPowerMax("player")>=0.50 then local f=0; for i=1,40 do local d={UnitBuff("player",i)}; if d[1]=="Священный щит" and d[8]=="player" then f=1 break end end; if f==0 then RunMacroText("/cast [@player] Священный щит") end end; /run if GetSpellCooldown("Освящение")==0 and IsUsableSpell("Освящение") and IsSpellInRange("Молот праведника","target") then CastSpellByName("Освящение") end /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Отслеживаем скорость передвижения Длань свободы Щит мстителя Правосудие мудрости Молот праведника Щит небес Щит праведности Молот гнева если цель <0.20хп Отслеживание Священный щит Освящение Дефы я не стал вписывать т.к. предпочитаю использовать их вручную 8.4.Полезные макросы.
#showtooltip Великое благословение могущества /run for r=1,40 do GetNumRaidMembers(); v=0 d={UnitBuff("raid"..r,"Великое благословение могущества")}; if d[7]~=nil then v=d[7]-GetTime() end; if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r))<=1 and IsSpellInRange("Великое благословение могущества", "raid"..r) and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (v==0 or v<900) then CastSpellByName("Великое благословение могущества","raid"..r) else r=r+1 end end
Бафаем Кулак по рейду
#showtooltip Великое благословение мудрости /run for r=1,40 do GetNumRaidMembers(); v=0 d={UnitBuff("raid"..r,"Великое благословение мудрости")}; if d[7]~=nil then v=d[7]-GetTime() end; if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r))<=1 and IsSpellInRange("Великое благословение мудрости", "raid"..r) and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (v==0 or v<900) then CastSpellByName("Великое благословение мудрости","raid"..r) else r=r+1 end end #showtooltip Великое благословение королей
Бафаем Крест по рейду
/run for r=1,40 do GetNumRaidMembers(); v=0 d={UnitBuff("raid"..r,"Великое благословение королей")}; if d[7]~=nil then v=d[7]-GetTime() end; if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r))<=1 and IsSpellInRange("Великое благословение королей", "raid"..r) and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (v==0 or v<900) then CastSpellByName("Великое благословение королей","raid"..r) else r=r+1 end end #showtooltip Великое благословение неприкосновенности
Бафаем Каску по рейду
/run for r=1,40 do GetNumRaidMembers(); v=0 d={UnitBuff("raid"..r,"Великое благословение неприкосновенности")}; if d[7]~=nil then v=d[7]-GetTime() end; if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r))<=1 and IsSpellInRange("Великое благословение неприкосновенности", "raid"..r) and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (v==0 or v<900) then CastSpellByName("Великое благословение неприкосновенности","raid"..r) else r=r+1 end end
Бафаем Прото по рейду
9.Воин 9.1.Фури
/run i={UnitCastingInfo("target")} if i[9]==(false) and UnitPower("Player") > 22 then SpellStopCasting() CastSpellByName("Зуботычина") end /run j={UnitChannelInfo("target")} if j[8]==(false) and UnitPower("Player") > 22 then SpellStopCasting() CastSpellByName("Зуботычина") end /run local _,a,_ = GetSpellCooldown("Кровожадность") if (a == 0) then CastSpellByName("Кровожадность") end /run local _,a,_ = GetSpellCooldown("Вихрь") if (a == 0) then CastSpellByName("Вихрь") end /run if UnitBuff("player", "Сокрушить!") then CastSpellByName("Мощный удар") end /run if GetSpellCooldown("Победный раж")==0 and IsUsableSpell("Победный раж") then CastSpellByName("Победный раж") end /run local _,a,_ = GetSpellCooldown("Героический бросок") if (a == 0) then CastSpellByName("Героический бросок") end /run i=1 d=120 while(i<=40)do a={UnitDebuff("target",i)} if a[1]=="Раскол брони" and a[8]=="player" then d=a[7]-GetTime() if a[4]==5 then break end end i=i+1 end if i>40 or d<4 then CastSpellByName("Раскол брони") end /run if GetSpellCooldown("Казнь")==0 and IsUsableSpell("Казнь") and UnitPower("Player") > 42 then CastSpellByName("Казнь") end /run if UnitPower("Player") > 37 then CastSpellByName("Удар героя") end /startattack /cancelaura Длань защиты
Удар герояс отслеживанием ярости Кровожадность Вихрь Мощный удар по проку Сокрушить! Победный раж Героический бросок Раскол брони с отслеживаением стаков и времени Казнь при <0.20% хп цели
9.2.Прото
/startattack /run if IsUsableSpell("Рывок")==1 and GetSpellCooldown("Рывок")==0 and IsSpellInRange("Рывок","target")==1 then CastSpellByName("Рывок") elseif IsUsableSpell("Перехват")==1 and GetSpellCooldown("Перехват")==0 and IsSpellInRange("Перехват", "target")==1 then CastSpellByName("Перехват") end /run local _,a,_ = GetSpellCooldown("Блок щитом") if (a == 0) then CastSpellByName("Блок щитом") end /run if UnitBuff("player", "Символ реванша") then CastSpellByName("Удар героя") end /run local _,a,_ = GetSpellCooldown("Мощный удар щитом") if (a == 0) and IsSpellInRange("Мощный удар щитом", "target")==1 then CastSpellByName("Мощный удар щитом") end /run if GetSpellCooldown("Реванш")==0 and IsUsableSpell("Реванш")==1 then CastSpellByName("Реванш") end /run if not UnitDebuff("target", "Деморализующий крик") and not UnitDebuff("target", "Устрашающий крик") and not UnitDebuff("target", "Оправдание") and not UnitDebuff("target", "Проклятие слабости") and IsSpellInRange("Удар щитом", "target")==1 then CastSpellByName("Деморализующий крик") end /run local _,a,_ = GetSpellCooldown("Удар грома") if (a == 0) then CastSpellByName("Удар грома") end /run i=1 d=120 while(i<=40)do a={UnitDebuff("target",i)} if a[1]=="Раскол брони" and a[8]=="player" then d=a[7]-GetTime() if a[4]==5 then break end end i=i+1 end if i>40 or d<4 then CastSpellByName("Сокрушение") end /run local _,a,_ = GetSpellCooldown("Ударная волна") if (a == 0) and IsSpellInRange("Ударная волна", "target")==1 then CastSpellByName("Ударная волна") end /run local _,a,_ = GetSpellCooldown("Оглушающий удар") if (a == 0) and IsSpellInRange("Оглушающий удар", "target")==1 then CastSpellByName("Оглушающий удар") end /run local _,a,_ = GetSpellCooldown("Героический бросок") if (a == 0) and IsSpellInRange("Героический бросок", "target")==1 then CastSpellByName("Героический бросок") end /run if UnitPower("Player") > 60 then CastSpellByName("Удар героя") end /run if UnitPower("Player") > 20 then CastSpellByName("Сокрушение") end /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Удар героя с отслеживанием ярости Рывок\Перехват Блок щитом Удар героя по проку символа Реванш Деморализующий крик с проверкой аналогичных дебафов Удар грома Отслеживание раскола брони Сокрушение Ударная волна Оглушающий удар Героический бросок Сокрушение
10.Рыцарь смерти 10.1.Фрост Добавлено 30.01.17
/run i={UnitCastingInfo("target")} if i[9]==(false) then SpellStopCasting() CastSpellByName("Заморозка разума") end /run j={UnitChannelInfo("target")} if j[8]==(false) then SpellStopCasting() CastSpellByName("Заморозка разума") end /run vFF=0 b={UnitDebuff ("target", "Озноб", nil, "PLAYER")}; if b[7]~=nil then vFF=b[7]-GetTime() end; /run if vFF~=nil and vFF<=3.5 and vFF>0 then if (select(3,GetRuneCooldown(1)) == true or select(3,GetRuneCooldown(2)) == true) then CastSpellByName("Мор") end end /run if (vFF-select(2,GetRuneCooldown(1))<2 or vFF-select(2,GetRuneCooldown(1))<2) and vFF<=2 and UnitAffectingCombat("player") then CastSpellByName("Кровоотвод") end /run if not UnitDebuff("target", "Озноб", nil, "PLAYER") and IsUsableSpell("Ледяное прикосновение") and IsSpellInRange("Ледяное прикосновение","target") then CastSpellByName("Ледяное прикосновение") end /run if not UnitDebuff("target", "Кровавая чума", nil, "PLAYER") and IsUsableSpell("Удар чумы") and IsSpellInRange("Удар чумы","target") then CastSpellByName("Удар чумы") end /run if GetSpellCooldown("Несокрушимая броня")==0 and IsUsableSpell("Несокрушимая броня") then CastSpellByName("Несокрушимая броня") end /run if IsUsableSpell("Рунический удар") and IsSpellInRange("Рунический удар","target") and UnitPower("Player") > 20 then CastSpellByName("Рунический удар") end /run if IsSpellInRange("Воющий ветер","target") and UnitBuff("player", "Морозная дымка") then CastSpellByName("Воющий ветер") end /run if IsSpellInRange("Уничтожение","target") and (select(3,GetRuneCooldown(3))==true and select(3,GetRuneCooldown(5))==true) or (select(3,GetRuneCooldown(4))==true and select(3,GetRuneCooldown(6))==true) or (select(3,GetRuneCooldown(3))==true and select(3,GetRuneCooldown(6))==true) or (select(3,GetRuneCooldown(4))==true and select(3,GetRuneCooldown(5))==true) or (select(3,GetRuneCooldown(1))==true and select(3,GetRuneCooldown(2))==true and GetRuneType(1) == 4 and GetRuneType(2) == 4 and vFF~=nil and vFF>10 and vFF>0) then CastSpellByName("Уничтожение") end /run if IsSpellInRange("Уничтожение","target") and (select(3,GetRuneCooldown(1))==true and select(3,GetRuneCooldown(3))==true and GetRuneType(1) == 4) or (select(3,GetRuneCooldown(1))==true and select(3,GetRuneCooldown(4))==true and GetRuneType(1) == 4) or (select(3,GetRuneCooldown(1))==true and select(3,GetRuneCooldown(5))==true and GetRuneType(1) == 4) or (select(3,GetRuneCooldown(1))==true and select(3,GetRuneCooldown(6))==true and GetRuneType(1) == 4) or (select(3,GetRuneCooldown(2))==true and select(3,GetRuneCooldown(3))==true and GetRuneType(2) == 4) or (select(3,GetRuneCooldown(2))==true and select(3,GetRuneCooldown(4))==true and GetRuneType(2) == 4) or (select(3,GetRuneCooldown(2))==true and select(3,GetRuneCooldown(5))==true and GetRuneType(2) == 4) or (select(3,GetRuneCooldown(2))==true and select(3,GetRuneCooldown(6))==true and GetRuneType(2) == 4) then CastSpellByName("Уничтожение") end /run if select(3,GetRuneCooldown(1))==true and select(3,GetRuneCooldown(2))==true and GetRuneType(1) == 4 and GetRuneType(2) == 4 and GetSpellCooldown("Кровоотвод")==0 then CastSpellByName("Уничтожение") end /run if UnitPower("Player") > 32 and UnitBuff("player", "Машина для убийств") and IsSpellInRange("Ледяной удар","target") then CastSpellByName("Ледяной удар") end /run if GetRuneType(1) == 1 and IsUsableSpell("Кровавый удар") and IsSpellInRange("Кровавый удар","target") and vFF>10 then CastSpellByName("Кровавый удар") end /run if GetRuneType(2) == 1 and IsUsableSpell("Кровавый удар") and IsSpellInRange("Кровавый удар","target") and vFF>10 then CastSpellByName("Кровавый удар") end /run if UnitPower("Player") > 32 and IsSpellInRange("Ледяной удар","target") then CastSpellByName("Ледяной удар") end /run if GetSpellCooldown("Зимний горн")==0 then CastSpellByName("Зимний горн") end /startattack
10.2.Анхоли. Добавлено 25.06.17
/run vFF=0 b={UnitDebuff ("target", "Озноб", nil, "PLAYER")}; if b[7]~=nil then vFF=b[7]-GetTime() end; /run if not UnitDebuff("target", "Озноб", nil, "PLAYER") and IsUsableSpell("Ледяное прикосновение") and IsSpellInRange("Ледяное прикосновение","target") then CastSpellByName("Ледяное прикосновение") end /run if not UnitDebuff("target", "Кровавая чума", nil, "PLAYER") and IsUsableSpell("Удар чумы") and IsSpellInRange("Удар чумы","target") then CastSpellByName("Удар чумы") end /run if IsUsableSpell("Рунический удар") and IsSpellInRange("Рунический удар","target") and UnitPower("Player") > 20 then CastSpellByName("Рунический удар") end /run if IsSpellInRange("Удар Плети","target") and (select(3,GetRuneCooldown(3))==true and select(3,GetRuneCooldown(5))==true) or (select(3,GetRuneCooldown(4))==true and select(3,GetRuneCooldown(6))==true) or (select(3,GetRuneCooldown(3))==true and select(3,GetRuneCooldown(6))==true) or (select(3,GetRuneCooldown(4))==true and select(3,GetRuneCooldown(5))==true) and vFF~=nil and vFF>0 then CastSpellByName("Удар Плети") end /run if not UnitBuff("player", "Костяной щит") and (select(3,GetRuneCooldown(1))==true and GetRuneType(1) == 4) or (select(3,GetRuneCooldown(2))==true and GetRuneType(2) == 4) or (select(3,GetRuneCooldown(3))==true and GetRuneType(3) == 4) or (select(3,GetRuneCooldown(4))==true and GetRuneType(4) == 4) or (select(3,GetRuneCooldown(5))==true and GetRuneType(5) == 4) or (select(3,GetRuneCooldown(6))==true and GetRuneType(6) == 4) then CastSpellByName("Костяной щит") end /run if UnitPower("Player") > 105 and IsSpellInRange("Лик смерти","target") then CastSpellByName("Лик смерти") end /run if select(3,GetRuneCooldown(1))==true and IsUsableSpell("Кровавый удар") and IsSpellInRange("Кровавый удар","target") and vFF>0 then CastSpellByName("Кровавый удар") end /run if select(3,GetRuneCooldown(2))==true and IsUsableSpell("Кровавый удар") and IsSpellInRange("Кровавый удар","target") and vFF>0 then CastSpellByName("Кровавый удар") end /run if UnitPower("Player") > 39 and IsSpellInRange("Лик смерти","target") then CastSpellByName("Лик смерти") end /run if GetSpellCooldown("Зимний горн")==0 then CastSpellByName("Зимний горн") end /run if not UnitBuff("player", "Костяной щит") and select(3,GetRuneCooldown(3))==false and select(3,GetRuneCooldown(4))==false and UnitAffectingCombat("player") then CastSpellByName("Кровоотвод") end
10.3.Полезные макросы.
#showtooltip Смерть и разложение /run if IsUsableSpell("Смерть и разложение") and GetSpellCooldown("Смерть и разложение")==0 then CastSpellByName("Смерть и разложение") CameraOrSelectOrMoveStart() CameraOrSelectOrMoveStop() end
Кидаем Смерть и разложение под курсор без нажатия пкм на мыши
Описание добавлю чуть позже
F.A.Q. (ЧаВо)
В. Как использовать эти макросы? О. Вам нужно UnlockLua(например Gagarin) и SuperDuperMacro. Скопируйте и вставьте макрос в SDM, перетащите его в бар, спам. В. Будут ли макросы для Pvp? О. В данный момент нет, слишком много ситуаций нужно учесть. В. Как использовать эти макросы через BindPad ? О. Никак, используем через SDM. В. Нажимаю макрос ,вместо использования появляется код макроса в чате. О. Проверяем макрос на наличие лишних пробелов. В. Ваш макрос не работает. О. Он должен работать. В. Это тот, который проверял, он по прежнему не работает. О. Криво скопировали,проверяем UnlockLua В. При копировании вместо названия спеллов иероглифы или вопросы,как исправить? О. Меняем раскладку языка при копировании. В. Когда будет на xxx спек? О. Когда-нибудь , пишу по настроению, это хобби , а не работа. В. Я не согласен с вашим приоритетом в макросе. и почему макрос не делает xxx? О. Ваше мнение не всегда будет совпадать с моим, макрос будет выполнять то , что я посчитал нужным.
Жду конструктивной критики,указаний на мои ошибки,предложений к реализации нового и доработки старого.
Подправил код в некоторых пунктах, форумный редактор автоматически заменил некоторые конструкции с большим количеством скобок на смайлы, вследствии чего не работал скрипт,
Код
c=({UnitBuff("player","Оружие водоворота")})[4]
в подобных конструкциях не должно быть лишних знаков между скобками и фигурными скобками (::) если нашли подобные ошибки и я их не исправил, напишите название пункта где я это пропустил будьте внимательны, если у вас что-то не работает включайте у себя Пункт в интерфейсе "Ошибки сценариев Lua" при каждом редактировании постов, он преобразовывает код в смайлы, вот как это пофиксить при редактировании? вопрос к модераторам форума
у меня все прекрасно работает. Что происходит у вас при нажатии? Включите галочку Ошибки сценариев Lua посмотрите что там пишет редактор.
1 раз бьёт увечьем и всё дальше автоатака
Добавлено (13.01.2017, 13:30) --------------------------------------------- вот че пишет Message: [string "sr=({GetSpellInfo("Äèêèé ðåâ")};)[4]..."]:1: attempt to compare number with nil Time: 01/13/17 15:28:28 Count: 155 Stack: [string "sr=({GetSpellInfo("Äèêèé ðåâ")};)[4]..."]:1: in main chunk
: in function `RunScript' Interface\FrameXML\ChatFrame.lua:1996: in function `?' Interface\FrameXML\ChatFrame.lua:4049: in function <Interface\FrameXML\ChatFrame.lua:3997> : in function `ChatEdit_ParseText' Interface\FrameXML\ChatFrame.lua:3660: in function `ChatEdit_SendText' Interface\FrameXML\ChatFrame.lua:2477: in function <Interface\FrameXML\ChatFrame.lua:2470>
: in function `RunMacroText' Interface\FrameXML\SecureTemplates.lua:378: in function `handler' Interface\FrameXML\SecureTemplates.lua:529: in function <Interface\FrameXML\SecureTemplates.lua:478>
Locals: (*temporary) = nil (*temporary) = "Äèêèé ðåâ" (*temporary) = "Óðîâåíü 1" (*temporary) = "attempt to compare number with nil"
/run if UnitHealth("target")/UnitHealthMax("target")<0.79 and GetSpellCooldown("Быстрое исцеление")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 and UnitPower("player")>4000 and target==НИК НАШЕГО ПЕРСОНАЖА then CastSpellByName("Быстрое исцеление") end
не работает, с вписанным ником
Сообщение # 11 отредактировано sanfishman22 - Пятница, 13.01.2017, 22:48
У меня работает, ник правильно вписали? С большой буквы? Все что я выкладывал, я на своих чарах проверял, у меня все выложенные макросы рабочие, какие-либо косяки при первом написании я уже исправил.
У меня работает, ник правильно вписали? С большой буквы?Все что я выкладывал, я на своих чарах проверял, у меня все выложенные макросы рабочие, какие-либо косяки при первом написании я уже исправил.
снова пробую - не работает. Ник с большой буквы и правильный, Падаю с высоты остаётся 3к хп, жму скрипт и ничего, потэсти сам
На рпала не работает, проверь плиз что не так. Message: [string "if GetSpellCooldown("Áîæåñòâåííàÿ áóðÿ")==0 and..."]:1: 'then' expected near '<eof>' Time: 01/15/17 17:10:22 Count: 3 Stack:
: in function `RunScript' Interface\FrameXML\ChatFrame.lua:1996: in function `?' Interface\FrameXML\ChatFrame.lua:4049: in function `ChatEdit_ParseText' Interface\FrameXML\ChatFrame.lua:3660: in function `ChatEdit_SendText' Interface\FrameXML\ChatFrame.lua:2477: in function <Interface\FrameXML\ChatFrame.lua:2470> : in function `RunMacroText' Interface\FrameXML\SecureTemplates.lua:378: in function `handler' Interface\FrameXML\SecureTemplates.lua:529: in function <Interface\FrameXML\SecureTemplates.lua:478>
: in function `Click' Interface\FrameXML\SecureTemplates.lua:458: in function `handler' Interface\FrameXML\SecureTemplates.lua:529: in function <Interface\FrameXML\SecureTemplates.lua:478>
Locals: (*temporary) = "if GetSpellCooldown("Áîæåñòâåííàÿ áóðÿ")==0 and IsUsableSpell("Áîæåñòâåííàÿ áóðÿ")"
играю на циркуле, можна ссылочку на "Super Duper Macro (если играем на циркуле ищем переименованную версию) использую именно его" ? А то облазил все и ненашел.
: in function `RunScript' Interface\FrameXML\ChatFrame.lua:1996: in function `?' Interface\FrameXML\ChatFrame.lua:4049: in function `ChatEdit_ParseText' Interface\FrameXML\ChatFrame.lua:3660: in function `ChatEdit_SendText' Interface\FrameXML\ChatFrame.lua:2477: in function <Interface\FrameXML\ChatFrame.lua:2470> : in function `RunMacroText' Interface\FrameXML\SecureTemplates.lua:378: in function `handler' Interface\FrameXML\SecureTemplates.lua:529: in function <Interface\FrameXML\SecureTemplates.lua:478>
: in function `Click' Interface\FrameXML\SecureTemplates.lua:458: in function `handler' Interface\FrameXML\SecureTemplates.lua:529: in function <Interface\FrameXML\SecureTemplates.lua:478>
Locals: (*temporary) = "if GetSpellCooldown("Божественная буря")==0 and IsUsableSpell("Божественная буря")"
Просто скопируй заного макрос, я зашел проверил : нет никаких ошибок у меня. Уже повторяюсь , но я все проверял прежде чем выложить сюда.Что-то не работает, криво скопировали .
Подскажите пожалуйста!какие аддоны или проги работают на uwow??? для увеличения количества символов в макросах и проги или аддоны для луаскриптов 3.3.5
Сообщение # 21 отредактировано Donkilolz - Вторник, 24.01.2017, 17:49
Какого рода бота вы умеете ввиду? Тут и так выложены почти на все спеки автоматизированные макросы,своего рода боты. Если не хотите и клавишу нажимать скачайте автокликер либо перепишите под скриптовый вариант который ,в режиме нонстоп будет выполнять ротацию.
Жду конструктивной критики,указаний на мои ошибки,предложений к реализации нового и доработки старого.
На счёт совы, 2 доты держать это глупо, на лунное затмение надо держать только лунный огонь, на солнечное затмение только рой насекомых поддерживать, об этом гласит талант "Озлобленный рой насекомых". Тоесть нужно примерно так: Когда на тебе баф лунного затмения и нет на цели дебафа лунного огня - каст лунный огонь и бить заёздным огнем но не кастовать рой насекомых пока не пройдёт прок, потом уже каст рой насекомых, ну аналогично с солнечным затмением. Вот это будет правильно. Не воспринимать как троллинг.
Для ШП рекомендую заменить строку с Прикосновением вампира на
Код
/run local n,_,_,_,_,_,x = UnitDebuff("target","Прикосновение вампира", nil, "PLAYER") if not UnitDebuff("target", "Прикосновение вампира", nil, "PLAYER") then RunMacroText("/castsequence reset=2 Прикосновение вампира, Прик") end if UnitDebuff("target","Прикосновение вампира") and -1*(GetTime()-x) <= 1.02 then RunMacroText("/castsequence reset=2 Прикосновение вампира, Прик") end
Где 1.02 - это время до окончания дебаффа (смотрим какое время каста вампирика у вас в рейде) указываем его, либо высчитываем на калькуляторе с аурами т д. В итоге мы кастуем вампирик за 1.02 (в моём случае) до окончания дебаффа в последний тик его, и имеем сразу же наложенную доту на цель. На афли по той же схеме можно, но там флайтайм есть, для дц добавь r=r+1
Сообщение # 24 отредактировано sanfishman22 - Четверг, 26.01.2017, 01:47
по моему на элема ты впилил на энха, ато смотрю чот вобще не то
да действительно по ошибке скопировал 2 раза, исправил
Цитатаsanfishman22 ()
На счёт совы, 2 доты держать это глупо
про это вкурсе, доработал таким образом, что нужная дота накладывается только под соотв. затмение
Цитатаsanfishman22 ()
Для ШП рекомендую заменить строку с Прикосновением вампира на
перемудрили с кодом, но смысл понятен, допилил по своему
Код
/run VT=0 b={UnitDebuff("target", "Прикосновение вампира", unitCaster~="player")}; if b[7]~=nil then VT=b[7]-GetTime() end; /run if VT==0 or VT<=1 and (not UnitChannelInfo("player","Пытка разума")) then RunMacroText("/castsequence reset=2 Прикосновение вампира,Всепожирающая чума") end
/run if UnitBuff("player", "Ответный удар") then CastSpellByName("Испепеление") end /run if (not UnitDebuff("target", "Жертвенный огонь", nil, "PLAYER"))then RunMacroText("/castsequence reset=2 Жертвенный огонь,Жер") end /run local _,a,_ = GetSpellCooldown("Поджигание") if (a == 0) then CastSpellByName("Поджигание") end /run local _,b,_ = GetSpellCooldown("Стрела Хаоса") if (b == 0) then CastSpellByName("Стрела Хаоса") end /run local _,c,_ = GetSpellCooldown("Испепеление") if (c == 0) then CastSpellByName("Испепеление") end /run if UnitPower("Player") < 9000 then CastSpellByName("Жизнеотвод") end /run local t={UnitDetailedThreatSituation("player","target")}; if GetNumPartyMembers()>0 and (t[1]==1 or (t[5] ~=nil and t[5]>25000 and t[3]>90)) and GetSpellCooldown("Раскол души")==0 then RunMacroText("/cast [@player] Раскол души") end
Сообщение # 29 отредактировано RUSisakov - Пятница, 27.01.2017, 19:04