Последний ответ что нашёл был 2012 года, и прямого пути получить не было.
Поменялось ли что то сейчас?
P.S На юните под действием ауры ведь меняется описание "Уровень: 1, 2 , 3" и т.д, возможно есть путь к этой строке и просто конвертировать S2I

Принятый ответ

На 1.31 не знаю есть ли, на мемхаке есть такой способ, именно узнать уровень баффа. Так же есть функция позволяющая ауре мгновенно сделать апдейт уровня, а не с 2-4 секундной задержкой.

    function GetBuffLevel takes integer pBuff returns integer
        if pBuff < 1 then
            return 0
        endif
        return Memory[( pBuff + 0xb0 ) / 4] + 1
    endfunction

    function SetBuffLevel takes integer pBuff, integer level returns nothing
        if pBuff < 1 or level < 1 then
            return
        endif
        set Memory[( pBuff + 0xb0 ) / 4] = level - 1
    endfunction
Необходим мемхак, первой ссылка или второй ссылка версии.
Инструкция внутри прилагается.

работает так
local integer pBuff = GetUnitAbility( юнит, идбаффа )
if pBuff > 1 then
	call SetBuffLevel( pBuff, уровень )
endif
Обязательно проверять что вернула GetUnitAbility, эта функция медленнее чем GetUnitAbilityLevel() проверять её наличие абилки не стоит. Ок?

Скоро будет готова новая версия карты с мемхаком, где будет все что выходило в паблик + инфа как пользоватся.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
4 года назад
0
Похожие вопросы:

ответ
У бафа нет уровня, его невозможно отследить. Но можно добавлять юниту невидимую способность со множеством уровней (например, на основе стандартной "Ауры торнадо" или "Сферы"). Эта способность, в свою очередь, будет накладывать нужный баф. А как отловить уровень способности уже сказали:
native GetUnitAbilityLevel takes unit whichUnit, integer abilcode returns integer
+
No, level of Buff!
buff == ability
function UnitHasBuffBJ takes unit whichUnit, integer buffcode returns boolean
    return (GetUnitAbilityLevel(whichUnit, buffcode) > 0)
endfunction

3
32
4 года назад
3
На 1.31 не знаю есть ли, на мемхаке есть такой способ, именно узнать уровень баффа. Так же есть функция позволяющая ауре мгновенно сделать апдейт уровня, а не с 2-4 секундной задержкой.

    function GetBuffLevel takes integer pBuff returns integer
        if pBuff < 1 then
            return 0
        endif
        return Memory[( pBuff + 0xb0 ) / 4] + 1
    endfunction

    function SetBuffLevel takes integer pBuff, integer level returns nothing
        if pBuff < 1 or level < 1 then
            return
        endif
        set Memory[( pBuff + 0xb0 ) / 4] = level - 1
    endfunction
Необходим мемхак, первой ссылка или второй ссылка версии.
Инструкция внутри прилагается.

работает так
local integer pBuff = GetUnitAbility( юнит, идбаффа )
if pBuff > 1 then
	call SetBuffLevel( pBuff, уровень )
endif
Обязательно проверять что вернула GetUnitAbility, эта функция медленнее чем GetUnitAbilityLevel() проверять её наличие абилки не стоит. Ок?

Скоро будет готова новая версия карты с мемхаком, где будет все что выходило в паблик + инфа как пользоватся.
Принятый ответ
0
32
4 года назад
0
Да на новом патче ничего подобного нет, если с мемхаком не разберётесь, проще забить ибо эти статусы никто не читает и мучения того не стоят
0
23
4 года назад
0
хм если я помню то баф это как абилка просто ведите равкод бафа на нативку получить уровень абилку

хотя я не тестил но должно
0
32
4 года назад
0
pro100master, от баффа оно вернет еденицу, если бафф есть и 0 если бафа нету.
0
23
4 года назад
0
quq_CCCP, понятно!
Этот комментарий удален
Чтобы оставить комментарий, пожалуйста, войдите на сайт.