Вот провел мелкий тест.
У героя,дистанция атаки 600.
вот код по которому определял расстояние
Code
local unit u=GetTriggerUnit()
local unit a=GetAttacker()
local real dx=GetWidgetX(a)-GetWidgetX(u)
local real dy=GetWidgetY(a)-GetWidgetY(u)
if SquareRoot(dx*dx+dy*dy)>=1. and IsUnitType(a,UNIT_TYPE_HERO) then
call BJDebugMsg(R2S(SquareRoot(dx*dx+dy*dy)))
endif
Герой и цель стояли неподвижно.
Каждый раз показовало ~ 648
почему так?