function movemissle takes unit u,real xt,real yt,player p,integer missle returns nothing local timer t=CreateTimer() local integer id=GetHandleId(t) local real xu=GetWidgetX(u) local real yu=GetWidgetY(u) local real zu=GetlocZ(xu,yu) local real zt=GetlocZ(xt,yt) local real angle=Atan2(yt-yu,xt-xu) local real xd=xu+45.*Cos(angle) local real yd=yu+45.*Sin(angle) local real zd=((zu-GetlocZ(xd,yd))+50.)+GetlocZ(xd,yd) local real dist=SquareRoot(((xt-xd)*(xt-xd))+((yt-yd)*(yt-yd))+((zt-zd)*(zt-zd))) local unit d=CreateUnit(p,missle,xd,yd,bj_RADTODEG*angle) call BJDebugMsg("поехали") call SetUnitFlyHeight(d,zd-GetlocZ(xd,yd),.0) call SaveReal(Hash,id,1,xu-(xu+50.*Cos(angle))) call SaveReal(Hash,id,2,yu-(yu+50.*Sin(angle))) call SaveReal(Hash,id,3,(zd-zt)/(dist/50.)) call SaveUnitHandle(Hash,id,4,d) call UnitAddAbility(d,'A000') call SetUnitAbilityLevel(d,'A000',GetUnitAbilityLevel(u,'A000')) call TimerStart(t,.05,true,function movemissletimer) set d=null set u=null endfunction
Дело в том что юнит не создаеться. BJDebugmsg тоже не работает. Думаю проблема где то в локалах JNGP ничео не выдал=\
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
Я хочу вот это: Codecall KillUnit(d) call FlushChildHashtable(Hash,id) call PauseTimer(t) call DestroyTimer(t) call DestroyEffect(AddSpecialEffectLoc("Abilities\\Weapons\\GlaiveMissile\\GlaiveMissileTarget.mdl",Location(GetWidgetX(d),GetWidgetY(d)))) Помечтить в отдельную ф-ию. Но в ф-ия где эта ф-ия будет использоваться нету таймера =\
Добавлено (05-06-2011, 21:46) --------------------------------------------- тему клоз. Рахобрался. все работает всем спс
^ кликабельно Archers Of The Island v1.8 - на стадии завершения