Этот скрипт делает только ШС, но не дает КИК, можно ли сделать так, что бы скрипт обращался к 2-м макросам. Т.Е. сначала обращался к 1-му макросу, делая ШС, за тем ко 2-му, делая КИК?
Код
function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("focus") local enabled = GetSpellCooldown("Пинок") local enabledshadowstep = GetSpellCooldown("Шаг сквозь тень") local inRange = IsSpellInRange("Шаг сквозь тень", "focus") if spell then if interrupt == false and enabled == 0 and enabledshadowstep == 0 and inRange == 1 then local finish = endTime/1000 - GetTime() if finish <= 0.6 then RunMacro("kick") end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Не могу настроить скрипт на ШС/КиК. Есть 2 скрипта 1)
function Kick(self, elapsed) local spell, _, _, _, _, endTime,_, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Пинок") local inRange = IsSpellInRange("Пинок", "target") if spell then if interrupt == false and enabled == 0 and inRange == 1 then RunMacroText("/Пинок") end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Суть в том, что этот скрипт только на КиК, но если добавить в макрос ШС
то он будет делать ШС и давать в каст, но проблема в том, что он действует лишь в близи, отойдешь чуть по-дальше и он не будет работать как надо.
Есть 2-ой скрипт 2)
function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("focus") local enabled = GetSpellCooldown("Пинок") local enabledshadowstep = GetSpellCooldown("Шаг сквозь тень") local inRange = IsSpellInRange("Шаг сквозь тень", "focus") if spell then if interrupt == false and enabled == 0 and enabledshadowstep == 0 and inRange == 1 then local finish = endTime/1000 - GetTime() if finish <= 0.6 then RunMacro("kick") end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Макрос тот же, но в этом скрипте ШС дается как нужно, но после ШС не следует КиК.
Большая просьба помочь.
Сообщение # 1115 отредактировано rdxzserdxzs - Понедельник, 10.08.2015, 11:48
PaulDousen, Дело в том, что 1-ый скрипт работает на ура, но он дает шс только тогда, когда ты стоишь почти в притирку с кастером. И я не могу понять как увеличить зону действия шс до предела.
Люди если не затруднит вас поясните мне суть этой строки if interrupt == false and enabled == 0 and enabledshadowstep == 0 and inRange == 1 then
Добавлено (11.08.2015, 12:14) --------------------------------------------- Вот зделал такой вот скрипт , чёт не прокает гляньте мб что то есть лишние*? function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("focus") local enabled = GetSpellCooldown("Пинок") local enabledshadowstep = GetSpellCooldown("Шаг сквозь тень") local inRange = IsSpellInRange("Шаг сквозь тень", "focus") local inRange = IsSpellInRange("Пинок", "focus") if spell then if interrupt == false and enabled == 0 and enabledshadowstep == 0 and inRange == 1 then local finish = endTime/1000 - GetTime() if finish <= 0.6 then RunMacro("kick") end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Добавлено (11.08.2015, 12:15) --------------------------------------------- сам макрос /cast [target=focus] Шаг сквозь тень /cast [target=focus] Пинок запускаю скрипт через такой макрос /sdm run kick
Добавлено (11.08.2015, 12:16) --------------------------------------------- p/s этот скрипт спецально хочу что - бы прокал только по фокусу не какого таргета !
Народ, подсобите нужен скрипт на друля(ферала) с проверкой на бафф: При нажатии на спел Глубокая рана была проверка есть ли на мне бафф Ясность мысли(клиаркаст) -> если есть бафф то вместо Глубокая раны должен заютзаться спел Полоснуть -> если нет бафа Ясности мысли топрименяется Глубокая рана
#showtooltip Омоложение /run for r=1,5 do GetNumPartyMembers(); if (UnitHealth("party"..r)/UnitHealthMax("party"..r))<0.95 then CastSpellByName("Омоложение") end end; TargetLastEnemy();
Народ, подсобите нужен скрипт на друля(ферала) с проверкой на бафф: При нажатии на спел Глубокая рана была проверка есть ли на мне бафф Ясность мысли(клиаркаст) -> если есть бафф то вместо Глубокая раны должен заютзаться спел Полоснуть -> если нет бафа Ясности мысли топрименяется Глубокая рана
Xgames, Анлочишь луа и создаешь как обычный макрос, выставляешь на панель
Код
/run if (not UnitBuff("player", "Ясность мысли")) then RunMacroText("/cast Глубокая рана") end /run if UnitBuff("player", "Ясность мысли") then RunMacroText("/cast Полоснуть") end
Likert, в скрипте стоит условие local enabledshadowstep = GetSpellCooldown("Шаг сквозь тень") - Это условие "Шаг сквозь тень" не имеет колдауна, само собой при том как он использует шаг сквозь тень он не будет прожимать макрос дальше - так как условие для скрипта не соблюдено и спелл "Шаг сквозь тень" имеет кд. Как вариант просто убрать эту строчку, но скрипт будет прожиматься даже если "Шаг сквозь тень" будет на кд
Добавлено (12.08.2015, 19:53) --------------------------------------------- Kieg, Твой вопрос непонятен: Ты спрашиваешь будет ли он работать, сам не проверив? Или ты хочешь чтобы кто то тут проверил? Если ты проверил и не сработал, так и напиши и вместе поищем ошибки
Добавлено (12.08.2015, 19:59) --------------------------------------------- Kieg, Проще сделать на автоматическом скрипте - если у члена группы определенное % хп - на него используется омоложение
В общем суть такая: if у игрока меньше определенного % хп and not UnitBuff омоложение, то CastSpellByName Омоложение и цель этот игрок, в этом случае придется сделать 4 скрипта для каждого члена группы. Если потрудиться и прикрутить проверку членов пати то можно и в 1 засунуть
Помогите объединить 2 скрипта в 1 (на Удар щитом и Превосходство). Суть должна быть в том, что когда Удар щитом на кд, вар давал в каст Превосходством.
На удар Щитом:
function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Удар щитом") local inRange = IsSpellInRange("Удар щитом", "target") if spell then if interrupt == false and enabled == 0 and inRange == 1 then local finish = endTime/1000 - GetTime() if finish <= 0.6 then RunMacro("Удар щитом") end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
На Превосходство :
function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabl = GetSpellCooldown("Превосходство") local Range = IsSpellInRange("Превосходство", "target") local rage = UnitPower("player") if spell then if enabl == 0 and UnitBuff("player","Вкус крови") then if interrupt == false and Range == 1 then RunMacroText("/cast Превосходство") end end if rage >= 10 and enabled == 0 and (not UnitBuff("player","Вкус крови")) and (not UnitDebuff("target","Неумолимая атака")) then if interrupt == false and inRange == 1 then end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Заранее спасибо!
Сообщение # 1132 отредактировано rdxzserdxzs - Четверг, 13.08.2015, 09:58
добавляешь условие чтобы использовал превосходство если баш на кд
а как это условие будет выглядеть?
Добавлено (13.08.2015, 14:45) --------------------------------------------- chaosway, примерно это будет выглядеть так?
function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabl = GetSpellCooldown("Превосходство") local enabled = GetSpellCooldown("Удар щитом") local inRange = IsSpellInRange("Удар щитом", "target") local Range = IsSpellInRange("Превосходство", "target") local rage = UnitPower("player") if spell then if enabl == 0 and UnitBuff("player","Вкус крови") then if interrupt == false and Range == 1 then RunMacroText("/cast Превосходство") end end if rage >= 10 and enabled == 0 and (not UnitBuff("player","Вкус крови")) and (not UnitDebuff("target","Неумолимая атака")) then if interrupt == false and inRange == 1 then RunMacro("Удар щитом") end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Но скорее всего он вместо того что бы бить 2-ой удар превосходством он снова уйдет в щит/пуху. Можешь показать как будет выглядеть строчка, которая будет наблюдать за кд баша.
rdxzserdxzs, local enabl = GetSpellCooldown("Превосходство") local enabled = GetSpellCooldown("Удар щитом") if enabl == 0 and enabled ~= 0
Добавлено (13.08.2015, 15:00) --------------------------------------------- Kieg, У тебя какой то макрос чтобы брать в цель нежить? "then CastSpellByName("Омоложение") end end; TargetLastEnemy(); " У тебя не указано в кого именно кастовать омоложение, и после этого берется в таргет последний враг
Добавлено (13.08.2015, 15:11) --------------------------------------------- Можно сделать что то вроде
Код
local HealthP1 = 100 * UnitHealth("party1") / UnitHealthMax("party1") if HealthP1 < 85 then CastSpellByName("Омоложение", "party1") end