У пассивной способности "Перерождение" есть перезарядка, и при желании, можно добавить стоимость по мане и все будет работать, но в то же время у способности "Змеиная ловкость" ничего не меняется при добавлении стоимости и перезарядки. Почему так? И можно ли сделать не триггерную пассивку на основе того же перерождения?

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

Похожие вопросы:

ответ
Хозяин Миров:
Вот. Только совмещение нерабочее получилось, но оставил пока что.
ответ
Naadir, Ну хаком на память, чтобы совсем пассивка не кликабельная, только мемхак. Ну есть еще костыль с перерождением, если убить его владельца то пойдет кд. Иначе костыль с активкой.
ответ
вот, последняя версия
Требует вторую версию мемхака.
 function StartAbilityCooldown takes unit whichUnit, integer abilityId, real cd returns boolean
        local integer pAbility = 0
        if GetUnitAbilityLevel( whichUnit, abilityId ) == 0 or cd == 0.00 then
            return false
        endif
        
        set pAbility = GetUnitAbility( whichUnit, abilityId )
        
        if pAbility < 1 then
            return false
        else
            if RMem( pAbility + 0x134 ) == -1 and RMem( pAbility + 0x138 ) == -1 then
                call WMem( pAbility + 0x134, 0 )
                call WMem( pAbility + 0x138, 0 )
                if InGame then
                    call DisplayTextToPlayer( Player(0),0.00,0.00, "!" )
                else
                    call BJDebugMsg( "Start Cooldown WARNING!" )
                    call BJDebugMsg( "ADRESS-VAL1-VAL2" )
                    call BJDebugMsg( Int2Hex(pAbility)+" - "+Int2Hex(RMem( pAbility + 0x134 ))+" - "+Int2Hex(RMem( pAbility + 0x134 )))
                    call BJDebugMsg( "abil-"+Id2String(abilityId) +" owner-"+ Int2Hex(pAbility)  )
                endif
            endif
            set Memory[pReserverdIntArg1 / 4] = mR2I( cd )
            call CallThisCallWith2Args( pStartAbilityCD, pAbility, pReserverdIntArg1 )
            return IsAbilityOnCooldown( pAbility )
        endif
        return false
    endfunction

`
ОЖИДАНИЕ РЕКЛАМЫ...
2
19
5 лет назад
2
Похожие вопросы:

ответ
Хозяин Миров:
Вот. Только совмещение нерабочее получилось, но оставил пока что.
ответ
Naadir, Ну хаком на память, чтобы совсем пассивка не кликабельная, только мемхак. Ну есть еще костыль с перерождением, если убить его владельца то пойдет кд. Иначе костыль с активкой.
ответ
вот, последняя версия
Требует вторую версию мемхака.
 function StartAbilityCooldown takes unit whichUnit, integer abilityId, real cd returns boolean
        local integer pAbility = 0
        if GetUnitAbilityLevel( whichUnit, abilityId ) == 0 or cd == 0.00 then
            return false
        endif
        
        set pAbility = GetUnitAbility( whichUnit, abilityId )
        
        if pAbility < 1 then
            return false
        else
            if RMem( pAbility + 0x134 ) == -1 and RMem( pAbility + 0x138 ) == -1 then
                call WMem( pAbility + 0x134, 0 )
                call WMem( pAbility + 0x138, 0 )
                if InGame then
                    call DisplayTextToPlayer( Player(0),0.00,0.00, "!" )
                else
                    call BJDebugMsg( "Start Cooldown WARNING!" )
                    call BJDebugMsg( "ADRESS-VAL1-VAL2" )
                    call BJDebugMsg( Int2Hex(pAbility)+" - "+Int2Hex(RMem( pAbility + 0x134 ))+" - "+Int2Hex(RMem( pAbility + 0x134 )))
                    call BJDebugMsg( "abil-"+Id2String(abilityId) +" owner-"+ Int2Hex(pAbility)  )
                endif
            endif
            set Memory[pReserverdIntArg1 / 4] = mR2I( cd )
            call CallThisCallWith2Args( pStartAbilityCD, pAbility, pReserverdIntArg1 )
            return IsAbilityOnCooldown( pAbility )
        endif
        return false
    endfunction

Принятый ответ
1
32
5 лет назад
Отредактирован Берги
1
на основе эксгумации или на основе мемхака, почти все ответы бот выдал
Чтобы оставить комментарий, пожалуйста, войдите на сайт.