Добавлен  WeendVidente 
                            
                            
                            
                            
                            
                            
                        
                        
                    почему не работает 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И кстати, какой из этих вариантов меньше нагружает процессор?
    
        
            
                `
            
            
                
        
    
    ОЖИДАНИЕ РЕКЛАМЫ...
            
                    
                        Чтобы оставить комментарий, пожалуйста, войдите на сайт.
                    
                
            
 WC3
                                WC3
                            




Код не оптимизирован, это просто я решил создать систему движения с нуля и потихоньку развивать ее.
Sargaraser, я все равно булекспы удалять не буду ибо при таймере в 0,04 лагов не было
и оперативка не очень тратилась