Сделал триггерное воскрешение чтоб можно было воскрешать конкретных юнитов и поставить разные условия, но эффект не крепится к заменённому юниту, думаю потому что гуи действие замены удаляет старого и создаёт нового юнита, но как мне прикрепить спецэффект? Пока из того что приходит в голову только создание точки в месте воскрешения, а потом её удаление, есть ли способ легче?
Принятый ответ
Функция воскрешения боевой единицы:
function ReviveUnit takes unit whichUnit returns boolean
if IsUnitType( whichUnit, UNIT_TYPE_HERO ) then
return ReviveHero( whichUnit, GetUnitX( whichUnit ), GetUnitY( whichUnit ), false )
elseif ( reviverUnit != null ) then
call SetUnitX( reviverUnit, GetUnitX( whichUnit ) )
call SetUnitY( reviverUnit, GetUnitY( whichUnit ) )
return IssueImmediateOrderById( reviverUnit, 852094 )
else
set reviverUnit = CreateUnit( Player( PLAYER_NEUTRAL_PASSIVE ), DUMMY_UNIT_ID, GetUnitX( whichUnit ), GetUnitY( whichUnit ), 0.0 )
call UnitAddAbility( reviverUnit, 'Aloc' )
call SetUnitInvulnerable( reviverUnit, true )
call UnitAddAbility( reviverUnit, 'A016' ) // Воскрешение Паладина.
call SetUnitPathing( reviverUnit, false )
return IssueImmediateOrderById( reviverUnit, 852094 )
endif
return false
endfunction
Иначе:
Я бы не рекомендавал использовать Replace Unit, но если Вы этого так хотите, то замените "GetEnumUnit( )" на "bj_lastReplacedUnit" при создании эффекта. И перенесите это ниже функции Replace Unit.
P. S:
А еще эффекты можно удалять сразу же после их создания. В Вашем случае это будет выглядеть как:
сall DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\Human\\Resurrect\\ResurrectTarget.mdl", bj_lastReplacedUnit, "origin" ) )
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Clamp
Кроме того, спелу можно указать дальность воздействия 1.0 и создавать/передвигать даммика чётко в координаты воскрешаемого юнита.
собственно, так в целом и стоит делать
еще раз про замену - это ПОЛНОЕ УДАЛЕНИЕ старого юнита и СОЗДАНИЕ НОВОГО на месте прежнего
все
старый теряется, совсем, абсолютно и навсегда, а также все связанные с ним данные и висящие на нем кастом велью и прочее
Отредактирован scopterectus
Отредактирован scopterectus
ScopteRectuS, Попробую с этим что-то сделать