Не думаю, что они такие уж плохие, после создания и ремува 300 прожектилей у меня совершенно не лагало. А хендл не обнуляется почти ни в одной из функций создания юнита... а то возвращать будет нечего, разве что если в bj_lastCreatedUnit...
[size=1]GreatLosser добавил:[/size]
А вычисление фэйсинга нужно для, к примеру, способности, у которой количество призываемых повышается с уровнем.. Ведь не делать же оффсет для каждого призыва, если уровней 100...
Пара функций, направленных на сокращение действий в редакторе объектов и делающие ненужным импорт дамми-модели.
function CreateDummy takes player pl, real x, real y, real time returns unit
local unit u = CreateUnit(pl, 'ewsp', 0, 0, 0)
call SetUnitAnimation (u, "death")
call SetUnitTimeScale (u, 100)
call UnitAddAbility (u, 'Aloc')
call UnitAddAbility (u, 'AIbm')
call UnitAddAbility (u, 'AImb')
call SetUnitState (u, UNIT_STATE_MANA, 400)
call UnitApplyTimedLife (u, 0, time)
call UnitRemoveType (u, UNIT_TYPE_PEON)
call SetUnitUseFood (u, false)
call SetUnitPathing (u, false)
call SetUnitX (u, x)
call SetUnitY (u, y)
call SetUnitVertexColor (u, 0, 0, 0, 0)
return u
endfunction
function CreateMissile takes player pl, real x, real y, real face, real time returns unit
local unit u = CreateUnit(pl, 'ewsp', x, y, face)
call SetUnitAnimation (u, "death")
call SetUnitTimeScale (u, 100)
call UnitAddAbility (u, 'Aloc')
call UnitRemoveType (u, UNIT_TYPE_PEON)
call SetUnitUseFood (u, false)
call SetUnitPathing (u, false)
call UnitApplyTimedLife (u, 0, time)
call SetUnitX (u, x)
call SetUnitY (u, y)
return u
endfunction
Функция, для красивого призыва юнитов: перед магом, направлены в разные стороны:
function CalculateSumAng takes integer numb,integer max,real angDist returns real
local real offset= - ( angDist * ( max - 1 ) / 2 )
set offset = offset + angDist * ( numb - 1 )
return offset
endfunction
//numb - Номер текущего призываемого, max - Количество призываемых, angDist - Разница в углах между призываемыми.
Работает как с четными числами, так и с нечетными.
[size=1][i]GreatLosser добавил:[/i][/size]
Ах да, возвращает, конечно, не целый угол, а число, которое надо прибавить (offset)
» WarCraft 3 / Библиотека функций
» WarCraft 3 / Библиотека функций
» WarCraft 3 / Библиотека функций
» WarCraft 3 / Who is Next 1.7