Lua unlocker - снимает блокировку с функций, которые Метелица посчитала слишком жирными и приносящими очень много пользы игрокам. Расширяет возможности макросов и аддонов.
1. Gagarin v1.7 - на данный момент универсальный чит. Риск быть забаненым минимален. 2. SuperBind - для клиента 3.3.5. Модернизированная версия BindPad для скриптов, но и основной функционал не порезан. Описание ниже(ctrl+g - SuperBind)
3. Скрипты - основное и самое вкусное. (Все примеры будут для класса ДК ибо им я когда-то играл и уже в последующем из интереса занялся скриптами)
Код помещаем в аддон SuperBind. Открывается он по слеш команде /bp, далее кликаем по крестику, задаём имя и иконку, нажимаем "ок" и у нас появится основное окно в которое нужно вписывать скрипт. Для последующего редактирования нужно будет кликать левой клавишей мышки по иконке "макроса" т.к. правая задаёт бинд. Бинд на скрипт во избежание "палева" лучше не ставить т.к. всё содержимое улетит в чат.
Запускать нужно 1 раз, вошли в игру запустили и забыли до тех пор, пока не перезагрузите интерфейс /reload или релогнитесь.
Автосбивание каста с проверками на расстояние, КД и защиту
Код
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)
Для пета ДК. Дабы не терять дамаг пета и сохранить его рагу на уровне достаточном для применения стана. Пет будет применять спел Цапнуть не опуская рагу ниже 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)
По макросам:
(позаимствовал у товарища DreamlØlz, но переписал под себя)
Не даёт использовать Хватку Смерти в Тотем Заземления и Отражение заклинания. Если на цели есть данные бафы то используется спел Темная власть, который сбивает данные бафы. /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 PS: Я никому не навязываю использование запрещенный скриптов и макросов. Я понимаю что в некоторых ситуациях они только усугубят положение. Я понимаю что руки главное и ничто их не заменит. Играл на пиратке, был интерес. Результат тут. Надеюсь это кого-то заинтересует и он сделает большее хотя бы для себя.
PPS: Данная информация составлена мной(DiSq) и использовалась на клиенте 3.3.5 Более того, написать скрипт Вы можете уже сами по примеру скриптов в данной теме. Вам лишь потребуется знать API часть игры и список эвентов
1. API Что-то не работает? - Гуллим и смотрим список измененных функций, они все опубликованы.
Подробнее о SuperBind - Это модернизированная версия BindPad в которой исчезла кнопка "test" и появилась кнопка "запуск" по которой запускается скрипт, бережно хранимый в базе аддона. Переименован он для работы на серверах где его заблокировали по названию. Количество символов не ограничено. Макросы с запуском через /run используем только по биндам, увы - "непокликать"