Page 4 of 9
Posted: Mon Sep 27, 2021 6:00 pm
by Dimonoff
Сергей а возможно привести ротацию в боте по алгоритму даной ВАшки?
https://wago.io/cvXaAvhF1/4
Posted: Tue Sep 28, 2021 7:07 am
by Mr.Sergey
Эта ВА просто показывает разный текст при изменении вашей скорости стрельбы, никаких ротаций в ней нет.
P.s. совсем забыл сделать аркан шот только на ходу. Просьба протестировать как будет работать вот тут -
http://www.bimsbot.ru/maxtests/Tatimopul.zip
Posted: Tue Sep 28, 2021 7:45 am
by Dimonoff
Я понимаю что там нет ротаций. хотелось бы что бы бот подстраивался под текущую скорость автошота так же как это реализовано в этой ВА.
Posted: Thu Sep 30, 2021 2:33 pm
by Mr.Sergey
Постарался сделать универсальный алгоритм с изменением ротации, просьба протестировать -
http://www.bimsbot.ru/maxtests/Uzehoxazela.zip
Posted: Fri Oct 01, 2021 9:02 am
by Dimonoff
на скорости 1-1,5 все так же применяет мультишот в ротации.
Для удобства понимания ротации в зависимости от скорости есть немного модифицированая ВА от той что я кидал выше.
https://wago.io/v4r_UmrPR
Вот с нее код
Code: Select all
function()
if UnitRangedDamage("player") > 1.83 then
return "|cff".."0068aa"..("•|MS|•|•|AR|•|•\n%.2f"):format(UnitRangedDamage("player"))
-- Above 1.83, use French 5:5:1:1
elseif UnitRangedDamage("player") <= 1.83 and UnitRangedDamage("player") > 1.63 then
return "|cff".."009933"..("•|AR|MS|•|•|•|•\n%.2f"):format(UnitRangedDamage("player"))
-- Between 1.83 and 1.63, use 5:6:1:1
elseif UnitRangedDamage("player") <= 1.63 and UnitRangedDamage("player") > 1.24 then
return "|cff".."f2f2f2"..("1:1\n%.2f"):format(UnitRangedDamage("player"))
-- Between 1.63 and 1.24, use 1:1
elseif UnitRangedDamage("player") <= 1.24 and UnitRangedDamage("player") > 1.06 then
return "|cff".."99f299"..("•|•|•|MS|•|•|AR\n%.2f"):format(UnitRangedDamage("player"))
-- Between 1.24 and 1.06, use 5:9:1:1
elseif UnitRangedDamage("player") <= 1.06 and UnitRangedDamage("player") > 0.85 then
return "|cff".."808080"..("•| |•|\n%.2f"):format(UnitRangedDamage("player"))
-- Between 1.06 and 0.85, use 2:3
elseif UnitRangedDamage("player") <= 0.85 and UnitRangedDamage("player") > 0.69 then
return "|cff".."ff9900"..("|•| |•|\n%.2f"):format(UnitRangedDamage("player"))
-- Between 0.85 and 0.69, use 1:2
elseif UnitRangedDamage("player") <= 0.69 then
return "|cff".."cccc00"..("•| | |•| -\n%.2f"):format(UnitRangedDamage("player"))
-- Below 0.69, Use 2:5
end
end
"•" это Верный выстрел а "|" это автошотю
Но дабы не усложнять код попробуйте сначала сделать ротацию на 2х переменных -- в диапазоне выше 1.8 использовать ротацию 5:5:1:1 а в диапазоне ниже 1,8 и ниже 1:1
Posted: Fri Oct 01, 2021 10:50 am
by Mr.Sergey
Эм... а почему мульти шота не должно быть при большой скорости оружия? Мне казалось, что мульти шот должен оставаться в ротации независимо от скорости т.к. он наносит больше урона, чем стеди шот, - не профитно ведь юзать слабую спсобность вместо более сильной. В моем понимании принцип всех возможных вариантов ротаций один - если у нас оружие медленное, и мы успеваем вставить мульти шот после стеди шота до следующей автоатаки, то наша ротация выглядит вот так:
SS и X|SS и X|SS и X|SS и X|....
где SS - стеди шот, Х - мульти шот или любая мгновенка при условии доступности, | - авто шот
Если же мы не успеваем скастовать после стеди шота мульти шот до следующего авто шота, то просто юзаем 1 абилку после каждого авто шота (если не находимся в гкд, конечно же):
SS или Х|SS или Х|SS или Х|SS или Х|...
Если следовать этому простому алгоритму, то как раз получаются все описываемые в гайдах ротации.
P.s. Только что проводил тесты на птр, весьма странно, но там Залп не мгновенный и кастится 0,5 секунды (полосы каста нет, но между собымиями SPELL_CAST_START и SPELL_CAST_SUCCESS действительно проходит 500 мс, как и написано в описании спосбности + Залп нельзя кастовать на ходу). Как Залп сейчас работает на обычных, не птр серверах?
Posted: Fri Oct 01, 2021 2:24 pm
by Dimonoff
На лайве все работает так же только задержка чуть меньше из-за пинга. Мультишот используется только в ротации 5:5:1:1 или 5:6:1:1 видимо как раз из-за того что он запускает гкд и выходит что на больших скоростях 0.5с + гкд расходует больше времени чем стедишот. Так как во время каста стедишота уже заложено гкд.
Вот тут наглядно с графиками описано как работают ротации.
https://boukx.github.io/rotations/
Posted: Fri Oct 01, 2021 7:18 pm
by Mr.Sergey
В гайде по вашей ссылке не вижу каких-то конкретных упоминаний о мульти шоте, в гайде выше (
https://diziet559.github.io/rotationtoo ... ation-5911) где так же рассматриваются все возможные ротации, автор пишет "All basic rotations use only steady shot for illustration purposes, but in practice should use multi shot instead of a steady shot whenever it is off CD to slightly improve dps."
Dimonoff wrote:во время каста стедишота уже заложено гкд.
Это как?) У вас в любом случае от прожатия абилки (начала гкд), до возможности прожатия следующей должно пройти 1,5 секунды. При этом не важно, будет ли кастоваться стеди шот в этом интервале или мульти шот - вы в любом случае 1,5 секунды не сможете ничего другого использовать. Пока я не вижу причин, по которым нельзя кастовать мульти шот - мульти шот профитнее.
Posted: Sat Oct 02, 2021 5:35 pm
by Dimonoff
MrSergey wrote:
Это как?) У вас в любом случае от прожатия абилки (начала гкд), до возможности прожатия следующей должно пройти 1,5 секунды.
Это я и имел ввиду.
MrSergey wrote:
В гайде по вашей ссылке не вижу каких-то конкретных упоминаний о мульти шоте, в гайде выше.
Тут думаю вы правы, пересмотрел различные гайды и там рекомендуют мультишот использовать по КД. Буду вообщем тестировать новую сборку плотнее.
Хотел уточнить только какие типы ротаций на каких скоростях теперь заложены? Что бы обращать внимание на этот аспект? Есть ли там там "стеди авто авто" при скоростях менее 1.2?
Posted: Sat Oct 02, 2021 6:05 pm
by Mr.Sergey
Алгоритм был сделан универсальным, в теории из него должно получиться все, что только возможно. Принцип я описал в предыдущем своем посту, к этому добавить, что не авто шоты кастуются если с момента автошота прошло менее 0,5с.