ГлавнаяБлогКарты Warcraft 3Гайды для первой ДотыГайды для Доты 2 [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Зарегистрированные пользователи не видят всплывающей рекламы
Страница 1 из 11
Модератор форума: XOPYC, Goodie, AdminZ 
Форум » Картостроение в Warcraft 3 » Наработки » Изменения деревьев (Изменяет деревья во время игры)
Изменения деревьев
Дата: Среда, 12.04.2017, 12:31 | Сообщение # 1
Рядовой
Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Данный ресурс я написал для своего проекта "Destiny Islands", но как у меня было много деревьев (Декораций). Создавало много утечек в начале, так вот я выкладываю ресурс который, только потому что нужна реклама проекта.

[cut=JASS]function T1 takes nothing return boolean
return null
endfunction

function Trig_ONE_Func003Func001C takes nothing return boolean
return GetDestructableTypeId(GetEnumDestructable()) == 'LTlt' // Заменяемый
endfunction

function Trig_ONE_Func003A takes nothing return nothing
if ( Trig_ONE_Func003Func001C() ) then
local destructable e=GetEnumDestructable()
local location d = Location(GetDestructableX(e), GetDestructableY(e))
call CreateDestructable('FTtw', GetLocationX(d), GetLocationY(d), GetRandomReal(0, 360), 1, GetRandomInt(0, 9))
call RemoveLocation(d)
call RemoveDestructable(e)
set d=null
set e=null
else
endif
endfunction

function Trig_ONE_Actions takes nothing return nothing
local filterfunc f = Filter (function T1)
call EnumDestructablesInRect(bj_mapInitialPlayableArea, f, function Trig_ONE_Func003A )
call DestroyFilter(f)
set f = null
endfunction

function InitTrig_ONE takes nothing return nothing
local trigger t = CreateTrigger( )
call TriggerRegisterTimerEvent(t, 10.00, false )
call TriggerAddAction(t, function Trig_ONE_Actions )
set t=null
endfunction[/cut]

[cut=CJASS]bool T1 (){
return null
}

bool Trig_ONE_Func003Func001C (){
return GetDestructableTypeId(GetEnumDestructable()) == 'LTlt' // Заменяемый
}

void Trig_ONE_Func003A (){
if ( Trig_ONE_Func003Func001C() ) then
destructable e=GetEnumDestructable()
location d = Location(GetDestructableX(e), GetDestructableY(e))
CreateDestructable('FTtw', GetLocationX(d), GetLocationY(d), GetRandomReal(0, 360), 1, GetRandomInt(0, 9))
RemoveLocation(d)
RemoveDestructable(e)
d=null
e=null
else
endif
}

void Trig_ONE_Actions (){
filterfunc f = Filter (function T1)
EnumDestructablesInRect(bj_mapInitialPlayableArea, f, function Trig_ONE_Func003A )
DestroyFilter(f)
f = null
}

void InitTrig_ONE2 (){
trigger t = CreateTrigger( )
TriggerRegisterTimerEvent(t, 10.00, false )
TriggerAddAction(t, function Trig_ONE_Actions )
t=null
}[/cut]
Так же поиграйте на моей карте, вам понравится, все выполнено на cjass и vjass
Прикрепления: 3022318.jpg(170Kb)


Сообщение отредактировал Иллидан - Среда, 12.04.2017, 12:42
 
Форум » Картостроение в Warcraft 3 » Наработки » Изменения деревьев (Изменяет деревья во время игры)
Страница 1 из 11
Поиск: