Добавлен Leys
При использовании loop перестает работать функция, без loop все работает отлично
В чем может быть проблема?
Код:
scope Spell3 initializer Spell3Init {
bool Spell3Cond() {
return GetSpellAbilityId() == 'A002'
}
void Spell3Act2() {
timer t = GetExpiredTimer()
int id = GetHandleId(t)
unit c = LoadUnitHandle( h, id, 1 )
float x = LoadReal( h, id, 2 )
float y = LoadReal( h, id, 3 )
unit d = LoadUnitHandle( h, id, 4 )
float x1 = GetUnitX(d)
float y1 = GetUnitY(d)
player p = GetOwningPlayer(c)
GroupEnumUnitsInRange( G, x1, y1, 500, null )
loop
E = FirstOfGroup(G)
exitwhen E == null
if IsUnitEnemy(E,p) and IsUnitType(E,UNIT_TYPE_DEAD) == false and IsUnitType(E,UNIT_TYPE_STRUCTURE) == false
UnitDamageTarget( c, E, 500, false, false, null, null, null )
endif
GroupRemoveUnit( G, E )
endloop
KillUnit( d )
FlushChildHashtable( h, id )
c = null
d = null
t = null
p = null
}
void Spell3Act() {
unit c = GetSpellAbilityUnit()
timer t = CreateTimer()
int id = GetHandleId(t)
float x = GetUnitX(c)
float y = GetUnitY(c)
float f = GetUnitFacing(c)
player p = GetOwningPlayer(c)
unit d = CreateUnit( p, 'hfoo', x, y, f )
UnitAddAbility(d, 'A001' )
SaveUnitHandle( h, id, 1, c )
SaveReal( h, id, 2, x )
SaveReal( h, id, 3, y )
SaveUnitHandle( h, id, 4, d )
TimerStart( t, 10.00, false, function Spell3Act2 )
c = null
t = null
p = null
}
void Spell3Init() {
trigger t = CreateTrigger( )
int i
i = 0
loop
TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
i = i + 1
exitwhen i == bj_MAX_PLAYER_SLOTS
endloop
TriggerAddCondition( t, Condition( function Spell3Cond ) )
TriggerAddAction( t, function Spell3Act )
t = null
}
}
Помогите пожалуйста!!!
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
BJD( "G == null" )
else
BJD( "G! == null" )
if ( FirstOfGroup(G) == null ) {
BJD ( "FirstOfGroup(G) == null" )
else
BJD(GetUnitName(FirstOfGroup(G)))
}
}
))
кинь скрин журнала
Ред. Волчачка
А ещё она в заголовке globals не null'ась
Ред. Leys
KingMaximax, ох тыж епт заработало
такую дыру сделал
в глобалке группу написал но не прописал CreateGroup()
KingMaximax, Благодарю