а точнее нужно 2 макроса
1 макрос выводит в чат бафы\дебафы цели и их ID
2 макрос действует как канцелаура только не через название а через ID этих бафов
Вид для печати
а точнее нужно 2 макроса
1 макрос выводит в чат бафы\дебафы цели и их ID
2 макрос действует как канцелаура только не через название а через ID этих бафов
/run for i=1,40 do local B,C,_,_,_,_,D,_,_,_,E=UnitBuff("target",i); if B then print(B,C,D,E) end end
баффы
дебафф тоже самое но - UnitDebuff.
эт по 1, выводит бафы в чат
теперь по 2, надо чтобы /cancelaura прокал отмену по ID
собственно у элексира гогельмогеля 3 прока, мне надо отменять кнопочкой 1 из них
Нужен обработчик слэш команд , это все в 1 макрос не влезет.
Не использует защищенных api , т.е работает без стороннего софта.PHP код:
local cAura
do -- ограничивает область видимости переменных , которые будем использовать в нашей функции
local cBase = {[57623] = true} -- массив , ключ это айди , true значение. при rawget() массива по этому ключу нам вернет истину.
local select, i = select, 1 -- немного локальных переменных , для ускорения работы
cAura= function()
local id = select(11, UnitAura("player",i,"HELPFUL")) -- получаем айди
if id then -- пошел рекурсивный перебор всех айди , которые есть на игроке. Если аур нет - выход из рекурсии.
if cBase[id] then CancelUnitBuff("player", i) end -- если айди равно ключу и ключ истина - сбрасываем наш баф.
i=i+1
cAura()
else -- в противном случае сбрасываем счетчик индексов, для возможности повторного суммирования.
i = 1
end
end
end
SlashCmdList["CAURA"] = cAura; -- регистрируем обработчик в пространстве имен слэш команд
SLASH_CAURA1 = "/caura" -- регистрируем для нашего обработчика слэш команду
Вообщем изи - дерзай.
Protected api стало на патче 4.0.1 с вводом SecureAuraTemplate шаблона аур. Если раньше нужно было писать отдельные хуки для создания отменяемых по клику аур , то после этого изменения достаточно спавнить кнопки CreateFrame("button, nil, UIParent, "SecureAuraTemplate") , что существенно упростило создание аур игрока, но сделало невозможным использовать api CancelUnitBuff вне обработчиков SecureTemplate шаблонов.