Глобальный Cooldown

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

Глобальный Cooldown

Сообщение uaz266 »

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

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

Сообщение 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
uaz266
Сообщения: 385
Зарегистрирован: 12 ноя 2016, 03:30

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

Сообщение uaz266 »

Спасибо большое!!! Сейчас попробую
end
Сообщения: 152
Зарегистрирован: 01 май 2018, 10:28

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

Сообщение end »

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

П.С. пишу с работы, нет возможности посмотреть функцию выше. Можно ли привести пример её работы?
uaz266
Сообщения: 385
Зарегистрирован: 12 ноя 2016, 03:30

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

Сообщение 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
гера.png
Всё равно спамит "Героизм" когда сам спелл на кд
Решил проблему пока вот так
нерыч.jpg

Если ставить 0,то не работает именно влияет 1,5сек Глобальный Cooldown. Ставишь <1 то работает боле мение,но всё равно костыль какой-то
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Reqqque
Сообщения: 224
Зарегистрирован: 01 дек 2018, 20:28

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

Сообщение Reqqque »

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

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

Сообщение uaz266 »

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

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

Сообщение uaz266 »

Если в пве "Героизм" то работает идеально,но стоит включить ПВП режим
вот так такая хрень
3.jpg
2.jpg
1.jpg
Бот спамит один скилл
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Reqqque
Сообщения: 224
Зарегистрирован: 01 дек 2018, 20:28

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

Сообщение Reqqque »

Значит надо писать в бота этот героизм
lilaa
Сообщения: 19
Зарегистрирован: 03 сен 2019, 12:52

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

Сообщение lilaa »

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

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