Сейчас 05:06:13 Четверг, 25 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Разрушение/Время жизни блока пути
Разрушение/Время жизни блока пути
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
 

SirNikolasДата: Понедельник, 09 Января 2012, 16:46:48 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
И все равно?

 

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
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Разрушение/Время жизни блока пути
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz