Добавлен
void Teni(unit u){

int i=0
unit k=null

if(ivrata>3){




.guyteni[.stetchik]=CreateUnit(GetOwningPlayer(u),DumyGuy,GetUnitX(u),GetUnitY(u),GetUnitFacing(u))
SetUnitX(.guyteni[.stetchik],GetUnitX(u))
SetUnitY(.guyteni[.stetchik],GetUnitY(u))
SetUnitVertexColor(.guyteni[.stetchik],255,255,255,70)
SetUnitAnimationByIndex(.guyteni[.stetchik],amove)
SetUnitTimeScale(.guyteni[.stetchik], 5)
.stetchik++

effect ef = AddSpecialEffect("Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl",GetUnitX(u),GetUnitY(u))
DestroyEffect(ef)
}

i=0
k=null
}
не знаю что я делаю не так но перс косит с выбором местоположения(тень появляется на тот момент когда юнит уже переместился на данную точку по таймеру)

Принятый ответ

Выключай даммику пасинг и переноси в нужную точку.
local unit d
local real x=GetUnitX(u)
local real y=GetUnitY(u)
......
set d=CreateUnit(p,dummy,0,0,0)
call SetUnitPathing(d,false)
call SetUnitX(d,x)
call SetUnitY(d,y)
`
ОЖИДАНИЕ РЕКЛАМЫ...