на первой странице этой темы есть примеры "сложных" макросов:
1.Макрос для ленивых палов: авто-бафф мп5 целей использующих ману (Wisdom Blessing) и остальных кулаком (Might Blessing):
Код:
/script power = UnitPowerType("target"); if ( power == 0 ) then CastSpellByName("Blessing of Wisdom") else CastSpellByName("Blessing of Might") end; if ( SpellIsTargeting() ) then CastSpellByName("Blessing of Might"); TargetUnit("player"); end;
2.
Макрос лечит цель со здоровьем меньше 50% спеллом "Lesser Healing Wave". Проверяет ближайшие 15 целей:
Код:
/script for i=1,15 do TargetNearestFriend(); if UnitHealth("target")/UnitHealthMax("target") < 0.5 then if UnitIsPlayer("target") then CastSpellByName("Lesser Healing Wave") end end end; TargetLastEnemy();
Добавлю из своей коллекции:
1. прячет грифонов на стандартной панели
**** MainMenuBarLeftEndCap:Hide();MainMenuBarRightEndCa p:Hide()
2. покупка предметов (ну вы знаете)
/script local function buy (n,q) for i=1,30 do if n==GetMerchantItemInfo(i) then BuyMerchantItem(i,q) end end end buy ("Эмблема триумфа",18)
3. обучение всего подряд у классового\профессии\проче го тренера
**** LoadAddOn"Blizzard_TrainerUI" f=ClassTrainerTrainButton f.e = 0 f:SetScript("OnUpdate", function(f,e) f.e=f.e+e if f.e>.01 then f.e=0 f:Click() end end)
Эти макросы разрешаются защитой луа
а например макрос на "автоблайнд" (по механике своей схожий с макросом который ты хочешь) запрешены
**** if not UnitDebuff("target", "Подлый трюк") and not UnitDebuff("target", "Ошеломление") and not UnitDebuff("target", "Удар по почкам") and not UnitDebuff("target", "Парализующий удар") then RunMacroText("/cast Ослепление") end
так же макрос на автокик
**** if UnitCastingInfo("target") then SpellStopCasting() CastSpellByName("Пинок") end
но однако следующие много букв
Код:
if not frame then
frame = CreateFrame("Frame")
end
local onEvent = function(self, event, ...)
if (event == "COMBAT_LOG_EVENT_UNFILTERED") then
local timestamp, type, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags = select(1, ...)
if (type == "SPELL_CAST_SUCCESS") then
local spellId, spellName, spellSchool = select(9, ...)
if spellName == "Ослепление" or spellName == "Подлый трюк" or spellName == "Удар по почкам" or spellName == "Парализующий удар" or spellName == "Ошеломление" or spellName == "Лик смерти" or spellName == "Молот правосудия" or spellName == "Покояние" or spellName == "Глубокая заморозка" or spellName == "Глубинный ужас" or spellName == "Волшебный огонь" or spellName == "Дезориентирующий выстрел" and UnitName("player") == destName then
if UnitIsEnemy("target", "player") and UnitName("target") == sourceName then
SpellStopCasting()
CastSpellByName ("Исчезновение")
else
if UnitIsFriend("target", "player") then
RunMacro ("Target")
SpellStopCasting()
CastSpellByName ("")
else
RunMacro ("Target")
SpellStopCasting()
CastSpellByName ("")
end
end
end
end
end
end
frame:SetScript("OnEvent", onEvent)
frame:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
frame:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED")
разрешены
лично у меня только мысль по этому поводу, где то есть люди которые понимают как устроена эта игра, и они четко видят границу между разрешенным и запрещенным и знают как ее обойти, на ум приходит бесконечные истории про серенити и его "ноугкдхак"
удачи