(Карта на 1.26 с MemoryHack)
Я хочу чтобы можно было установить текущее кд абилки, то есть допустим общее кд 6 сек, а я ставлю его на 3 сек. Индиактор UI показывает половину. Я пробовал отрицательное значение для ReduceAbilityCooldown, но не работает.

function AdjustCooldownModel takes integer h, real maxCD returns nothing
	if h>0 then
		call WMem(h+0xB4, mI2R(maxCD))
	endif
endfunction

call AdjustCooldownModel(GetUnitAbility(u,'Abil'),10)//set total cooldown value to 10
а до этого ставишь остаток кд функцией
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
32
StartAbilityCooldown - берет ид абилки, и время в секундах, если кд 0 и меньше, уберает перезарядку, иначе начинает кд с начала с указанным временем.
1
quq_CCCP:
StartAbilityCooldown - берет ид абилки, и время в секундах, если кд 0 и меньше, уберает перезарядку, иначе начинает кд с начала с указанным временем.
Это я знаю. А есть возможность начинать кд не с начала, как я описал?
33
Разумеется это можно сделать на мемхаке в 1.26, если это делать точно также как и на фреймах в рефе.
Можно стартовать кд с середины, запускать в обратную сторону или проматывать секунды
Но я не рекомендую такое делать, потому что это будет крайне громоздко, проще свой варкарфт сделать.
Не забывайте, что варкарфт это РТС
1
Bergi_Bear:
Разумеется это можно сделать на мемхаке в 1.26, если это делать точно также как и на фреймах в рефе.
Можно стартовать кд с середины, запускать в обратную сторону или проматывать секунды
Но я не рекомендую такое делать, потому что это будет крайне громоздко, проще свой варкарфт сделать.
Не забывайте, что варкарфт это РТС
Можешь поделиться решением пожалуйста?
1
Так же как получить триггерно интеджер кд аблики (который в РО)?

Можно ли как-то сделать чтобы StartAbilityCooldown рабтало на абилки в спел буке или на спелбук?
21
В мемхаке была какая-то функция, которая срезает текущий кд. Сперва запускаешь кд через StartAbilityCooldown(), а потом через нее срезаешь на нужное количество секунд. Если не ошибаюсь, то называлась DecUnitAbilityCooldown() или что-то похожее на это.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.