Добавлен  Vadik29 
                            
                            
                            
                            
                            
                            
                        
                        
                    GroupEnumUnitsInRange(G, x, y, 1000, Base)
            loop
                E = FirstOfGroup(G)
                GroupRemoveUnit(G, E)
                exitwhen E == null
                if Condition_Base(p,E) then
                    SetUnitInvulnerable(E,false)
                    UnitRemoveBuffs(E,true,true)
                    UnitAddAbility(E,'A0WR')
                    UnitDamageTarget(u, E, dmg, false, false, null, null, null)
                    UnitRemoveAbility(E,'A0WR')
                endif
            endloop
function Condition_Base takes player p,unit e returns boolean
   return IsUnitEnemy(e,p) and IsUnitType(e,UNIT_TYPE_DEAD) == false and IsUnitType(e,UNIT_TYPE_STRUCTURE) == false
endfunctionЕсли во время нанесения урона кто-то умирает, цикл прерывается, как можно это исправить.
Принятый ответ
Если срабатывает событие смерти, и в триггере с событием смерти используется группа G, то группа перезапишется. Для событий прерывающих поток, используй отдельные группы.
    
        
            
                `
            
            
                
        
    
    ОЖИДАНИЕ РЕКЛАМЫ...
            
                    
                        Чтобы оставить комментарий, пожалуйста, войдите на сайт.
                    
                
             
                        
                        
                    
 WC3
                                WC3
                            



 
                    
                
хотелось бы дебаг ибо лично я не вижу проблем в коде
даже более того у меня аналогичный код в своё время работал без багов
Ред. Vadik29
Собственно стоят два героя, один умирает, второму не наносится урон вообще.
Ред. nvc123
и попробуй под лупом поменять 1 и 2 строку местами
Может изза этого и не работает.
Экстрасенсы ведут расследование. Чекните условие выборки. Да и зачем перебор юнитов тогда?
Ред. 16GB
E = FirstOfGroup(G)
GroupRemoveUnit(G, E)
exitwhen E == null
loop
E = FirstOfGroup(G)
exitwhen E == null
какойто код...
GroupRemoveUnit(G, E)
endloop