Добавлен DarkLigthing
Эта функция, а точнее работа его цикла, по каким-то причинам жутко учетная. По данным "Багометра". Но почему...
function ActSR takes nothing returns nothing
local unit u
local integer i = 1
local location loc = Location(0.00,0.00)
if ( GetSpellAbilityId() == 'A00I' ) then
set u = CreateUnitAtLoc(GetOwningPlayer(GetSpellAbilityUnit()), 'u001', GetUnitLoc(GetSpellAbilityUnit()), GetRandomReal(0,360))
call SetUnitAbilityLevel(u, 'A00H', GetUnitAbilityLevel(GetSpellAbilityUnit(),'A00I'))
call GroupAddUnit(udg_EvliSouls, u)
loop
exitwhen GetUnitState(u,UNIT_STATE_LIFE) < GetUnitState(u,UNIT_STATE_MAX_LIFE)
call MoveLocation(loc,GetLocationX(GetUnitLoc(GetSpellAbilityUnit())) + 50.00 * Cos(GetRandomReal(0, 360) * 0.01744444444),GetLocationY(GetUnitLoc(GetSpellAbilityUnit())) + 50.00 * Sin(GetRandomReal(0, 360) * 0.01744444444))
call IssuePointOrderLoc( u, "smart", loc)
endloop
call RemoveLocation(loc)
set loc = null
set u = null
endif
endfunction
Принятый ответ
Функция GetUnitLoc порождает новую точку, поэтому и счетчик хендлов увеличивается.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Idency
правила
везде однитакие же, как и для гуи - сохраняем точку в переменной, работаем с переменной, после - обнуляемОтредактирован 16GB