Страница 1 из 2
Глобальный Cooldown
Добавлено: 18 сен 2019, 08:42
uaz266
Не могу решить проблему.
Например есть спелл ЭНХ шамана " Героизм" когда выбираешь пвп "Шаманство" то можно "Героизм" использовать каждую минуту.
Хотел прикрутить его в свою ПВП сборку,но вылезла проблема,бот спамит спелл "Героизм" когда он на перезарядке и стопорит ротацию
Пробовал выбрать "Готов к применению" не помогает. Тогда решил вписать пользовательский код GetSpellCooldown("Героизм")==0,помогает бот прожимает "Героизм" и ждёт когда закончится перезарядка,но заканчивается перезарядка,а бот не жмёт больше "Героизм",вычислил виной всему 1,5 сек Глобальный Cooldown,бот его считает как перезарядка спелла.
Кто знает как решить эту проблему?
Примерно догадываюсь как:
local start, duration, enabled = GetSpellCooldown("Героизм");
if ( start > 0 and duration > 1.5) then
Блин дальше мои познания заканчиваются.
Помогите люди добрые!!!
Re: Глобальный Cooldown
Добавлено: 18 сен 2019, 20:38
Reqqque
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
Re: Глобальный Cooldown
Добавлено: 19 сен 2019, 02:21
uaz266
Спасибо большое!!! Сейчас попробую
Re: Глобальный Cooldown
Добавлено: 19 сен 2019, 03:04
end
А нет ли возможности отслеживать гкд ?
Например в условиях делать выдержку времени опираясь на гкд.
Как пример. - использовать скил если другой скил имеет время восстановления более или равно 1.4. (1.36 базовый гкд у моего перса) но под проками тринек-азерит трейтов и/или геры, гкд может достигать 0.82. Получается полсекундный простой.
В других случаях нужно опирается на гкд+0.3 ( скил не сразу достигает цели.
П.С. пишу с работы, нет возможности посмотреть функцию выше. Можно ли привести пример её работы?
Re: Глобальный Cooldown
Добавлено: 19 сен 2019, 05:56
uaz266
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 (41.34 КБ) 15908 просмотров
- гера.png (6.53 КБ) 15908 просмотров
Всё равно спамит "Героизм" когда сам спелл на кд
Решил проблему пока вот так
- нерыч.jpg (49.88 КБ) 15908 просмотров
Если ставить 0,то не работает именно влияет 1,5сек Глобальный Cooldown. Ставишь <1 то работает боле мение,но всё равно костыль какой-то
Re: Глобальный Cooldown
Добавлено: 19 сен 2019, 15:42
Reqqque
uaz266 писал(а): ↑19 сен 2019, 05:56
Сделал вот так
Так работать не будет нужно убрать галочку и прописать == 0
Тогда бот будет жать когда до отката геры осталось гкд
Re: Глобальный Cooldown
Добавлено: 19 сен 2019, 16:50
uaz266
Reqqque писал(а): ↑19 сен 2019, 15:42
uaz266 писал(а): ↑19 сен 2019, 05:56
Сделал вот так
Так работать не будет нужно убрать галочку и прописать == 0
Тогда бот будет жать когда до отката геры осталось гкд
Спасибо попробую
Re: Глобальный Cooldown
Добавлено: 19 сен 2019, 17:04
uaz266
Если в пве "Героизм" то работает идеально,но стоит включить ПВП режим
вот так такая хрень
- 3.jpg (47.78 КБ) 15891 просмотр
- 2.jpg (4.88 КБ) 15891 просмотр
- 1.jpg (10.38 КБ) 15891 просмотр
Бот спамит один скилл
Re: Глобальный Cooldown
Добавлено: 19 сен 2019, 18:17
Reqqque
Значит надо писать в бота
этот героизм
Re: Глобальный Cooldown
Добавлено: 19 сен 2019, 18:50
lilaa
end писал(а): ↑19 сен 2019, 03:04
А нет ли возможности отслеживать гкд ?
Например в условиях делать выдержку времени опираясь на гкд.
Как пример. - использовать скил если другой скил имеет время восстановления более или равно 1.4. (1.36 базовый гкд у моего перса) но под проками тринек-азерит трейтов и/или геры, гкд может достигать 0.82. Получается полсекундный простой.
В других случаях нужно опирается на гкд+0.3 ( скил не сразу достигает цели.
П.С. пишу с работы, нет возможности посмотреть функцию выше. Можно ли привести пример её работы?
Тоже очень интересует как отслеживать гкд именно по этому поводу.