почему не работает SetUnitX/Y(...) тогда как если поставить SetUnitPosition(...) в том виде, в каком она представлена в следующем коде, то все срабатывает правильно?
раскрыть
function Trig_Move_Actions takes nothing returns nothing
    set I = 0
    loop
        exitwhen I > udg_MISSILES_i
        if udg_MISSILES_i != 0 then
            set A = GetUnitFacing(udg_MISSILE[I])
            set X = GetUnitX(udg_MISSILE[I]) + 50 * Cos(A * bj_DEGTORAD)
            set Y = GetUnitY(udg_MISSILE[I]) + 50 * Sin(A * bj_DEGTORAD)

//            call SetUnitPosition(udg_MISSILE[I], X,Y)
            call SetUnitX(udg_MISSILE[I], X)
            call SetUnitY(udg_MISSILE[I], Y)

            call GroupEnumUnitsInRangeOfLoc(G_DMG, GetUnitLoc(udg_MISSILE[I]), 50.00, Condition(function ExplodeFilter))
            call ForGroup(G_DMG, function Explode)
        else
            set udg_MISSILE[I] = udg_MISSILE[udg_MISSILES_i]
            set udg_MISSILE[udg_MISSILES_i] = null
            set udg_MISSILES_i = ( udg_MISSILES_i - 1 )
            set I = I-1
        endif
        set I=I+1
    endloop
endfunction
И кстати, какой из этих вариантов меньше нагружает процессор?

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

булэкспры удалять не надо
читайте