Глобальный Cooldown

uaz266
Сообщения: 372
Зарегистрирован: 12 ноя 2016, 03:30

Глобальный Cooldown

Сообщение uaz266 » 18 сен 2019, 08:42

Не могу решить проблему.
Например есть спелл ЭНХ шамана " Героизм" когда выбираешь пвп "Шаманство" то можно "Героизм" использовать каждую минуту.
Хотел прикрутить его в свою ПВП сборку,но вылезла проблема,бот спамит спелл "Героизм" когда он на перезарядке и стопорит ротацию
Пробовал выбрать "Готов к применению" не помогает. Тогда решил вписать пользовательский код GetSpellCooldown("Героизм")==0,помогает бот прожимает "Героизм" и ждёт когда закончится перезарядка,но заканчивается перезарядка,а бот не жмёт больше "Героизм",вычислил виной всему 1,5 сек Глобальный Cooldown,бот его считает как перезарядка спелла.
Кто знает как решить эту проблему?
Примерно догадываюсь как:
local start, duration, enabled = GetSpellCooldown("Героизм");
if ( start > 0 and duration > 1.5) then
Блин дальше мои познания заканчиваются.
Помогите люди добрые!!!

Reqqque
Сообщения: 214
Зарегистрирован: 01 дек 2018, 20:28

Re: Глобальный Cooldown

Сообщение Reqqque » 18 сен 2019, 20:38

uaz266 писал(а):
18 сен 2019, 08:42
Не могу решить проблему.
Например есть спелл ЭНХ шамана " Героизм" когда выбираешь пвп "Шаманство" то можно "Героизм" использовать каждую минуту.
Хотел прикрутить его в свою ПВП сборку,но вылезла проблема,бот спамит спелл "Героизм" когда он на перезарядке и стопорит ротацию
Пробовал выбрать "Готов к применению" не помогает. Тогда решил вписать пользовательский код GetSpellCooldown("Героизм")==0,помогает бот прожимает "Героизм" и ждёт когда закончится перезарядка,но заканчивается перезарядка,а бот не жмёт больше "Героизм",вычислил виной всему 1,5 сек Глобальный Cooldown,бот его считает как перезарядка спелла.
Кто знает как решить эту проблему?
Примерно догадываюсь как:
local start, duration, enabled = GetSpellCooldown("Героизм");
if ( start > 0 and duration > 1.5) then
Блин дальше мои познания заканчиваются.
Помогите люди добрые!!!
Функция будет считать кд пока не дойдет до гкд

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

function cdwgcd(spellid)
local start, duration, enabled = GetSpellCooldown(spellid)
local _, gcdMS = GetSpellBaseCooldown(spellid)
local cd = start + duration - GetTime()
if ( start > 0 and duration > gcdMS/1000) then return cd end
return 0
end

uaz266
Сообщения: 372
Зарегистрирован: 12 ноя 2016, 03:30

Re: Глобальный Cooldown

Сообщение uaz266 » 19 сен 2019, 02:21

Спасибо большое!!! Сейчас попробую

end
Сообщения: 152
Зарегистрирован: 01 май 2018, 10:28

Re: Глобальный Cooldown

Сообщение end » 19 сен 2019, 03:04

А нет ли возможности отслеживать гкд ?
Например в условиях делать выдержку времени опираясь на гкд.
Как пример. - использовать скил если другой скил имеет время восстановления более или равно 1.4. (1.36 базовый гкд у моего перса) но под проками тринек-азерит трейтов и/или геры, гкд может достигать 0.82. Получается полсекундный простой.
В других случаях нужно опирается на гкд+0.3 ( скил не сразу достигает цели.

П.С. пишу с работы, нет возможности посмотреть функцию выше. Можно ли привести пример её работы?

uaz266
Сообщения: 372
Зарегистрирован: 12 ноя 2016, 03:30

Re: Глобальный Cooldown

Сообщение uaz266 » 19 сен 2019, 05:56

Reqqque писал(а):
18 сен 2019, 20:38
uaz266 писал(а):
18 сен 2019, 08:42
Не могу решить проблему.
Например есть спелл ЭНХ шамана " Героизм" когда выбираешь пвп "Шаманство" то можно "Героизм" использовать каждую минуту.
Хотел прикрутить его в свою ПВП сборку,но вылезла проблема,бот спамит спелл "Героизм" когда он на перезарядке и стопорит ротацию
Пробовал выбрать "Готов к применению" не помогает. Тогда решил вписать пользовательский код GetSpellCooldown("Героизм")==0,помогает бот прожимает "Героизм" и ждёт когда закончится перезарядка,но заканчивается перезарядка,а бот не жмёт больше "Героизм",вычислил виной всему 1,5 сек Глобальный Cooldown,бот его считает как перезарядка спелла.
Кто знает как решить эту проблему?
Примерно догадываюсь как:
local start, duration, enabled = GetSpellCooldown("Героизм");
if ( start > 0 and duration > 1.5) then
Блин дальше мои познания заканчиваются.
Помогите люди добрые!!!
Функция будет считать кд пока не дойдет до гкд

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

function cdwgcd(spellid)
local start, duration, enabled = GetSpellCooldown(spellid)
local _, gcdMS = GetSpellBaseCooldown(spellid)
local cd = start + duration - GetTime()
if ( start > 0 and duration > gcdMS/1000) then return cd end
return 0
end
Сделал вот так
рерааа.jpg
рерааа.jpg (41.34 КБ) 15794 просмотра
гера.png
гера.png (6.53 КБ) 15794 просмотра
Всё равно спамит "Героизм" когда сам спелл на кд
Решил проблему пока вот так
нерыч.jpg
нерыч.jpg (49.88 КБ) 15794 просмотра

Если ставить 0,то не работает именно влияет 1,5сек Глобальный Cooldown. Ставишь <1 то работает боле мение,но всё равно костыль какой-то

Reqqque
Сообщения: 214
Зарегистрирован: 01 дек 2018, 20:28

Re: Глобальный Cooldown

Сообщение Reqqque » 19 сен 2019, 15:42

uaz266 писал(а):
19 сен 2019, 05:56
Сделал вот так
Так работать не будет нужно убрать галочку и прописать == 0
Тогда бот будет жать когда до отката геры осталось гкд

uaz266
Сообщения: 372
Зарегистрирован: 12 ноя 2016, 03:30

Re: Глобальный Cooldown

Сообщение uaz266 » 19 сен 2019, 16:50

Reqqque писал(а):
19 сен 2019, 15:42
uaz266 писал(а):
19 сен 2019, 05:56
Сделал вот так
Так работать не будет нужно убрать галочку и прописать == 0
Тогда бот будет жать когда до отката геры осталось гкд
Спасибо попробую

uaz266
Сообщения: 372
Зарегистрирован: 12 ноя 2016, 03:30

Re: Глобальный Cooldown

Сообщение uaz266 » 19 сен 2019, 17:04

Если в пве "Героизм" то работает идеально,но стоит включить ПВП режим
вот так такая хрень
3.jpg
3.jpg (47.78 КБ) 15777 просмотров
2.jpg
2.jpg (4.88 КБ) 15777 просмотров
1.jpg
1.jpg (10.38 КБ) 15777 просмотров
Бот спамит один скилл

Reqqque
Сообщения: 214
Зарегистрирован: 01 дек 2018, 20:28

Re: Глобальный Cooldown

Сообщение Reqqque » 19 сен 2019, 18:17

Значит надо писать в бота этот героизм

lilaa
Сообщения: 18
Зарегистрирован: 03 сен 2019, 12:52

Re: Глобальный Cooldown

Сообщение lilaa » 19 сен 2019, 18:50

end писал(а):
19 сен 2019, 03:04
А нет ли возможности отслеживать гкд ?
Например в условиях делать выдержку времени опираясь на гкд.
Как пример. - использовать скил если другой скил имеет время восстановления более или равно 1.4. (1.36 базовый гкд у моего перса) но под проками тринек-азерит трейтов и/или геры, гкд может достигать 0.82. Получается полсекундный простой.
В других случаях нужно опирается на гкд+0.3 ( скил не сразу достигает цели.

П.С. пишу с работы, нет возможности посмотреть функцию выше. Можно ли привести пример её работы?
Тоже очень интересует как отслеживать гкд именно по этому поводу.

Ответить

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

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