Модератор форума: staford11  
Использование Lua скриптов.
staford11
^s†af0rd f0rever^
gett_lock, все проверки на спеллы можно вынести в отдельную функцию:
Код
function IsUsableNow()
    if not (UnitDebuff("target", "Спелл1")) and not (UnitDebuff("target", "Спелл2")) and not (UnitDebuff("target", "Спелл3")) then
        return true
    else
        return false
    end
end

if (IsUsableNow()) and (IsSpellInRange("Спелл4")) and (GetSpellCooldown("Спелл4") == 0) then
    CastSpellByName("Спелл4", "target")
end

if (IsUsableNow()) and (IsSpellInRange("Спелл5")) and (GetSpellCooldown("Спелл5") == 0) then
    CastSpellByName("Спелл5", "target")
end
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 1891 написано 29.08.2016 в 19:24
Prodamaki
Скаут
staford11 может ты знаешь где тут ошибка.
при условии что ты используешь через PQRif UnitExists("pet")
and not UnitIsDead("pet")
and PQR_SpellAvailable(1742)
and (100 * UnitHealth("pet") / UnitHealthMax("pet")) < 70
then
CastSpellByID(1742)
end
Сообщение # 1892 написано 30.08.2016 в 12:00
sanfishman22
Капрал
что я не так делаю? не юзает освящение,молот гнева, освящение,при висящем баффе "исскуство войны" не бьёт  Экзорцизмом если спеллы другие в кд. Немогу понять куда засунуть Святую клятву

Код
/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 and IsUsableSpell("Освящение") and IsSpellInRange("Освящение","target") then CastSpellByName("Освящение") end
/run if GetSpellCooldown("Удар воина Света")==0 and IsUsableSpell("Удар воина Света") and IsSpellInRange("Удар воина Света","target") then CastSpellByName("Удар воина Света") elseif GetSpellCooldown("Божественная буря") > 0 and GetSpellCooldown("Удар воина Света") > 0 and GetSpellCooldown("Правосудие мудрости") > 0 and GetSpellCooldown("Освящение") > 0 and GetSpellCooldown("Молот гнева") > 0 and UnitBuff("player", "Искусcтво войны") then CastSpellByName("Экзорцизм") end
Сообщение # 1893 написано 30.08.2016 в 13:05
toplok91
Скаут
Такая проблема появилась, использую BindPad на увове , скрипты на дк ( поддержка раги пета, сало в каст с проверкой на расстояние, и "сжаться" пету при n кол-ве хп.
Начало каждые минут 10-15 останавливать игровой процесс: все бегают на месте, ничего не юзается. В чем может быть проблема?
Анлок делаю гагариным 1.7
Сообщение # 1894 отредактировано toplok91 - Вторник, 30.08.2016, 17:47
Retly
Скаут
Всем  привет, помогите соеденить 2 скрипта один на вкл и выкл а второй авто ваниш
Код
local spellON = {
["Destroy"] = false,
["spell1"] = "CastSpellByName(\"Целительное прикосновение\")",
}
function Destroy(self)
if (spellON["Destroy"]) then
if UnitBuff("player","Омоложение") and (not UnitBuff("player","Кровоотвод"))then
RunScript(spellON["spell1"])
end
end
end
CreateFrame("Frame", "DestroyFrame")
DestroyFrame:SetScript("OnUpdate", Destroy)

function ss(self)
if spellON["Destroy"] == false then
spellON["Destroy"] = true
print("on")
elseif spellON["Destroy"] == true then
spellON["Destroy"] = false
print("off")
end
end
SLASH_SS1 = '/ss';
SlashCmdList["SS"] = ss


_____________________________________________________________________________________________
Код
TwoScriptForVanish = CreateFrame("Frame", "TwoScriptForVanish", UIParent);
TwoScriptForVanish: RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
TwoScriptForVanish:SetScript("OnEvent", function(self, event, ...)
VanishSpellTwo = {"Ослепление", "Подлый трюк", "Удар по почкам", "Ошеломление", "Лик смерти", "Глубокая заморозка", "Стрела хаоса", "Превращение"} -- Вписываем название спеллов вот так "Название",
local enabled = GetSpellCooldown("Сверх мощный заряд термической  саперной взрывчатки")
for x = 1,#VanishSpellTwo do
local args = {...}
if (arg10 == VanishSpellTwo [x]and arg2 == "SPELL_CAST_SUCCESS" and arg7 ==UnitName("player")) then
CastSpellByName("Исчезновение")
end
end
end)
Сообщение # 1895 отредактировано Retly - Вторник, 30.08.2016, 22:13
Prodamaki
Скаут
У кого есть скрипт для PQR (WoW 5.4.8) на интеррапт ?
Чтобы был рандомный кик в промежуток с 0.3 от начала каста и до 0.2 до конца каста и в строго определённые касты.

Просто иногда бывает кикает в 0.1, а бывает кикает за 0.1 до конца каста (полно вариаций этого в разных профилях), но кикает всё подряд.
Либо помогите допилить текущий скрипт, в профиле не могу найти значения maxMSinterrupt и minMSinterrupt
Сообщение # 1896 написано 31.08.2016 в 20:59
s3ek
Скаут
Поделитесь примером пожалуйста. Как добавить в эту строчку макроса, проверку на лосс за игровыми объектами?
/run if GetSpellCooldown("заклинание")==0 and IsSpellInRange("заклинание","focus")  then CastSpellByName("заклинание","focus") end
Это вообще возможно?

// UP
Сообщение # 1897 отредактировано s3ek - Четверг, 01.09.2016, 00:45
Punisher45
Капрал
Такой вопрос, если я воспользовался подобной конструкцией, чтобы сделать постоянный вызов функции, могу я как то еще остановить его не прибегая к /reload?


Код
CreateFrame("Frame", "ExampleFrame")
ExampleFrame:SetScript("OnUpdate", ExampleFunction)
Сообщение # 1898 отредактировано Punisher45 - Четверг, 01.09.2016, 22:39
sensual
Скаут
Ребят может кто переделать  данный скрипт на Шадовмелд(слиться с тенью) на Лик смери лок и Дип мага?  в спелбазу попробовал вписать спелы которые мне нужны а в castSpellByname Слиться с тенью но не работает, и ошибок не выдает. За ранее спасибо! 
SpellBase = {""}  
SpellFrame = CreateFrame("Frame", "FrameSpell", UIParent);  
SpellFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");  
SpellFrame:SetScript("OnEvent", function(self, event, arg1, arg2, ...)  
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then  
for s = 1,#SpellBase do  
local name = UnitName("player")  
if arg2 == "SPELL_CAST_SUCCESS" and name ~= arg4 and name == arg7 and arg10 == SpellBase then  
local enabled = GetSpellCooldown("")  
if enabled == 0 then  
CastSpellByName("")  
end  
end  
end  
end  
end)
Сообщение # 1899 написано 02.09.2016 в 05:32
Zhenyaterrible
Скаут
ребята нужен lua unlocker для wod 6.2
скиньте пожалуйста ссылочку на Olua если есть у кого в пм
Сообщение # 1900 написано 02.09.2016 в 11:36
Punisher45
Капрал
Цитата sensual ()
Ребят может кто переделать  данный скрипт на Шадовмелд(слиться с тенью) на Лик смери лок и Дип мага?  в спелбазу попробовал вписать спелы которые мне нужны а в castSpellByname Слиться с тенью но не работает, и ошибок не выдает. За ранее спасибо!
 

Тестировалось на кате с коилом лока

Код
SHM = CreateFrame("Frame", "SHM", UIParent);        
SHM:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")        
SHM:SetScript("OnEvent", function(self, event, arg1, arg2)        
SpellBase = {"Глубокая заморозка","Лик смерти"}   
local cd = GetSpellCooldown("Слиться с тенью")     
for v = 1,#SpellBase do        
local args = {arg1, arg2}        
if (arg1 == "target" and arg2 == SpellBase[v]) then
if cd == 0 then     
CastSpellByID(58984)
end    
end        
end        
end)


Пробуй у себя
Сообщение # 1901 отредактировано Punisher45 - Пятница, 02.09.2016, 13:31
sensual
Скаут
Punisher45, работает, спс) тестил на скатере-коил-дип. Но дип не ловит, не успевает просто, пишет вы оглушены... А можно ли добавить в скрипт еще кое что, точнее чтоб перс стопал движение а потом уже юзался скрипт, бывает когда я в движении пишет невозможно делать на ходу. За ранее спасибо!

Добавлено (04.09.2016, 09:53)
---------------------------------------------
какой скрипт взять за основу и переписать чтоб ферал диспелил  c party1-party2 хекс?

Сообщение # 1902 написано 04.09.2016 в 09:53
toplok91
Скаут
Скрипт на сбитие тотемов петом лока существует? 3.3.5 ( Uwow). Может кто-нибудь подкинуть? 
P.S. может есть ещё что-нибудь полезное для лока?
Сообщение # 1903 написано 04.09.2016 в 14:51
sensual
Скаут
Помогите пожалуйста что именно нужно тут удалить?

SpellBase = {"Ослепление", "Лик смерти", "Глубокая заморозка", "Превращение", "Молот правосудия"}
SpellFrame = CreateFrame("Frame", "FrameSpell", UIParent);
SpellFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
SpellFrame:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
for s = 1,#SpellBase do
local name = UnitName("player")
if arg2 == "SPELL_CAST_SUCCESS" and name ~= arg4 and name == arg7 and arg10 == SpellBase[s] then
local enabled = GetSpellCooldown("Исчезновение")
if enabled == 0 then
CastSpellByName("Исчезновение")
print(arg1,arg2,...) -- для инфы. Удалить.
end
end
end
end
end)
Сообщение # 1904 написано 08.09.2016 в 09:39
chaosway
Рыцарь
sensual, ты ошибки выведи
Сообщение # 1905 написано 08.09.2016 в 15:59
sensual
Скаут
Ребят кто может написать скрипт чардж(ферал) на каст суккубы+шип? по листал форум но не нашел схожий скрипт чтоб взять за основу и переписать. За ранее спасибо!

Добавлено (09.09.2016, 09:50)
---------------------------------------------
chaosway, ваниш рабочий, просто нужно удалить там кое что не нужное. Ошибок нет в скрипте.

Сообщение # 1906 написано 09.09.2016 в 09:50
sanfishman22
Капрал
кто может помочь, непойму как как добавить проверку на время до конца дебафа на прикосновение вампира, за 1.25 секунды до конца мне надо чтоб кастовало Прикосновение вампира, в теме подобного не могу найти

Код
/run if (not UnitDebuff("target", "Прикосновение вампира", nil, "PLAYER")) then RunMacroText("/castsequence reset=2 Прикосновение вампира") end if (not UnitDebuff("target", "Всепожирающая чума", nil, "PLAYER")) then CastSpellByName("Всепожирающая чума","target") end if (UnitDebuff("target", "Прикосновение вампира", nil, "PLAYER")) and (UnitDebuff("target", "Всепожирающая чума", nil, "PLAYER")) then RunMacroText("/cast [nochanneling:Пытка разума] Пытка разума") end
как его запилить то?
Сообщение # 1907 написано 10.09.2016 в 02:06
Punisher45
Капрал
Цитата sensual ()
Punisher45, работает, спс) тестил на скатере-коил-дип. Но дип не ловит, не успевает просто, пишет вы оглушены... А можно ли добавить в скрипт еще кое что, точнее чтоб перс стопал движение а потом уже юзался скрипт, бывает когда я в движении пишет невозможно делать на ходу. За ранее спасибо!


Ничего удивительного, у дипа довольно маленький флайтайм, шанс, что скрипт успеет небольшой. Сильно зависит от пинга и прочей хрени, в общем с этим ничего не сделать. Что касается мгновенной остановки персонажа, я не уверен что это реализуемо на lua, по крайней мере я не знаю такой функции, которая бы выполняла то, что ты хочешь.
Попробуй поиграться с функциями в разделе Movement вот тут

Добавлено (10.09.2016, 20:58)
---------------------------------------------
Цитата sanfishman22 ()
кто может помочь, непойму как как добавить проверку на время до конца дебафа на прикосновение вампира, за 1.25 секунды до конца мне надо чтоб кастовало Прикосновение вампира, в теме подобного не могу найти

Такая конструкция

Код
local n,_,_,_,_,_,x = UnitDebuff("target","Прикосновение вампира")
if -1*(GetTime()-x) == 1.25 then ... твои условия в блоке

по идее должна возвращать время в секундах которое осталось до конца дебаффа, думаю дальше сам додумаешь для своего скрипта
Сообщение # 1908 отредактировано Punisher45 - Суббота, 10.09.2016, 20:58
spamcik
Скаут
Помощь нужна . с скриптом на дк. тут пишут могу все написать.Nyll2 ,Напиши на трапу ловить петом. чтобы мором болезни обновлялись за 3сек до окончания. рогу чтобы палить аое спелом.это вообще возможно?
Сообщение # 1909 написано 11.09.2016 в 00:33
sanfishman22
Капрал
Цитата Punisher45 ()
Такая конструкция

Код
local n,_,_,_,_,_,x = UnitDebuff("target","Прикосновение вампира")
if -1*(GetTime()-x) == 1.25 then ... твои условия в блоке

по идее должна возвращать время в секундах которое осталось до конца дебаффа, думаю дальше сам додумаешь для своего скрипта


пробую твоё - ошибка, ещё вот так пробую,
Код
/run _,_,_,_,_,d = UnitDebuff("player", "Прикосновение вампира"); if d~=nil and d-GetTime()<1.25 then CastSpellByName("Прикосновение вампира") end
/run if not UnitDebuff("target", "Всепожирающая чума") then CastSpellByName("Всепожирающая чума","target") end if (UnitDebuff("target", "Прикосновение вампира")) and (UnitDebuff("target", "Всепожирающая чума")) then CastSpellByName("Пытка разума","target") end

вобще не смотрит за дебафом

суть такова, если на цели нет дебафа "Проклятие рока" то кастовать "проклятие рока" а если на цели висит "Проклятие рока" то кидать "Проклятие агонии", но почему то не работает, где моя ошибка?
Код
/run if (not UnitDebuff("target", "Проклятие рока") then CastSpellByName("Проклятие рока") or if (UnitDebuff("target", "Проклятие рока")) then CastSpellByName("Проклятие агонии") end
Сообщение # 1910 отредактировано sanfishman22 - Воскресенье, 11.09.2016, 16:10
staford11
^s†af0rd f0rever^
sanfishman22, потому что конструкция неправильно построена:
Код
/run if not (UnitDebuff("target", "Проклятие рока")) then CastSpellByName("Проклятие рока") elseif UnitDebuff("target", "Проклятие рока") then CastSpellByName("Проклятие агонии") end
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 1911 написано 12.09.2016 в 09:32
Punisher45
Капрал
Цитата sanfishman22 ()
пробую твоё - ошибка

Пробуй это
Код
/run local n,_,_,_,_,_,x = UnitDebuff("target","Прикосновение вампира") if not UnitDebuff("target","Прикосновение вампира") then CastSpellByName("Прикосновение вампира","target") end if UnitDebuff("target","Прикосновение вампира") and -1*(GetTime()-x) <= 1.25 then CastSpellByName("Прикосновение вампира") end if not UnitDebuff("target", "Всепожирающая чума") then CastSpellByName("Всепожирающая чума","target") end  if UnitDebuff("target", "Прикосновение вампира") and UnitDebuff("target", "Всепожирающая чума") then CastSpellByName("Пытка разума","target") end
Сообщение # 1912 отредактировано Punisher45 - Понедельник, 12.09.2016, 11:13
sanfishman22
Капрал
Цитата Punisher45 ()
Пробуй это

вроде работает, вопрос почему он кастует вампир 2 раза иногда, даже при кастеквенс

Код
/run local n,_,_,_,_,_,x = UnitDebuff("target","Прикосновение вампира") if not UnitDebuff("target","Прикосновение вампира") then CastSpellByName("Прикосновение вампира","target") end if UnitDebuff("target","Прикосновение вампира") and -1*(GetTime()-x) <= 1.25 then  RunMacroText("/castsequence reset=2 Прикосновение вампира") end if not UnitDebuff("target", "Всепожирающая чума") then CastSpellByName("Всепожирающая чума","target") end  if UnitDebuff("target", "Прикосновение вампира") and UnitDebuff("target", "Всепожирающая чума") then RunMacroText("/cast [nochanneling:Пытка разума] Пытка разума") end
Сообщение # 1913 написано 12.09.2016 в 13:09
Punisher45
Капрал
Цитата sanfishman22 ()
вроде работает, вопрос почему он кастует вампир 2 раза иногда, даже при кастеквенс

Суть в том, что если спамить скрипт, то попадешь в тот промежуток, когда старая дота обновляется новой, и в этот момент на цели ее как бы нет, поэтому выполняется самое первое уусловие и из-за этого кастуется прикосновение дважды(я так понял, на самом деле хз как оно там), поэтому после каста вампирика надо делать маленькую паузу, а потом нажимать дальше, больше решения не вижу. Плюс причесал это безобразие, уменьшив размер.

Код
/run local n,_,_,_,_,_,x = UnitDebuff("target","Прикосновение вампира") VT = UnitDebuff("target","Прикосновение вампира") DP = UnitDebuff("target", "Всепожирающая чума") CSBN = CastSpellByName if not VT then CSBN("Прикосновение вампира") elseif -1*(GetTime()-x) <= 1.25 then CSBN("Прикосновение вампира") elseif not DP then CSBN("Всепожирающая чума") elseif VT and DP then RunMacroText("/cast [nochanneling:Пытка разума] Пытка разума") end

Вообще у шп очень простая ротация, понятия не имею зачем тебе этот скрипт :D
Сообщение # 1914 отредактировано Punisher45 - Понедельник, 12.09.2016, 14:39
sanfishman22
Капрал
Цитата Punisher45 ()
Вообще у шп очень простая ротация, понятия не имею зачем тебе этот скрипт :D
да просто мне лень  жать и смотреть за дотами) Плюсик тебе. Борюсь с этим  -  
Код
RunMacroText("/castsequence reset=2 Прикосновение вампира")

но всё равно не помомгает, может есть идеи?
Сообщение # 1915 написано 12.09.2016 в 22:14
Punisher45
Капрал
Цитата sanfishman22 ()
может есть идеи?
 лично у меня нет, но у других могут и быть, я не вижу логических ошибок в коде, да и для кастеров прежде ничего особенного не писал.
Сообщение # 1916 написано 12.09.2016 в 22:25
sanfishman22
Капрал
Может кому то надо, пве ротация ханта. Для тех кому лень жать кнопки как и мне)
Код
/run CastSpellByName("!Автоматическая стрельба");s="Глушащий выстрел";if(GetSpellCooldown(s)==0)then CastSpellByName(s)end;s="Убийственный выстрел";if(GetSpellCooldown(s)==0 and IsUsableSpell(s))then CastSpellByName(s)end;RunMacro("Hunt2")")

Содержание макроса Hunt2
      
Код
/run cd=GetSpellCooldown;s="Выстрел химеры";if(cd(s)==0)then CastSpellByName(s)end;s="Прицельный выстрел";if(cd(s)==0)then CastSpellByName(s)end;s="Команда \"Взять!";if(cd(s)==0)then CastSpellByName(s)end;CastSpellByName("Верный выстрел")")
Рдру

Код
#showtooltip Омоложение
/run for r=0,24 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <0.95 and IsSpellInRange("Омоложение", "raid"..r) and (not UnitBuff("raid"..r, "Омоложение")) then CastSpellByName("Омоложение","raid"..r) end end if (UnitHealth("player")/UnitHealthMax("player")) <0.95 and IsSpellInRange("Омоложение", "player") and (not UnitBuff("player","Омоложение")) then CastSpellByName("Омоложение","player") end
/run for r=0,24 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <0.95 and IsSpellInRange("Буйный рост", "raid"..r) and (not UnitBuff("raid"..r, "Буйный рост")) then CastSpellByName("Буйный рост","raid"..r) end end if (UnitHealth("player")/UnitHealthMax("player")) <0.95 and IsSpellInRange("Буйный рост", "player") and (not UnitBuff("player","Буйный рост")) then CastSpellByName("Буйный рост","player") end
/run for r=0,24 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <0.80 and IsSpellInRange("Быстрое восстановление", "raid"..r) and (UnitBuff("raid"..r, "Омоложение")) then CastSpellByName("Быстрое восстановление","raid"..r) end end if (UnitHealth("player")/UnitHealthMax("player")) <0.80 and IsSpellInRange("Быстрое восстановление", "player") and (UnitBuff("player","Омоложение")) then CastSpellByName("Быстрое восстановление","player") end
Но всё же профитнее руками
А вот тут, на мункина проблемка. Как сделать чтоб он кастовал после конца Лунного затмения "Звездным огнем" до прока Солнечного затмения,и так же После конца прока Солнечного затмения кастовал "Гнев" до следующего прока Лунного затмения, ибо приходится в ручную кастовать до следующего затмения

Код
function FuryRotation(self,elapsed)

if (not UnitDebuff("target", "Лунный огонь", nil, "PLAYER")) then CastSpellByName("Лунный огонь") elseif (not UnitDebuff("target", "Рой насекомых", nil, "PLAYER")) then CastSpellByName("Рой насекомых") elseif GetSpellCooldown("Звездопад") == 0 and UnitDebuff("target", "Лунный огонь") then CastSpellByName("Звездопад") elseif GetSpellCooldown("Гнев") == 0 and UnitDebuff("target", "Рой насекомых") and GetSpellCooldown("Звездопад") > 0 and UnitBuff("player", "Солнечное затмение") then CastSpellByName("Гнев")
end

end

if not FuryRotationFrame then
CreateFrame("Frame", "FuryRotationFrame")
FuryRotationFrame:SetScript("OnUpdate", FuryRotation)
end
Сообщение # 1917 отредактировано sanfishman22 - Вторник, 13.09.2016, 09:24
Kieg
Сержант
Цитата Punisher45 ()
Суть в том, что если спамить скрипт, то попадешь в тот промежуток, когда старая дота обновляется новой, и в этот момент на цели ее как бы нет, поэтому выполняется самое первое уусловие и из-за этого кастуется прикосновение дважды(я так понял, на самом деле хз как оно там), поэтому после каста вампирика надо делать маленькую паузу, а потом нажимать дальше, больше решения не вижу. Плюс причесал это безобразие, уменьшив размер.

аааа, ребята. Не усложняйте жызнь. Есть http://wow.gamepedia.com/COMBAT_LOG_EVENT и там указано об SPELL_CAST_SUCCESS. Поставьте разницу между временем когда был прменен спел и текущем временем, также сохраните цель, чтоб совпадало. 

Автосбивание тотемов в суто в Lua не реализуемо.

На щет совуха, там там совсем по другому зделать можна, или ты хочеш чтоб скрипт сам все жал? Я сам жму и от того такой был и есть баф меняеться каст в 1! кнопке
Сообщение # 1918 написано 13.09.2016 в 12:30
Punisher45
Капрал
Цитата sanfishman22 ()
А вот тут, на мункина проблемка. Как сделать чтоб он кастовал после конца Лунного затмения "Звездным огнем" до прока Солнечного затмения,и так же После конца прока Солнечного затмения кастовал "Гнев" до следующего прока Лунного затмения, ибо приходится в ручную кастовать до следующего затмения


Вот тебе затравочка, ничего не проверял, если что, сам потестишь и исправишь
Код
function FuryRotation(self,elapsed) 

if not UnitDebuff("target", "Лунный огонь", nil, "PLAYER") then 
CastSpellByName("Лунный огонь") 
elseif not UnitDebuff("target", "Рой насекомых", nil, "PLAYER") 
then CastSpellByName("Рой насекомых") 
elseif GetSpellCooldown("Звездопад") == 0 and UnitDebuff("target", "Лунный огонь") then 
CastSpellByName("Звездопад")
elseif UnitBuff("player","Падающие звезды") then
CastSpellByName("Звездный поток")
end 

if UnitPower("player" , 8) == 0 then
RunMacroText("/castrandom Гнев, Лунный огонь")
elseif UnitPower("player" , 8) > 0 then
CastSpellByName("Звездный огонь")
elseif UnitPower("player" , 8) == 100 and UnitBuff("player","Солнечное затмение") then
if UnitPower("player" , 8) <= 100 and UnitPower("player" , 8) ~= 0  then
CastSpellByName("Гнев")
end
elseif UnitPower("player" , 8) < 0 then
CastSpellByName("Гнев")
elseif UnitPower("player" , 8) == -100 and UnitBuff("player","Лунное затмение") then
if UnitPower("player" , 8) >= -100 and UnitPower("player" , 8) ~= 0  then
CastSpellByName("Звездный огонь")
end
end

end
Сообщение # 1919 отредактировано Punisher45 - Вторник, 13.09.2016, 13:23
Kieg
Сержант
Цитата Punisher45 ()
Вот тебе затравочка, ничего не проверял, если что, сам потестишь и исправишь


У тебя всегда такие скрипты?
Сообщение # 1920 написано 13.09.2016 в 13:21
Поиск: