Вообще интересна эта тема с dummy кастами почему некоторые срабатывает корректно(своевременно), а некоторые с задержкой, с чем это может быть связано, влияют ли на это Id приказа или какие то другие факторы?
`
ОЖИДАНИЕ РЕКЛАМЫ...
30
Можно примеры некорректных способностей?
1
nazarpunk, ну вот к примеру в карте есть способность призывающая даммика использующего способность огненное лассо(переделанное), ну вот оно имеет у меня задержку.ID приказа revive(взял на рандом то что не повторялось)
function Chain_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A08O'
endfunction

function Chain1 takes nothing returns nothing
    local timer timerAct = GetExpiredTimer()
    local integer id = GetHandleId(timerAct)
    local unit dummy = LoadUnitHandle(Hash, id, StringHash("dummy"))
    local unit target = LoadUnitHandle(Hash, id, StringHash("target"))
    local effect e = LoadEffectHandle(Hash, id, StringHash("e"))
    
    if GetUnitAbilityLevel(target, 'B00Z') == 0 then
        call KillUnit(dummy)
        call RemoveUnit(dummy)
        call DestroyEffect(e)
        call DestroyTimer(timerAct)
        call FlushChildHashtable(Hash, id)
    endif

    set dummy = null
    set e = null
    set timerAct = null
endfunction

function Chain_Actions takes nothing returns nothing
    local timer timerAct = CreateTimer()
    local integer id = GetHandleId(timerAct)
    local unit caster = GetSpellAbilityUnit()
    local unit target = GetSpellTargetUnit()
    local integer level = GetUnitAbilityLevel(caster, 'A08O')
    local unit dummy
    local effect e
    
    set dummy = CreateUnit( GetOwningPlayer(caster), 'h023', GetUnitX(target) - 200, GetUnitY(target) - 200, bj_UNIT_FACING )
    
    call SetUnitVertexColor(dummy, 155, 155, 255, 50)
    
    set e = AddSpecialEffectTarget("war3mapImported\\Bondage Blue SD.mdx", target, "head")
    
    call SetUnitAbilityLevel(dummy, 'A08P', level)
     
    call IssueTargetOrder( dummy, "magicleash", target )
    
    call SaveUnitHandle(Hash, id, StringHash("dummy"), dummy)
    
    call SaveUnitHandle(Hash, id, StringHash("target"), target)
    
    call SaveEffectHandle(Hash, id, StringHash("e"), e)
    
    call TimerStart(timerAct, 1, true, function Chain1)

    set timerAct = null
    set e = null
    set caster = null
    set target = null
    set dummy = null
endfunction

function InitTrig_Chain takes nothing returns nothing
    set gg_trg_Chain = CreateTrigger()
    local integer index

    set index = 0
    loop
        call TriggerRegisterPlayerUnitEvent(gg_trg_Chain, Player(index), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)

        set index = index + 1
        exitwhen index == bj_MAX_PLAYER_SLOTS
    endloop
    
    call TriggerAddCondition(gg_trg_Chain, Condition(function Chain_Conditions))
    call TriggerAddAction(gg_trg_Chain, function Chain_Actions)
endfunction
30
Arlando, На чистой карте, с нормально настроеным даммиком не переделанное лассо нормально работает?

В игре есть так называемые channel чаннел способности. Они же поддерживаемые. Так вот у них зачастую захардкожена задержка перед кастом. Проверьте на чистой карте с дефолтным лассо, если будет тормозить, значит такова судьба.
32
Кастомное лассо сделай, чтобы не морочится с дамми кастом.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.