Gamefr@nk | Дата: Понедельник, 09 Января 2012, 16:02:34 | Сообщение # 1 |
8 уровень
Группа: Проверенные
Сообщений: 638
Награды: 0
Репутация: 188
Блокировки:
| Во время цикла создаю блоки пути заношу в локалки,но когда удаляя ,они остаются. Есть возможность дать время жизни декорациям как юнитам,или как правельно удалить.
Code call RemoveDestructable(des[dei]) удалял так.(тоже удалял циклом)
|
|
|
|
SirNikolas | Дата: Понедельник, 09 Января 2012, 16:21:05 | Сообщение # 2 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Попробуй их перед этим убивать.
|
|
|
|
Gamefr@nk | Дата: Понедельник, 09 Января 2012, 16:25:46 | Сообщение # 3 |
8 уровень
Группа: Проверенные
Сообщений: 638
Награды: 0
Репутация: 188
Блокировки:
| Code local unit f=GetTriggerUnit() local integer i=0 local real fas=GetUnitFacing(f) local unit array da local integer di=0 local real x = GetSpellTargetX() local real y = GetSpellTargetY() local unit d=CreateUnit(GetOwningPlayer(f),'o004',x,y,GetUnitFacing(f)) local real x1 = GetWidgetX(d) + 400. * Cos(fas * .017) local real y1 = GetWidgetY(d) + 400. * Sin(fas * .017) local real x2 = GetWidgetX(d) + 220. * Cos(fas * .017) local real y2 = GetWidgetY(d) + 220. * Sin(fas * .017) local destructable array des local integer dei=0 loop exitwhen i>15*GetUnitAbilityLevel(f,'A00B') set da[di]=CreateUnit(GetOwningPlayer(f),'o007',x1,y1,0) call UnitApplyTimedLife(da[di],'BTLF',3*GetUnitAbilityLevel(f,'A00B')) set des[dei]=CreateDestructable('YTpc',x1,y1,fas,1,1) set dei=dei+1 set di=di+1 set i=i+1 set fas=fas-20 set x1 = GetWidgetX(d) + 400. * Cos(fas * .017) set y1 = GetWidgetY(d) + 400. * Sin(fas * .017) call TriggerSleepAction(0.01) endloop loop exitwhen i==0 call IssuePointOrder(da[di],"shockwave",x2,y2) set di=di-1 set i=i-1 set fas=fas+20 set x2 = GetWidgetX(d) + 220. * Cos(fas * .017) set y2 = GetWidgetY(d) + 220. * Sin(fas * .017) endloop set dei=0 call TriggerSleepAction(0.8) loop exitwhen i>3*GetUnitAbilityLevel(f,'A00B') call KillDestructable(des[dei]) call RemoveDestructable(des[dei]) set des[dei]=null set dei=dei+1 set da[di]=null set di=di+1 set i=i+1 endloop set f=nulllocal unit f=GetTriggerUnit() local integer i=0 local real fas=GetUnitFacing(f) local unit array da local integer di=0 local real x = GetSpellTargetX() local real y = GetSpellTargetY() local unit d=CreateUnit(GetOwningPlayer(f),'o004',x,y,GetUnitFacing(f)) local real x1 = GetWidgetX(d) + 400. * Cos(fas * .017) local real y1 = GetWidgetY(d) + 400. * Sin(fas * .017) local real x2 = GetWidgetX(d) + 220. * Cos(fas * .017) local real y2 = GetWidgetY(d) + 220. * Sin(fas * .017) local destructable array des local integer dei=0 loop exitwhen i>15*GetUnitAbilityLevel(f,'A00B') set da[di]=CreateUnit(GetOwningPlayer(f),'o007',x1,y1,0) call UnitApplyTimedLife(da[di],'BTLF',3*GetUnitAbilityLevel(f,'A00B')) set des[dei]=CreateDestructable('YTpc',x1,y1,fas,1,1) set dei=dei+1 set di=di+1 set i=i+1 set fas=fas-20 set x1 = GetWidgetX(d) + 400. * Cos(fas * .017) set y1 = GetWidgetY(d) + 400. * Sin(fas * .017) call TriggerSleepAction(0.01) endloop loop exitwhen i==0 call IssuePointOrder(da[di],"shockwave",x2,y2) set di=di-1 set i=i-1 set fas=fas+20 set x2 = GetWidgetX(d) + 220. * Cos(fas * .017) set y2 = GetWidgetY(d) + 220. * Sin(fas * .017) endloop set dei=0 call TriggerSleepAction(0.8) loop exitwhen i>3*GetUnitAbilityLevel(f,'A00B') call KillDestructable(des[dei]) call RemoveDestructable(des[dei]) set des[dei]=null set dei=dei+1 set da[di]=null set di=di+1 set i=i+1 endloop set f=null
|
|
|
|
Gamefr@nk | Дата: Понедельник, 09 Января 2012, 22:58:46 | Сообщение # 5 |
8 уровень
Группа: Проверенные
Сообщений: 638
Награды: 0
Репутация: 188
Блокировки:
| SirNikolas, да Добавлено (09 Январь 2012, 22:58:46) --------------------------------------------- Тему клоз. Ошибка в Code loop exitwhen i>15*GetUnitAbilityLevel(f,'A00B') loop exitwhen i>3*GetUnitAbilityLevel(f,'A00B') call KillDestructable(des[dei]) call RemoveDestructable(des[dei])
Сообщение отредактировал Gamefr@nk - Понедельник, 09 Января 2012, 16:49:21 |
|
|
|