ссылка не скидывается поэтому расписываю(копипаст)
1 .Gagarin v1.7 - на данный момент универсальный чит. Риск быть забаненым минимален.
2.2. BindBP - для клиента 3.3.5. Модернизированная версия BindPad для скриптов, но и основной функционал не порезан. Описание ниже(ctrl+g - BindBP)
3. Скрипты - основное и самое вкусное. (Все примеры будут для класса ДК ибо им я когда-то играл и уже в последующем из интереса занялся скриптами)
Код помещаем в аддон BindBP. Открывается он по слеш команде /bp, далее кликаем по крестику, задаём имя и иконку, нажимаем "ок" и у нас появится основное окно в которое нужно вписывать скрипт. Для последующего редактирования нужно будет кликать левой клавишей мышки по иконке "макроса" т.к. правая задаёт бинд. Бинд на скрипт во избежание "палева" лучше не ставить т.к. всё содержимое улетит в чат.
Запускать нужно 1 раз, вошли в игру запустили и забыли до тех пор, пока не перезагрузите интерфейс /reload или релогнитесь
[i]Автосбивание каста с проверками на расстояние, КД и защиту
Код
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("/cast Заморозка разума")
end
end
end
CreateFrame("Frame", "KickFrame")
KickFrame:SetScript("OnUpdate", Kick)
С проверкой на "длину", каст будет прерываться за 0.6 сек до окончания.
Код
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
RunMacroText("/cast Заморозка разума")
end
end
end
end
CreateFrame("Frame", "KickFrame")
KickFrame:SetScript("OnUpdate", Kick)
Скрипт для локов с собакой
1. Диспелит с себя гадости и контроли. Список не полный, требуется добавить в него все существующие магические контроли.
2. Даёт сало в каст нашему противнику в таргете.
Код
function Dispel(self, elapsed)
local inRange = IsSpellInRange("Пожирание магии", "target")
local Range = IsSpellInRange("Запрет чар", "target")
local enable = GetSpellCooldown(48011)
local enabl = GetSpellCooldown(19647)
local pl = "player"
local power = UnitPower("pet", 0)
if enable == 0 and power >= 390 and inRange == 1 then
if UnitDebuff(pl, "Страх") or UnitDebuff(pl, "Жертвенный огонь") or UnitDebuff(pl, "Лик смерти") or UnitDebuff(pl, "Порча") or UnitDebuff(pl, "Неистовство тьмы") or UnitDebuff(pl, "Вой ужаса") or UnitDebuff(pl, "Вой ужаса") or UnitDebuff(pl, "Превращение") or UnitDebuff(pl, "Ледяные оковы") or UnitDebuff(pl, "Молот правосудия") or UnitDebuff(pl, "Покояние") or UnitDebuff(pl, "Сглаз") or UnitDebuff(pl, "Ментальный крик") or UnitDebuff(pl, "Соблазн") then
CastSpellByName("Пожирание магии", "player")
end
end
if enabl == 0 and power >= 200 and Range == 1 then
if UnitCastingInfo("target") or UnitChannelInfo("target") then
CastSpellByName("Запрет чар", "target")
end
end
end
CreateFrame("Frame", "DispelFrame")
DispelFrame:SetScript("OnUpdate", Dispel)
АвтоТринькет гадостей. Вообще тут все просто, т.е. мы вызываем действие если на Вас есть указанный дэбаф.
Код
function Mucks(self, elapsed)
if UnitDebuff("player","Указать гадость(дэбаф)") or UnitDebuff("player","Указать гадость(дэбаф)") then
local enabled = GetItemCooldown("Медальон Орды")
if enabled == 0 then
RunMacroText("/use Медальон орды")
end
end
end
CreateFrame("Frame", "MucksFrame")
MucksFrame:SetScript("OnUpdate", Mucks)
Тоже самое что и выше только с Buff. Пример для варов, применяет Мощный удар под проком Сокрушить!
Код
function Destroy(self, elapsed)
local enabled = GetSpellCooldown("Мощный удар")
local rage = UnitPower("player")
local inRange = IsSpellInRange("Мощный удар", "target")
if UnitBuff("player","Сокрушить!") then
if enabled == 0 and inRange == 1 and rage >= 15 then
RunMacroText("/cast Мощный удар")
end
end
end
CreateFrame("Frame", "DestroyFrame")
DestroyFrame:SetScript("OnUpdate", Destroy)
ет ДК уйдет в дэф если его ХП опуститься ниже 5к(изменяется)
Код
DefPet = CreateFrame("Frame", "PetFrame", UIParent);
DefPet:RegisterEvent("UNIT_HEALTH");
DefPet:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="UNIT_HEALTH") then
if arg1 == "pet" then
local enabled = GetSpellCooldown("Сжаться")
if enabled == 0 then
local health = UnitHealth("pet")
if health <= 5000 then
CastPetAction(4)
end
end
end
end
end
Пет ДК застанит цель если у неё останется 3000 ХП
Код
DefPet2 = CreateFrame("Frame", "PetFrame2", UIParent);
DefPet2:RegisterEvent("UNIT_HEALTH");
DefPet2:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="UNIT_HEALTH") then
if arg1 == "target" then
local enabled = GetSpellCooldown("Отгрызть")
if enabled == 0 then
inRange = IsSpellInRange("Отгрызть", "target")
if inRange==1 then
local isEnemy = UnitIsEnemy("player","target")
if isEnemy == 1 then
local health = UnitHealth("target")
if health <= 3000 then
RunMacro("кус")
end
end
end
end
end
end
end)
Макрос "кус" содержит:
#showtooltip Отгрызть
/petattack
/cast Прыжок
/cast Отгрызть
Для пета ДК. Дабы не терять дамаг пета и сохранить его рагу на уровне достаточном для применения стана.
Пет будет применять спел Цапнуть не опуская рагу ниже 40. т.е. в любой момент мы свободно можем применить стан.
Код
DefPet3 = CreateFrame("Frame", "PetFrame3", UIParent);
DefPet3:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED ");
DefPet3:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
local enabled = GetSpellCooldown("Цапнуть")
if enabled == 0 then
local isEnemy = UnitIsEnemy("player","target")
if isEnemy == 1 then
inRange = IsSpellInRange("Цапнуть", "target")
if inRange==1 then
local power = UnitPower("pet","3")
if power >= 80 then
CastPetAction(6)
end
end
end
end
end
end)
Не даёт использовать Хватку Смерти в Тотем Заземления и Отражение заклинания. Если на цели есть данные бафы то используется спел Темная власть, который сбивает данные бафы.
/run if (not UnitBuff("target", "Отражение заклинания")) and (not UnitBuff("target", "Эффект тотема заземления")) then RunMacroText("/cast Хватка смерти") end
/run if UnitBuff("target", "Отражение заклинания") and UnitBuff("target", "Эффект тотема заземления") then RunMacroText("/cast Темная власть") end
Для Ледяных оков
/run if (not UnitBuff("target", "Эффект тотема заземления")) and (not UnitBuff("target", "Отражение заклинания")) then RunMacroText("/cast Ледяные оковы")end
/run if UnitBuff("target", "Эффект тотема заземления") and (UnitBuff("target", "Отражение заклинания")) then RunMacroText("/cast Темная власть")end
Для Лика смерти
/run if (not UnitBuff("target", "Эффект тотема заземления")) and (not UnitBuff("target", "Отражение заклинания")) then RunMacroText("/cast Лик смерти") end
/run if UnitBuff("target","Отражение заклинания") or UnitBuff("target","Эффект тотема заземления") then RunMacroText("/cast Темная власть") end
Удушения - не дает использовать удушение ,если на цель бабл мастер аур , в случае если на цели тотем заземления или отражение заклинания использует таунт , после чего дает сало.
/run if (not UnitBuff("target", "Эффект тотема заземления")) and (not UnitBuff("target", "Отражение заклинания")) and (not UnitBuff("target", "Мастер аур")) and (not UnitBuff("target", "Божественный щит")) then RunMacroText("/cast Удушение")end
/run if UnitBuff("target", "Эффект тотема заземления") and (UnitBuff("target", "Отражение заклинания")) then RunMacroText("/cast Темная власть")end
Заморозки разума - не дает использовать заморозку разума , если цель не кастует или на цели мастер аур или бабл.
/run if GetSpellCooldown("Заморозка разума")==0 and IsSpellInRange("Заморозка разума","target") and (UnitCastingInfo("target") or UnitChannelInfo("target")) and (not UnitBuff("target", "Мастер аур")) and (not UnitBuff("target", "Божественный щит")) then RunMacroTex("/cast Заморозка разума") end
НУ могу еще дописать множество скриптов и прог которые сам лично написал