Страница 1 из 2

Автокик - прерывание заклинаний

Добавлено: 03 янв 2019, 13:26
BlackDPS
1. Прерывание обычных заклинаний
Обязательно указываем что каст является прерываемым
Диапазон должен быть указан без включения нуля - использовать круглую скобку (
interupt1.png
interupt1.png (9.46 КБ) 21196 просмотров
2. Прерывание канальных заклинаний
Так же указываем что каст прерываемый
Касты что почти кончились прерывать не нужно, потому ставим что осталось > 1 секунды
interupt2.png
interupt2.png (8.75 КБ) 21196 просмотров
В условии "произношение" можно указывать список заклинаний для автокика

Re: Автокик - прерывание заклинаний

Добавлено: 04 янв 2019, 20:15
SantaChe
кик на канальные не работает :(

через эту систему кика нагрузка больше почему то, раньше при старом способе так не просаживало фпс (хотя мне может казаться :? )

Re: Автокик - прерывание заклинаний

Добавлено: 01 ноя 2020, 20:18
SantaChe
Как не работал кик канальных заклинаний так и не работает :)

Re: Автокик - прерывание заклинаний

Добавлено: 02 ноя 2020, 04:18
eminsk
SantaChe писал(а):
01 ноя 2020, 20:18
Как не работал кик канальных заклинаний так и не работает :)
На канальных нужно не ставить галочку и прописать название заклинания и собьет тогда

Re: Автокик - прерывание заклинаний

Добавлено: 02 ноя 2020, 09:18
SantaChe
eminsk писал(а):
02 ноя 2020, 04:18
SantaChe писал(а):
01 ноя 2020, 20:18
Как не работал кик канальных заклинаний так и не работает :)
На канальных нужно не ставить галочку и прописать название заклинания и собьет тогда
ну в гайде по другому написано :)
Получается проверки на защищённый каст нет.... это плохо

Re: Автокик - прерывание заклинаний

Добавлено: 02 ноя 2020, 22:04
Strudel
Попробуй так, только на свой кик замени
Безымянный.png
Безымянный.png (98.48 КБ) 20027 просмотров

Код: Выделить всё

function CheckTypeCast(Unit)
local spell, _, _, _, _, _, _, _, interrupt = UnitCastingInfo(Unit)
if spell then
   if interrupt == false then
      return 1
   end
   if interrupt == true then
      return 2
   end
end
local spell, _, _, _, _, _, _, interrupt = UnitChannelInfo(Unit)
if spell then
   if interrupt == false then
      return 1
   end
   if interrupt == true then
      return 2
   end
end
return 0
end


local function CalcChannelingStart(startTime)
    return GetTime()-startTime/1000;
end

function MyCastRemain(unit, CastType, checkspell, Interruptible)
    local spell1, endTime1, notInterruptible1, spell2, startTime2, endTime2, notInterruptible2;

    if version9 then
        spell1, _, _, _, endTime1, _, _, notInterruptible1, _ = UnitCastingInfo(unit)
        spell2, _, _, startTime2, endTime2, _, notInterruptible2, _ = UnitChannelInfo(unit)
    else
        spell1, _, _, _, _, endTime1, _, _, notInterruptible1, _ = UnitCastingInfo(unit)
        spell2, _, _, _, startTime2, endTime2, _, notInterruptible2, _ = UnitChannelInfo(unit)
    end;
    
    if (notInterruptible1 and Interruptible) then return 0; end
    if (notInterruptible2 and Interruptible) then return 0; end

    if spell1 and (CastType == 0 or CastType == 2) and (checkspell == nil or string.upper(checkspell) == string.upper(spell1)) then return CalcCastingFinish(endTime1); end
    if spell2 and (CastType == 1 or CastType == 2) and (checkspell == nil or string.upper(checkspell) == string.upper(spell2)) then return CalcChannelingStart(startTime2); end

    return 0;
end

Re: Автокик - прерывание заклинаний

Добавлено: 08 ноя 2020, 11:03
SantaChe
Спасибо, работает

Re: Автокик - прерывание заклинаний

Добавлено: 09 ноя 2020, 02:09
uaz266
Strudel писал(а):
02 ноя 2020, 22:04
Попробуй так, только на свой кик замени Безымянный.png

Код: Выделить всё

function CheckTypeCast(Unit)
local spell, _, _, _, _, _, _, _, interrupt = UnitCastingInfo(Unit)
if spell then
   if interrupt == false then
      return 1
   end
   if interrupt == true then
      return 2
   end
end
local spell, _, _, _, _, _, _, interrupt = UnitChannelInfo(Unit)
if spell then
   if interrupt == false then
      return 1
   end
   if interrupt == true then
      return 2
   end
end
return 0
end


local function CalcChannelingStart(startTime)
    return GetTime()-startTime/1000;
end

function MyCastRemain(unit, CastType, checkspell, Interruptible)
    local spell1, endTime1, notInterruptible1, spell2, startTime2, endTime2, notInterruptible2;

    if version9 then
        spell1, _, _, _, endTime1, _, _, notInterruptible1, _ = UnitCastingInfo(unit)
        spell2, _, _, startTime2, endTime2, _, notInterruptible2, _ = UnitChannelInfo(unit)
    else
        spell1, _, _, _, _, endTime1, _, _, notInterruptible1, _ = UnitCastingInfo(unit)
        spell2, _, _, _, startTime2, endTime2, _, notInterruptible2, _ = UnitChannelInfo(unit)
    end;
    
    if (notInterruptible1 and Interruptible) then return 0; end
    if (notInterruptible2 and Interruptible) then return 0; end

    if spell1 and (CastType == 0 or CastType == 2) and (checkspell == nil or string.upper(checkspell) == string.upper(spell1)) then return CalcCastingFinish(endTime1); end
    if spell2 and (CastType == 1 or CastType == 2) and (checkspell == nil or string.upper(checkspell) == string.upper(spell2)) then return CalcChannelingStart(startTime2); end

    return 0;
end
Кикакет рандомно в разное время?

Re: Автокик - прерывание заклинаний

Добавлено: 09 ноя 2020, 10:30
SantaChe
В заданном промежутке времени :) как твоя ротация позволит получается, каст ведь не прерывает

Re: Автокик - прерывание заклинаний

Добавлено: 09 ноя 2020, 12:51
uaz266
SantaChe писал(а):
09 ноя 2020, 10:30
В заданном промежутке времени :) как твоя ротация позволит получается, каст ведь не прерывает
Сделал, попробовал по ощущениям в одно и то же время кик делает, палево.