Модератор форума: staford11  
Использование Lua скриптов.
chaosway
Рыцарь
extrimlol
Цитата extrimlol ()
Дело в том, что в pqr на каждый спел свой скрипт, там нету для 1го скрипты много спелов, ну или я не умею это реализовать.

Пишешь после каждого условия CastSpellByName либо RunMacro, в строке для спела в pqr ставишь 0.
Цитата extrimlol ()
Т.е. если даже записать условие в 1 спел и во второй, оно просто не успеет отработать, т.к. pqr будет юзать сразу 2 спела из-за того, что 1 из спелов не умеет гкд.

Можно записать в условие на амс добавить условие что кик на кд либо вне радиуса
Сообщение # 1831 написано 09.07.2016 в 13:48
prn
Скаут
скину свою функцию на сбитие каста писалось давно только lua изучал:)
function Interrupt(t)
local s, _, _, _, sstart, tend = UnitCastingInfo(t);
local s_channel, _, _, _, sstart_channel, tend_channel = UnitChannelInfo(t);
local health = UnitHealth("player");
local max_health = UnitHealthMax("player");
local health_target = UnitHealth("target");
local max_health_target = UnitHealthMax("target");
local health_party1 = UnitHealth("party1");
local max_health_party1 = UnitHealthMax("party1");
local health_party2 = UnitHealth("party2");
local max_health_party2 = UnitHealthMax("party2");
local health_arena1 = UnitHealth("arena1");
local max_health_arena1 = UnitHealthMax("arena1");
local health_arena2 = UnitHealth("arena2");
local max_health_arena2 = UnitHealthMax("arena2");
local health_arena3 = UnitHealth("arena3");
local max_health_arena3 = UnitHealthMax("arena3");
local n=0;
if (s=='Ледяная хватка' or s=='Спячка' or s=='Смерч' or s=='Гнев деревьев' or s=='Отпугивание зверя' or s=='Изгнание зла' or s=='Божественный свет' or s=='Вспышка Света' or s=='Страх' or s=='Стрела Хаоса' or s=='Блуждающий дух' or s=='Вой ужаса' or s=='Ненасытная стужа' or s=='Сглаз' or s=='Волна исцеления' or s=='Восстановление' or s=='Великая волна исцеления' or s=='Исцеляющий всплеск' or s=='Массовое рассеивание' or s=='Сожжение маны' or s=='Сковывание нежити' or s=='Быстрое исцеление' or s=='Великое исцеление' or s=='Взрыв разума' or s=='Прикосновение вампира' or s=='Ледяная стрела' or s=='Превращение' or s=='Окутывающий туман' or s=='Благотворный туман') and (UnitBuff(t,'Сила духа')==nil and UnitBuff(t,'Мастер аур')==nil and UnitBuff(t,'Длань защиты')==nil and UnitBuff(t,'Божественный щит')==nil and UnitBuff(t,'Внутреннее сосредоточение')==nil) then
if (tend/1000 - GetTime())<0.8 and (GetTime() - sstart/1000)>0.7 then
n=1;
end
end
if s_channel and s_channel~='Шквал' and (UnitBuff(t,'Сила духа')==nil and UnitBuff(t,'Мастер аур')==nil and UnitBuff(t,'Длань защиты')==nil and UnitBuff(t,'Божественный щит')==nil and UnitBuff(t,'Внутреннее сосредоточение')==nil) then
if (GetTime() - sstart_channel/1000)>0.6 then
n=1;
end
end
if health<max_health/1.2 or health_target<max_health_target/1.2 or health_party1<max_health_party1/1.2 or health_party2<max_health_party2/1.2 or health_arena1<max_health_arena1/1.2 or health_arena2<max_health_arena2/1.2 or health_arena3<max_health_arena3/1.2 then
n=n;
else
n=0;
end
return n
end

Добавлено (10.07.2016, 01:52)
---------------------------------------------
и еще парочку полезных если делать фул скрипт чтобы нажимать только самому тринку все функции под дренор но впринципе и под другие будут работать
function SlowTarget(t)
if UnitDebuff(t,'Вечная мерзлота') or UnitDebuff(t,'Ледяные оковы') or UnitDebuff(t,'Удар грома') or UnitDebuff(t,'Подрезать сухожилия') or UnitDebuff(t,'Кровавая баня') or UnitDebuff(t,'Тайфун') or UnitDebuff(t,'Зараженные раны') or UnitDebuff(t,'Пытка разума') or UnitDebuff(t,'Замедление') or UnitDebuff(t,'Взрывная волна') or UnitDebuff(t,'Воспламенение') or UnitDebuff(t,'Ледяная стрела') or UnitDebuff(t,'Стрела ледяного огня') or UnitDebuff(t,'Конус холода') or UnitDebuff(t,'Снежная буря') or UnitDebuff(t,'Ледяной шар') or UnitDebuff(t,'Вывести из строя') or UnitDebuff(t,'Удар бочонком') or UnitDebuff(t,'Ледяные боеприпасы') or UnitDebuff(t,'Контузящий выстрел') or UnitDebuff(t,'Ледяная ловушка') or UnitDebuff(t,'Тяжесть вины') or UnitDebuff(t,'Калечащий яд') or UnitDebuff(t,'Поджигание') or UnitDebuff(t,'Калечащий яд') or UnitDebuff(t,'Поджигание') or UnitDebuff(t,'Ледяной шок') or UnitDebuff(t,'Тотем оков земли') or UnitDebuff(t,'Эффект тотема оков земли') then
return 1
else
return 0
end
end

function ImmuneToSlow(t)
if UnitBuff(t,'Стремительный бег') or UnitBuff(t,'Поступь смерти') or UnitBuff(t,'Длань свободы') or UnitBuff(t,'Приказ хозяина') or UnitBuff(t,'Слияние с Тьмой') or UnitBuff(t,'Оскверненная земля') or UnitBuff(t,'Вихрь клинков') or UnitBuff(t,'Тотем ветроступа') then
return 1
else
return 0
end
end

function GCDDone(spellName)
local spellID = nil;
if spellName == nil then spellID = 61304; end
if spellID == nil then
local spellID = GetSpellID(spellName);
end

local minValue = 0.05;
local maxValue = 0.3;
local curPing = tonumber((select(3, GetNetStats()) + select(4, GetNetStats())) / 1000) + .025;

if curPing < minValue then
curPing = minValue;
elseif curPing > maxValue then
curPing = maxValue;
end

if GetSpellCooldown(spellID) - curPing <= 0 then
return 1;
end
return 0;
end

function NeedReshift(t)
local currentSpeed, runSpeed, flightSpeed, swimSpeed = GetUnitSpeed("player");
if GetUnitName(t..'target')==GetUnitName('player') and (RootTarget("player")==1 or (runSpeed<9  and currentSpeed~=0)) and CheckMdd(t)=='mdd' and GetRange(t)<=5 then
return true
end
return false
end

function NeedReshiftFeral(t)
local currentSpeed, runSpeed, flightSpeed, swimSpeed = GetUnitSpeed("player");
local start_sr, cooldown_sr, n_sr = GetSpellCooldown('Стремительный рывок');
local s_cast = UnitCastingInfo("player");
if UnitPower("player",0)>=UnitPowerMax("player",0)/5 and UnitBuff("player",'Когти Ширваллы')=='Когти Ширваллы' and UnitDebuff("player",'Связующий выстрел')==nil and (start_sr+cooldown_sr-GetTime())<14 and (start_sr+cooldown_sr-GetTime())>1.5 and cooldown_sr~=0 and GetRange(t)>=8 and GetRange(t)<=80 and (runSpeed<=10 or RootTarget("player")==1) and (s("Мощное оглушение","arena3",5)==false and s("Мощное оглушение","arena2",5)==false and s("Мощное оглушение","arena1",5)==false) and s_cast==nil and ControlTime("player",0)==0 and GCDDone()==1 and (keyblock1-GetTime())<0  then
return true
end
return false
end

function NeedSave(t)
local hpmax=UnitHealthMax("player");
local hp = UnitHealth("player");
tdebuffsave_={'Вендетта','Удар колосса','Возгорание','Черная стрела'}
tbuffsave_={'Безрассудство','Аватара','Парад планет','Перевоплощение: Король джунглей','Перевоплощение: Избранный Элуны','Берсерк','Мощь тайной магии','Стылая кровь','Звериный гнев','Быстрая стрельба','Череда убийств','Ледяной столп','Черная душа: Страдание','Черная душа: Знание','Черная душа: Изменчивость'}

if hp<hpmax/3 and GetUnitName(t..'target')==GetUnitName('player') and ControlTime(t,1)==0 then
return true
end

for i=1,#tdebuffsave_ do
if UnitDebuff("player",tdebuffsave_) then
return true
end
end

if not UnitIsDeadOrGhost(t) and GetUnitName(t..'target')==GetUnitName('player') and ControlTime(t,1)==0 then
for i=1,#tbuffsave_ do
if UnitBuff(t,tbuffsave_
) then
return true
end
end
end

return false
end

Добавлено (10.07.2016, 01:53)
---------------------------------------------
function DispelBuff(t)
local rez_=0;
for i=1,8 do
local b,b1,b2,b3,b4=UnitBuff(t,i);
if b and b4=='Magic' then
rez_=1;
break;
end
end
return rez_
end

function ImmuneDD(t)
if UnitBuff(t,'Божественный щит') or UnitBuff(t,'Ледяная глыба') or UnitDebuff(t,'Смерч') or UnitBuff(t,'Сдерживание') or UnitIsDeadOrGhost(t) then
return 1
else
return 0
end
end
function ImmuneFiz(t)
if UnitBuff(t,'Божественный щит') or UnitBuff(t,'Ледяная глыба') or UnitDebuff(t,'Смерч') or UnitBuff(t,'Сдерживание') or UnitBuff(t,'Длань защиты') or UnitBuff(t,'Развоплощение') or UnitIsDeadOrGhost(t) then
return 1
else
return 0
end
end
function TargetBurst(t)
if UnitBuff(t,'Берсерк') or UnitBuff(t,'Древо Жизни') or UnitBuff(t,'Звездопад') or UnitBuff(t,'Стылая кровь') or UnitBuff(t,'Берсерк') or UnitBuff(t,'Путь огня') or UnitBuff(t,'Яркий путь огня') or UnitBuff(t,'Покорение стихий') or UnitBuff(t,'Смертельное спокойствие') or UnitBuff(t,'Внутренняя ярость') or UnitBuff(t,'Безрассудство') or  UnitBuff(t,'Быстрая стрельба') or UnitBuff(t,'Зверь внутри') or UnitBuff(t,'Мастер скрытности') or UnitBuff(t,'Ледяной столп') or UnitBuff(t,'Защитник древних королей') or UnitBuff(t,'Гнев карателя') or UnitBuff(t,'Фанатизм') or UnitBuff(t,'Мастер аур') or UnitBuff(t,'Божественное одобрение') or UnitBuff(t,'Метаморфоза') or UnitBuff(t,'Душа демона') or UnitBuff(t,'Придание сил') or UnitBuff(t,'Темный архангел') then
return 1
else
return 0
end
end
function LowPrioritetDispel(t)
if UnitBuff(t,'Длань свободы') then
return 1
else
return 0
end
end
function MustDispel(t)
if UnitBuff(t,'Быстрота хищника') or UnitBuff(t,'Гнев карателя') or UnitBuff(t,'Длань жертвенности') or UnitBuff(t,'Душа демона:охотник Скверны') or UnitBuff(t,'Душа демона: охотник Скверны') then
return 1
else
return 0
end
end

function CheckMdd(t)
local localizedClass_, englishClass_ = UnitClass(t);
if localizedClass_~='Охотник' and localizedClass_~='Охотница' and UnitPowerMax(t,0)==0 then
return 'mdd';
end
if UnitHealthMax(t)/UnitPowerMax(t,0)>4 and localizedClass_~='Охотник' and localizedClass_~='Охотница' then
return 'mdd';
end

return 'rdd'
end

Добавлено (10.07.2016, 01:54)
---------------------------------------------
function ImmuneToMagicDamage(t)
if UnitBuff(t,'Божественный щит') or UnitBuff(t,'Ледяная глыба') or UnitBuff(t,'Сдерживание') or UnitDebuff(t,'Смерч') or UnitBuff(t,'Плащ Теней') or UnitBuff(t,'Антимагический панцирь') or UnitIsDeadOrGhost(t) then
return 1
else
return 0
end
end

function ImmuneToStun(t)
if UnitBuff(t,'Божественный щит') or UnitBuff(t,'Ледяная глыба') or UnitDebuff(t,'Смерч') or UnitBuff(t,'Сдерживание') or UnitBuff(t,'Длань защиты') or UnitBuff(t,'Незыблемость льда') or UnitBuff(t,'Оскверненная земля') or UnitBuff(t,'Вихрь клинков') or UnitIsDeadOrGhost(t) then
return 1
else
return 0
end
end

function ImmuneToRoot(t)
if UnitBuff(t,'Длань свободы') or UnitBuff(t,'Приказ хозяина') or UnitBuff(t,'Слияние с Тьмой') or UnitBuff(t,'Оскверненная земля') or UnitBuff(t,'Вихрь клинков') or UnitBuff(t,'Тотем ветроступа') then
return 1
else
return 0
end
end

---------------------------------------------

Добавлено (10.07.2016, 01:55)
---------------------------------------------
function UnitControl(t)
if UnitDebuff(t,'Покаяние') or UnitDebuff(t,'Молот правосудия') or UnitDebuff(t,'Страх') or UnitDebuff(t,'Вой ужаса') or UnitDebuff(t,'Лик смерти') or UnitDebuff(t,'Соблазн') or UnitDebuff(t,'Метание топора') or UnitDebuff(t,'Запрет чар') or UnitDebuff(t,'Неистовство Тьмы') or UnitDebuff(t,'Смерч') or UnitDebuff(t,'Спячка') or UnitDebuff(t,'Столп солнечного света') or UnitDebuff(t,'Наскок') or UnitDebuff(t,'Калечение') or UnitDebuff(t,'Оглушить') or UnitDebuff(t,'Ненасытная стужа') or UnitDebuff(t,'Удушение') or UnitDebuff(t,'Отгрызть') or UnitDebuff(t,'Чудовищный удар') or UnitDebuff(t,'Ошеломление') or UnitDebuff(t,'Подлый трюк') or UnitDebuff(t,'Ослепление') or UnitDebuff(t,'Удар по почкам') or UnitDebuff(t,'Парализующий удар') or UnitDebuff(t,'Сглаз') or UnitDebuff(t,'Низвержение') or UnitDebuff(t,'Устрашающий крик') or UnitDebuff(t,'Рывок и оглушение') or UnitDebuff(t,'Перехват') or UnitDebuff(t,'Оглушающий удар') or UnitDebuff(t,'Ударная волна') or UnitDebuff(t,'Дыхание дракона') or UnitDebuff(t,'Превращение') or UnitDebuff(t,'Кольцо мороза') or UnitDebuff(t,'Глубокая заморозка') or UnitDebuff(t,'Сотрясение') or UnitDebuff(t,'Антимагия - немота') or UnitDebuff(t,'Улучшенное превращение') or UnitDebuff(t,'Ментальный крик') or UnitDebuff(t,'Безмолвие') or UnitDebuff(t,'Замораживающая ловушка') or UnitDebuff(t,'Глушащий выстрел') or UnitDebuff(t,'Дезориентирующий выстрел') or UnitDebuff(t,'Устрашение') or UnitDebuff(t,'Грубый прием') then
return 1
else
return 0
end
end

function ControlInterrupt(t)
if UnitDebuff(t,'Покаяние') or UnitDebuff(t,'Соблазн') or UnitDebuff(t,'Спячка') or UnitDebuff(t,'Ошеломление') or UnitDebuff(t,'Ослепление') or UnitDebuff(t,'Парализующий удар') or UnitDebuff(t,'Дыхание дракона') or UnitDebuff(t,'Превращение') or UnitDebuff(t,'Кольцо мороза') or UnitDebuff(t,'Улучшенное превращение') or UnitDebuff(t,'Замораживающая ловушка') or UnitDebuff(t,'Дезориентирующий выстрел') then
return 1
else
return 0
end
end

function UnitControlDispel(t)
if UnitDebuff(t,'Очарование') or UnitDebuff(t,'Очарование') or UnitDebuff(t,'Безмолвие') or UnitDebuff(t,'Ледяная хватка') or UnitDebuff(t,'Удушение') or UnitDebuff(t,'Изгнание зла') or UnitDebuff(t,'Укус виверны') or UnitDebuff(t,'Статический заряд') or UnitDebuff(t,'Связующий выстрел') or UnitDebuff(t,'Беспощадность зимы') or UnitDebuff(t,'Покаяние') or UnitDebuff(t,'Молот правосудия') or UnitDebuff(t,'Кулак правосудия') or UnitDebuff(t,'Слепящий свет') or UnitDebuff(t,'Страх') or UnitDebuff(t,'Вой ужаса') or UnitDebuff(t,'Лик смерти') or UnitDebuff(t,'Соблазн') or UnitDebuff(t,'Неистовство Тьмы') or UnitDebuff(t,'Спячка') or UnitDebuff(t,'Ненасытная стужа') or UnitDebuff(t,'Дыхание дракона') or UnitDebuff(t,'Превращение') or UnitDebuff(t,'Кольцо мороза') or UnitDebuff(t,'Глубокая заморозка') or UnitDebuff(t,'Сотрясение') or UnitDebuff(t,'Ментальный крик') or UnitDebuff(t,'Замораживающая ловушка') then
return 1
else
return 0
end
end

function UnitDispelStun(t)
if UnitDebuff(t,'Покаяние') or UnitDebuff(t,'Молот правосудия') or UnitDebuff(t,'Кулак правосудия') or UnitDebuff(t,'Слепящий свет') or UnitDebuff(t,'Страх') or UnitDebuff(t,'Вой ужаса') or UnitDebuff(t,'Лик смерти') or UnitDebuff(t,'Соблазн') or UnitDebuff(t,'Неистовство Тьмы') or UnitDebuff(t,'Спячка') or UnitDebuff(t,'Ненасытная стужа') or UnitDebuff(t,'Сглаз') or UnitDebuff(t,'Дыхание дракона') or UnitDebuff(t,'Превращение') or UnitDebuff(t,'Кольцо мороза') or UnitDebuff(t,'Глубокая заморозка') or UnitDebuff(t,'Сотрясение') or UnitDebuff(t,'Ментальный крик') or UnitDebuff(t,'Замораживающая ловушка') then
return 1
else
return 0
end
end

function RootTarget(t)
if UnitDebuff(t,'Массовое оплетение') or UnitDebuff(t,'Гнев деревьев') or UnitDebuff(t,'Ледяной заслон') or UnitDebuff(t,'Кольцо льда') or UnitDebuff(t,'Холод') or UnitDebuff(t,'Хватка земли') or UnitDebuff(t,'Чуть не попался!') or UnitDebuff(t,'Западня') or UnitDebuff(t,'Оковы земли') or UnitDebuff(t,'Мощь льдов') or UnitDebuff(t,'Вывести из строя') then
return 1
else
return 0
end
end

Добавлено (10.07.2016, 01:55)
---------------------------------------------
-----------с проверкой на оставшееся время--------
function ControlTime(t,time_) --определение находится ли цель в контроле(если до истечения контроля осталось меньше 1 сек то считает что контроля нет)
local controlled_=0;
local t_all={'Мощное оглушение','Слепящий свет','Громовая поступь','Очарование','Лик тлена','Лик тлена','Кровавый ужас','Изгнание','Господство над разумом','Слово Света: Воздаяние','Глубинный ужас','Сковывание нежити','Укус виверны','Парализующий рык','Пробуждение инфернала','Землетрясение','Раздавить','Статический заряд','Кулак правосудия','Гнев небес','Неистовые кулаки','Несущийся бык','Беспощадность зимы','Асфиксия','Ошеломление','Подлый трюк','Парализующий удар','Удар по почкам','Ослепление','Покаяние','Молот правосудия','Страх','Вой ужаса','Лик смерти','Соблазн','Метание топора','Неистовство Тьмы','Смерч','Спячка','Наскок','Калечение','Оглушить','Ненасытная стужа','Отгрызть','Чудовищный удар','Сглаз','Низвержение','Устрашающий крик','Рывок и оглушение','Перехват','Оглушающий удар','Ударная волна','Дыхание дракона','Превращение','Кольцо мороза','Глубокая заморозка','Сотрясение','Улучшенное превращение','Ментальный крик','Замораживающая ловушка','Дезориентирующий выстрел','Устрашение','Грубый прием','Удар громовержца','Паралич','Круговой удар ногой','Сотрясающая ладонь'};
local t_mage={'Мощное оглушение','Волшебный поток','Щит мстителя','Ледяная хватка','Волшебная тишина','Гаррота - немота','Запрет чар','Столп солнечного света','Удушение','Антимагия - немота','Безмолвие','Глушащий выстрел','Слепящий свет','Ошеломление','Подлый трюк','Парализующий удар','Удар по почкам','Ослепление','Покаяние','Молот правосудия','Страх','Вой ужаса','Лик смерти','Соблазн','Метание топора','Неистовство Тьмы','Смерч','Спячка','Наскок','Калечение','Оглушить','Ненасытная стужа','Отгрызть','Чудовищный удар','Сглаз','Низвержение','Устрашающий крик','Рывок и оглушение','Перехват','Оглушающий удар','Ударная волна','Дыхание дракона','Превращение','Кольцо мороза','Глубокая заморозка','Сотрясение','Улучшенное превращение','Ментальный крик','Замораживающая ловушка','Дезориентирующий выстрел','Устрашение','Грубый прием','Удар громовержца','Паралич','Круговой удар ногой','Сотрясающая ладонь'};
local t_melee={'Мощное оглушение','Слепящий свет','Громовая поступь','Очарование','Лик тлена','Лик тлена','Кровавый ужас','Изгнание','Господство над разумом','Слово Света: Воздаяние','Глубинный ужас','Сковывание нежити','Укус виверны','Парализующий рык','Пробуждение инфернала','Землетрясение','Раздавить','Статический заряд','Кулак правосудия','Гнев небес','Неистовые кулаки','Несущийся бык','Беспощадность зимы','Асфиксия','Ошеломление','Подлый трюк','Парализующий удар','Удар по почкам','Ослепление','Покаяние','Молот правосудия','Страх','Вой ужаса','Лик смерти','Соблазн','Метание топора','Неистовство Тьмы','Смерч','Спячка','Наскок','Калечение','Оглушить','Ненасытная стужа','Отгрызть','Чудовищный удар','Сглаз','Низвержение','Устрашающий крик','Рывок и оглушение','Перехват','Оглушающий удар','Ударная волна','Дыхание дракона','Превращение','Кольцо мороза','Глубокая заморозка','Сотрясение','Улучшенное превращение','Ментальный крик','Замораживающая ловушка','Дезориентирующий выстрел','Устрашение','Грубый прием','Удар громовержца','Паралич','Круговой удар ногой','Сотрясающая ладонь'};
local localizedClass_, englishClass_ = UnitClass(t);
if localizedClass_=='name1' then t_all=t_mage end;
if localizedClass_=='Разбойник' or localizedClass_=='Разбойница' or localizedClass_=='Охотник' or localizedClass_=='Охотница' or localizedClass_=='Воин' then t_all=t_melee end;
for i=1,#t_all do
local name_,_,_,_,_,duration_,expirationTime_=UnitDebuff(t, t_all);
if name_==t_all then
if expirationTime_-GetTime()>time_ then
controlled_=1
break
end
end
end

return controlled_
end
--------------------------------------------------------

-----------без проверки на оставшееся время--------
function ControlNoTime(t) --определение находится ли цель в контроле(если до истечения контроля осталось меньше 1 сек то считает что контроля нет)
local controlled_=0;
local t_all={'Мощное оглушение','Слепящий свет','Громовая поступь','Очарование','Лик тлена','Лик тлена','Кровавый ужас','Изгнание','Господство над разумом','Слово Света: Воздаяние','Глубинный ужас','Сковывание нежити','Укус виверны','Парализующий рык','Пробуждение инфернала','Землетрясение','Раздавить','Статический заряд','Кулак правосудия','Гнев небес','Неистовые кулаки','Несущийся бык','Беспощадность зимы','Асфиксия','Ошеломление','Подлый трюк','Парализующий удар','Удар по почкам','Ослепление','Покаяние','Молот правосудия','Страх','Вой ужаса','Лик смерти','Соблазн','Метание топора','Неистовство Тьмы','Смерч','Спячка','Наскок','Калечение','Оглушить','Ненасытная стужа','Отгрызть','Чудовищный удар','Сглаз','Низвержение','Устрашающий крик','Рывок и оглушение','Перехват','Оглушающий удар','Ударная волна','Дыхание дракона','Превращение','Кольцо мороза','Глубокая заморозка','Сотрясение','Улучшенное превращение','Ментальный крик','Замораживающая ловушка','Дезориентирующий выстрел','Устрашение','Грубый прием','Удар громовержца','Паралич','Круговой удар ногой','Сотрясающая ладонь'};
for i=1,#t_all do
local name_,_,_,_,_,duration_,expirationTime_=UnitDebuff(t, t_all);
if name_==t_all
then
controlled_=1
break
end
end
return controlled_
end
--------------------------------------------------------

Добавлено (10.07.2016, 01:57)
---------------------------------------------
также есть функции на учет диминишинга и наличия текстур по 3 таргетам на аренке 3с вот только как это рейлизовать вам в pqr хз,

Добавлено (10.07.2016, 02:08)
---------------------------------------------
из почти полностью готовых скриптов есть под дренор на сову ферала адк фдк
сова вообще жесть получилась на бг рбг мультидот на всем таргетам с учетом пандемии те обновление доток до их окончания чтобы дамаг не терялся и если все обдотаны или находимся не в той фазе затмения то переходить в ротацию на 1 цель получается ацкий дамаг,
ферал тоже норм
фдк слишком просто
адк на серве плохо рабочий но скрипт на ура сбитие каста от пета и самого адк по 3 таргетам в 3с
кому интересно могу скинуть,только самим придется расставить макросы как на скринеи забиндить клавиши

Сообщение # 1832 отредактировано prn - Воскресенье, 10.07.2016, 02:03
palka13
Скаут
Всем привет. Потратил некоторое время на изучение темки и нашел пару интересных макросов (3.3.5), юзабельных после анлока луа, а именно:
1. (для дк) атака петом с расчетом тонуса, чтобы всегда оставалась энергия на стан
2. (для дк) защита от фейка (макрос не дает юзнуть кс, если цель находится под действием бабла, мастера аур или не кастует)
3. (для дк) не дает использовать грип, если цель находится под действием эффекта тотема заземления (использует таунт, а после грипает)

Все эти макросы нашел в этой теме, но они не юзабельны. Может кто-нибудь помочь с этим делом?) С меня +
Сообщение # 1833 отредактировано palka13 - Среда, 13.07.2016, 17:30
chaosway
Рыцарь
palka13, очень даже юзабельны.. Скорее это вы неправильно их используете, перечитайте внимательно 1 пост
Сообщение # 1834 написано 13.07.2016 в 18:13
Sinerlol
Скаут
Цитата DiSq ()
АвтоТринькет гадостей. Вообще тут все просто, т.е. мы вызываем действие если на Вас есть указанный дэбаф.Код
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)
А вот можно сделать так что бы после тринкета, сразу юзался опеределенный спел там блайнд к примеру?
Сообщение # 1835 написано 14.07.2016 в 10:49
Prodamaki
Скаут
необходимо, чтобы когда у пета было меньше 70% хп прожималась способность "Попятиться".

Код
if UnitExists("pet") 
and not UnitIsDead("pet")
and LineOfSight("pet")
and ePet[1].PRange < 40
and PQR_SpellAvailable(1742)
and (100 * UnitHealth("pet") / UnitHealthMax("pet")) < 70
then 
CastSpellByName(GetSpellInfo(1742),nil
return true
end


Данный вариант не работает, видимо где то ошибка.
Сообщение # 1836 написано 17.07.2016 в 02:32
chaosway
Рыцарь
Prodamaki,  меньше 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)
Сообщение # 1837 отредактировано chaosway - Воскресенье, 17.07.2016, 10:09
Prodamaki
Скаут
Не работает и твой вариант


Код
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 <= 270000 
then
CastPetAction(4)
end
end
end
end
end)
Сообщение # 1838 написано 17.07.2016 в 21:04
chaosway
Рыцарь
Prodamaki, а что у тебя 270к хп?
Сообщение # 1839 написано 18.07.2016 в 10:13
PaulDousen
Рыцарь
Prodamaki, при условии что ты используешь через PQR

if UnitExists("pet")
and not UnitIsDead("pet")
and PQR_SpellAvailable(1742)
and (100 * UnitHealth("pet") / UnitHealthMax("pet")) < 70
then
CastSpellByID(1742)
end

Добавлено (18.07.2016, 20:21)
---------------------------------------------
chaosway, OnEvent не подойдет. Для этого подойдет OnUpdate.

Сообщение # 1840 отредактировано PaulDousen - Понедельник, 18.07.2016, 20:19
chaosway
Рыцарь
PaulDousen, Этот скрипт с первой страницы, когда тема только появилась я его вроде бы тестил и работало всё, поэтому просто его сразу кинул
Сообщение # 1841 написано 19.07.2016 в 07:11
neogor
Скаут
Как привязать проверку на использования спела2, если у спела1 времени на восстановления осталось меньше 2 сек. Желательно в одну строку
т.е кд спела1<2cек then спел2
Сообщение # 1842 написано 21.07.2016 в 18:51
DreamlØlz
Скаут
Цитата palka13 ()
Всем привет. Потратил некоторое время на изучение темки и нашел пару интересных макросов (3.3.5), юзабельных после анлока луа, а именно:
1. (для дк) атака петом с расчетом тонуса, чтобы всегда оставалась энергия на стан
2. (для дк) защита от фейка (макрос не дает юзнуть кс, если цель находится под действием бабла, мастера аур или не кастует)
3. (для дк) не дает использовать грип, если цель находится под действием эффекта тотема заземления (использует таунт, а после грипает)

Все эти макросы нашел в этой теме, но они не юзабельны. Может кто-нибудь помочь с этим делом?) С меня +


Ловлю на слове

Код
local Interruptible;
do
   local UnitBuff, UnitExists, select = UnitBuff, UnitExists, select;
   local _;
   local = {
      [31821] = tr
   };
   Interruptible = function(unit)
      while true do
         local s


балабол, скрипту потер

PS весь код что тут дают ... ребят ну такое убожество , прям плакать хочется.
Сообщение # 1843 отредактировано DreamlØlz - Воскресенье, 24.07.2016, 15:44
neogor
Скаут
DreamlØlz -Администрация серкла, добрый день. А вы умеете писать скрипты кроме любимого класса как Дк, которого на серкле перебагали в уши? Или только как обычно понты?
Сообщение # 1844 написано 22.07.2016 в 21:51
lawismoron
Скаут
Ребят, помогите добавить условие проверки времени каста, или отсчет времени после начала каста. 
Вот собственно сам скрипт:

Ground = CreateFrame("Frame", "Ground", UIParent);
Ground:RegisterEvent("UNIT_SPELLCAST_START")
Ground:SetScript("OnEvent", function(self, event, ...)
GroundSpells = {"Выброс лавы", "Прикосновение вампира", "Сглаз", "Стрела хаоса"}
for v=1,#GroundSpells do
local args={...}
if(arg1 == "focus" or arg1 == "target" and arg2 == GroundSpells[v]) then
CastSpellByName("Тотем заземления")
print("Ground standing")
end
end
end)

Мне нужно, чтобы граунд ставился не в момент начала каста, а допустим спустя секунду после его начала. Заранее спасибо большое.
Сообщение # 1845 написано 23.07.2016 в 11:09
DreamlØlz
Скаут
Цитата neogor ()
DreamlØlz -Администрация серкла, добрый день. А вы умеете писать скрипты кроме любимого класса как Дк, которого на серкле перебагали в уши? Или только как обычно понты?


А люди его знают кек. И вообще люблю понты, при этом не разу не видел что бы кто то юзал через слэш обработчики. На счет скриптов - довольно стремный вопрос, но луа знаю.

Добавлено (23.07.2016, 14:50)
---------------------------------------------
Цитата lawismoron ()
Ребят, помогите добавить условие проверки времени каста, или отсчет времени после начала каста. Вот собственно сам скрипт:

Ground = CreateFrame("Frame", "Ground", UIParent);
Ground:RegisterEvent("UNIT_SPELLCAST_START")
Ground:SetScript("OnEvent", function(self, event, ...)
GroundSpells = {"Выброс лавы", "Прикосновение вампира", "Сглаз", "Стрела хаоса"}
for v=1,#GroundSpells do
local args={...}
if(arg1 == "focus" or arg1 == "target" and arg2 == GroundSpells[v]) then
CastSpellByName("Тотем заземления")
print("Ground standing")
end
end
end)

Мне нужно, чтобы граунд ставился не в момент начала каста, а допустим спустя секунду после его начала. Заранее спасибо большое.
А есть в игре какой то аналог os.time , что бы сопоставить его с тайм штампом ивента?
PS тут нужен таймерок , юзать циклы бесполезно , кроме того зачем цикл , когда рекурсивный перебор быстрее работает (имею в виду доступ к элементу массива), кроме того зачем нужна таблица args , в которую пишешь аргументы , а потом их негде не используешь? И на конец зачем засирать глобальный неймспейс всяким мусором типа ивент обработчика, который больше негде не используется?
Сообщение # 1846 отредактировано DreamlØlz - Суббота, 23.07.2016, 15:00
chaosway
Рыцарь
lawismoron, зачем ты взял за основу скрипт для инстант спеллов? Возьми за основу скрипт швд шипа, или обычный автокик с таймером
Сообщение # 1847 написано 23.07.2016 в 14:52
kirillaj
Скаут
помогите! надо скрипты на шамана 3.35(желательноЭНХ) искал на форуме не нашёл :(сделал только на сбивание каста(как у дка только свои подставил ) , есть у кого-нибудь ещё какой нибудь, на тремор, итд и можно ли сделать если при 4х стках водоворота волна исцеления , и 5ти , а при 3х и менее малая волна исцеления ! зарание  спасибо ! очень надо:) можно и в пм в вк:) ТЫК (вк) ( С Меня +)
Сообщение # 1848 отредактировано kirillaj - Воскресенье, 24.07.2016, 08:17
gas_
Скаут
Привет, помогите со скриптом. Нужен скрипт на проверку стаков баффа на себе. То есть, 1 абилкой стакаем бафф, когда баф настакался, например до трех, используем другую способность. Мои наработки почему то не реализуются на ппрактике. спасибо
Сообщение # 1849 написано 29.07.2016 в 12:50
Prodamaki
Скаут
Цитата PaulDousen ()
при условии что ты используешь через PQR

if UnitExists("pet")
and not UnitIsDead("pet")
and PQR_SpellAvailable(1742)
and (100 * UnitHealth("pet") / UnitHealthMax("pet")) < 70
then
CastSpellByID(1742)
end

не работает.
Сообщение # 1850 написано 29.07.2016 в 14:00
neogor
Скаут
кто может скинуть рабочий и переделанный SDM для 3.3.5 ?
Сообщение # 1851 написано 29.07.2016 в 21:28
Babladin007
Скаут
Всем привет.
Ребят, собрал из всего что есть кик hp< 10000, не подскажите как переделать на отслеживание процентов? и есть ли возможность убрать как то спам нонстопом даже если я к таргету спиной(при спаме спиной вылетаю из игры)
Код
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 health = UnitHealth("target")
                       if health <= 10000 then
                        RunMacroText("/cast Заморозка разума")                      
                       end
end                          
end
end                      
CreateFrame("Frame", "KickFrame")
KickFrame:SetScript("OnUpdate", Kick)
Сообщение # 1852 отредактировано Babladin007 - Пятница, 29.07.2016, 23:03
Kieg
Сержант
Цитата kirillaj ()
помогите! надо скрипты на шамана 3.35(желательноЭНХ) искал на форуме не нашёл :(сделал только на сбивание каста(как у дка только свои подставил ) , есть у кого-нибудь ещё какой нибудь, на тремор, итд и можно ли сделать если при 4х стках водоворота волна исцеления , и 5ти , а при 3х и менее малая волна исцеления ! зарание  спасибо ! очень надо:) можно и в пм в вк:) ТЫК (вк) ( С Меня +)
if select(4,UnitBuff("player","Оружие Водоворота"))==4 then CastSpellByName("Волна исцеления","player") аналогично будет для любого количества.

Цитата gas_ ()
Привет, помогите со скриптом. Нужен скрипт на проверку стаков баффа на себе. То есть, 1 абилкой стакаем бафф, когда баф настакался, например до трех, используем другую способность. Мои наработки почему то не реализуются на ппрактике. спасибо
Пример select(4,UnitBuff("player","Оружие Водоворота"))==4 вместо Оружие Водоворота - свой баф, если дебаф нужен тогда select(4,UnitDebuff("player","название гадости"))==3 then CastSpellByName("абилку","player")

==3 или ==4 ето сравнение количетсва стаков бафа/дебафа которое вам нужно. Если нужно 4 бафа пишем ==3, если 4 то ==4 как укзано на примере.

Добавлено (30.07.2016, 01:29)
---------------------------------------------

Цитата Babladin007 ()
local health = UnitHealth("target")
                       if health <= 10000 then

Ето количество здоровье в цели... подобное указано на 1 странице.
Сообщение # 1853 отредактировано Kieg - Суббота, 30.07.2016, 01:27
extrimlol
Капрал
Можно сделать функцию, чтобы кикал рендомно, от 0.3 до 0,6 сек до конца каста?
Сообщение # 1854 написано 30.07.2016 в 11:44
Kieg
Сержант
Цитата extrimlol ()
Можно сделать функцию, чтобы кикал рендомно, от 0.3 до 0,6 сек до конца каста?


r=math.random(3,6) x=r*0.1

if (endTime/1000 - GetTime())<x then RunMacroText("/cast Заморозка разума") как вариант
Сообщение # 1855 отредактировано Kieg - Суббота, 30.07.2016, 15:31
extrimlol
Капрал
спасиб, помог.
Сообщение # 1856 написано 31.07.2016 в 12:16
gas_
Скаут
Можно как нибудь запилить перебор таргетов с проверкой на расстояние от меня? что то вроде targetnearestenemy() только не только лишь всех, а тех, кто допустим в 5 ярдах от меня
Сообщение # 1857 написано 31.07.2016 в 14:06
Kieg
Сержант
Цитата gas_ ()
Можно как нибудь запилить перебор таргетов с проверкой на расстояние от меня? что то вроде targetnearestenemy() только не только лишь всех, а тех, кто допустим в 5 ярдах от меня


Если не ошибаюсь то подобное есть в DBMе. Только там есть радар, возможно из радара взять.
Сообщение # 1858 написано 01.08.2016 в 02:22
erevan1
Скаут
Здарова всем,! кто хочет рабочий СДМ, а ? так вот! тут такое дело, если кому интереснно рабочий сдм, которий работает на данный момент uwow,circle, обменаю на скипти всех классов! пишем в пм или скайп styop-194
Сообщение # 1859 написано 01.08.2016 в 09:24
tobmaps
Капрал
Цитата gas_ ()
targetnearestenemy() только не только лишь всех, а тех, кто допустим в 5 ярдах от меня

Код
/console targetNearestDistance 5.000000
А что плохого в переборе всех целей? Всё равно можно проверить дистанцию до каждой в цикле и вернуть исходный таргет в конце. Это происходит настолько быстро что даже не заметите вообще переключение таргетов.
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 1860 отредактировано tobmaps - Понедельник, 01.08.2016, 10:57
Поиск: