Страница 1 из 1
Можно ли посчитать?
Добавлено: 28 июн 2019, 12:38
uaz266
Можно ли посчитать сколько штук на цели висит "Нестабильное колдовство"?
https://ru.wowhead.com/spell=30108/%D0% ... 0%B2%D0%BE
Проблема в том ,что оно не стакается,а суммируется.
Re: Можно ли посчитать?
Добавлено: 11 авг 2019, 07:11
keklol
кстати тоже интересно, есть ли возможность это как-то отследить, может есть у кого идеи?
там суть в том что нужно дать не больше 5 анстейблов, а под бурст, особенно если мультитаргет у тебя прокает норм шардов и давать их в оверкап это не ок
http://prntscr.com/or5k1i
у афенара в вашке можно отследить, поэтому думаю и тут это можно реализовать, но у меня знаний недостаточно
вот такой там тригер
Код: Выделить всё
function()
aura_env.stacks = 0
aura_env.duration = 0
aura_env.expTime =0
for i = 1, 40 do
local dur, expTime, _, _, _, spellID = select(5, UnitDebuff("target", i, "PLAYER"))
if aura_env.UnstableArray[spellID] then
aura_env.stacks = aura_env.stacks + 1
if expTime > aura_env.expTime then
aura_env.duration = dur
aura_env.expTime = expTime
end
end
end
if aura_env.stacks == 0 then
aura_env.duration = 0
aura_env.expTime =0
end
return true
end
сижу в коде и на
https://wowwiki.fandom.com/wiki/API_UnitDebuff но не могу понять как реализовать
Re: Можно ли посчитать?
Добавлено: 11 авг 2019, 07:53
EnterBrain
keklol писал(а): ↑11 авг 2019, 07:11
кстати тоже интересно, есть ли возможность это как-то отследить, может есть у кого идеи?
там суть в том что нужно дать не больше 5 анстейблов, а под бурст, особенно если мультитаргет у тебя прокает норм шардов и давать их в оверкап это не ок
http://prntscr.com/or5k1i
у афенара в вашке можно отследить, поэтому думаю и тут это можно реализовать, но у меня знаний недостаточно
вот такой там тригер
Код: Выделить всё
function()
aura_env.stacks = 0
aura_env.duration = 0
aura_env.expTime =0
for i = 1, 40 do
local dur, expTime, _, _, _, spellID = select(5, UnitDebuff("target", i, "PLAYER"))
if aura_env.UnstableArray[spellID] then
aura_env.stacks = aura_env.stacks + 1
if expTime > aura_env.expTime then
aura_env.duration = dur
aura_env.expTime = expTime
end
end
end
if aura_env.stacks == 0 then
aura_env.duration = 0
aura_env.expTime =0
end
return true
end
Ну тут судя по всему идёт перебор висящих дебафов. Если правильно понимаю, их несколько вешается, а интерфейс их складывает в один. Т.е. тут тупо надо перебрать все дебаффы с нужным айди и посчитать их. Проверить сам не могу, варлока нету) А с какого лвл эта механика появляется?
UPD. Сделал варлока ночнорождённого и этого хватило. Да там просто надо перебрать дебафы и посчитать их.
Re: Можно ли посчитать?
Добавлено: 11 авг 2019, 08:02
keklol
EnterBrain писал(а): ↑11 авг 2019, 07:53
Ну тут судя по всему идёт перебор висящих дебафов. Если правильно понимаю, их несколько вешается, а интерфейс их складывает в один. Т.е. тут тупо надо перебрать все дебаффы с нужным айди и посчитать их. Проверить сам не могу, варлока нету) А с какого лвл эта механика появляется?
Да, их вешается от 1 до 5. Не знаю, гдет с 50, на офе можно триал 110 лвл создать и сидеть на нем на манекене.
Суть в том что есть возможность это отследить, значит и возможность в боте тоже будет, но я не понимаю как кодом реализовать это,а стандартными инструментами не выходит.
Re: Можно ли посчитать?
Добавлено: 11 авг 2019, 08:26
EnterBrain
keklol писал(а): ↑11 авг 2019, 08:02
Да, их вешается от 1 до 5. Не знаю, гдет с 50, на офе можно триал 110 лвл создать и сидеть на нем на манекене.
Суть в том что есть возможность это отследить, значит и возможность в боте тоже будет, но я не понимаю как кодом реализовать это,а стандартными инструментами не выходит.
Код: Выделить всё
function CalculateUnstable(unit, SpellName)
local stacks = 0;
for i=1,40 do
local name, _ = UnitDebuff(unit, i, "PLAYER");
if not name then
break
end
if string.upper(name) == string.upper(SpellName) then
stacks = stacks + 1;
end
end
return stacks;
end
Через пользовательский код юзай CalculateUnstable("target","Нестабильное колдовство"), возвращает кол-во нестабильного колдовства в штуках)
Re: Можно ли посчитать?
Добавлено: 11 авг 2019, 09:21
keklol
EnterBrain писал(а): ↑11 авг 2019, 08:26
keklol писал(а): ↑11 авг 2019, 08:02
Да, их вешается от 1 до 5. Не знаю, гдет с 50, на офе можно триал 110 лвл создать и сидеть на нем на манекене.
Суть в том что есть возможность это отследить, значит и возможность в боте тоже будет, но я не понимаю как кодом реализовать это,а стандартными инструментами не выходит.
Код: Выделить всё
function CalculateUnstable(unit, SpellName)
local stacks = 0;
for i=1,40 do
local name, _ = UnitDebuff(unit, i, "PLAYER");
if not name then
break
end
if string.upper(name) == string.upper(SpellName) then
stacks = stacks + 1;
end
end
return stacks;
end
Через пользовательский код юзай CalculateUnstable("target","Нестабильное колдовство"), возвращает кол-во нестабильного колдовства в штуках)
Cпасибо больше! Всё работает.
Re: Можно ли посчитать?
Добавлено: 11 авг 2019, 18:26
EnterBrain
С обновлением можно теперь так считать кол-во одноимённых дебафов на цели от игрока.