Прожатие своей способности

Открытый раздел для обсуждений
Ответить
Diase123
Сообщения: 4
Зарегистрирован: 18 сен 2021, 15:46

Прожатие своей способности

Сообщение Diase123 » 10 май 2023, 04:02

Как сделать, чтобы бот прерывался и жал способность, как в том же MaxDPS?
Например, идёт ротация, я жму кнопку, она ставится выше всех в приоритете и жмётся сразу же следующей, дальше ротация продолжается.
Заранее спасибо огромное за помощь

noname123
Сообщения: 127
Зарегистрирован: 19 мар 2020, 09:15

Re: Прожатие своей способности

Сообщение noname123 » 10 май 2023, 10:24

Именно как в MaxDPS у нас не реализовано к сожалению, приходится через макросы выкручиваться.

Вот пример с клеткой у дх
делается в игре такой макрос и выносится на панель твоих спелов.
Клетка1.png
Клетка1.png (26.81 КБ) 85 просмотров
1500 - это время в миллисекундах (1.5с) сколько твой макрос будет действовать.
KKK - название макроса, можно любое какое тебе удобно.

После того как сделал макрос нужно в боте создать блок (разместить его в самом верху сборки для наивысшего приоритета) который будет срабатывать от этого макроса.
Клетка2.png
Клетка2.png (9.87 КБ) 85 просмотров
Сохраняешь сборку и всё готово. Теперь при нажатии в игре на этот макрос в течении 1.5 секунды (по моему примеру) он прожмёт клетку с наивысшим приоритетом в твоей ротации.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Вариант БЕЗ МАКРОСОВ в игре.

Если вы экономите место в макросах или просто не хотите чтобы подобные макросы в игре у вас находились, то есть альтернативный способ.
Приведу пример с печатями дх танка

Вставляем пользовательский код в боте внизу

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

local A = CreateFrame("Frame")
A:RegisterEvent("UNIT_SPELLCAST_FAILED")
A:SetScript("OnEvent", 
  function(self, event, ...)
    if event == "UNIT_SPELLCAST_FAILED" then
      local unit, spellID, spellName, spellRank;
            if checkVersionOld(1,3) then
                unit, spellName, spellRank = ...;
                spellID = MyGetSpellID(spellName, spellRank)
            elseif checkVersionOld(4,7) then
                unit, _, _, _, spellID = ...;
            else
                unit, _, spellID = ...;
            end
      if spellID == 202138 and unit == "player" then
      Timers['CMD_AAA'] = 1.5
      elseif spellID == 202137 and unit == "player" then
      Timers['CMD_BBB'] = 1.5
      elseif spellID == 207684 and unit == "player" then
      Timers['CMD_CCC'] = 1.5
    end
  end
end
)
Собственно тут примерно всё тоже самое (см. пользовательский код внизу). spellID - ID вашего спела. AAA, BBB, CCC - это названия макросов. 1.5 - это время в секундах действия этого макроса. Измените под себя в случае надобности.

Потом в боте создаёте блоки (в самом верху вашей ротации для наивысшего приоритета) и можно пользоваться.
Печатидх.png
Печатидх.png (91.66 КБ) 85 просмотров
Теперь когда вы будете нажимать указанный спелл и попадать этим спелом в гкд, то он будет вставать в очередь ваших заклинаний и приоритетно прожиматься без лишней борьбы с ботом за нажатие.
Последний раз редактировалось noname123 05 апр 2024, 14:45, всего редактировалось 3 раза.

Адын
Сообщения: 17
Зарегистрирован: 24 мар 2024, 18:15

Re: Прожатие своей способности

Сообщение Адын » 03 апр 2024, 16:10

noname123 писал(а):
10 май 2023, 10:24
Именно как в MaxDPS у нас не реализовано к сожалению, приходится через макросы выкручиваться.

Вот пример с клеткой у дх
делается в игре такой макрос и выносится на панель твоих спелов.
Изображение
1500 - это время в миллисекундах (1.5с) сколько твой макрос будет действовать.
KKK - название макроса, можно любое какое тебе удобно.

После того как сделал макрос нужно в боте создать блок (разместить его в самом верху сборки для наивысшего приоритета) который будет срабатывать от этого макроса.
Изображение
Сохраняешь сборку и всё готово. Теперь при нажатии в игре на этот макрос в течении 1.5 секунды (по моему примеру) он прожмёт клетку с наивысшим приоритетом в твоей ротации.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Вариант БЕЗ МАКРОСОВ в игре.

Если вы экономите место в макросах или просто не хотите чтобы подобные макросы в игре у вас находились, то есть альтернативный способ.
Приведу пример с печатями дх танка

Вставляем пользовательский код в боте внизу

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

local A = CreateFrame("Frame")
A:RegisterEvent("UNIT_SPELLCAST_FAILED")
A:SetScript("OnEvent", 
  function(self, event, ...)
    if event == "UNIT_SPELLCAST_FAILED" then
      local unit, spellID, spellName, spellRank;
            if checkVersionOld(1,3) then
                unit, spellName, spellRank = ...;
                spellID = MyGetSpellID(spellName, spellRank)
            elseif checkVersionOld(4,7) then
                unit, _, _, _, spellID = ...;
            else
                unit, _, spellID = ...;
            end
      if spellID == 202138 and unit == "player" then
      Timers['CMD_AAA'] = 1.5
      elseif spellID == 202137 and unit == "player" then
      Timers['CMD_BBB'] = 1.5
      elseif spellID == 207684 and unit == "player" then
      Timers['CMD_CCC'] = 1.5
    end
  end
end
)
Собственно тут примерно всё тоже самое. spellID - ID вашего спела. AAA, BBB, CCC - это названия макросов. 1.5 - это время в секундах действия этого макроса. Измените под себя в случае надобности.

Потом в боте создаёте блоки (в самом верху вашей ротации для наивысшего приоритета) и можно пользоваться.
Изображение
Теперь когда вы будете нажимать указанный спелл и попадать этим спелом в гкд, то он будет вставать в очередь ваших заклинаний и приоритетно прожиматься без лишней борьбы с ботом за нажатие.
можно повторить пример макроса, у меня не отображаются изображения) спс

noname123
Сообщения: 127
Зарегистрирован: 19 мар 2020, 09:15

Re: Прожатие своей способности

Сообщение noname123 » 03 апр 2024, 22:27

Перезалил примеры. Дискорд в последнее время постоянно новые ссылки генерирует для одних и тех же картинок вот их и не видно становится =/

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость