Добавлен koreec49
function ReturnToMammy takes unit ua, unit ub returns nothing
local location loca = GetUnitLoc( ua )
local location locb = GetUnitLoc( ub )
local unit unitb = ub
local real r
set r = DistanceBetweenPoints( loca, locb )
if ( r >= 1000 ) then
call IssuePointOrderLocBJ( unitb, "move", loca )
//else
//call KillUnit( unitb )
endif
call RemoveLocation( loca )
call RemoveLocation( locb )
set loca = null
set locb = null
set unitb = null
endfunction
Если расстояние между "мамой" и юнитом больше 1000, юнит должен идти обратно к "маме". Только вот юниты сваливают на другой конец карты и не думают возвращаться.
Функция вызывается другим триггером. Если убрать "//", юниты исправно мрут находясь возле "мамы".
Принятый ответ
bj убери для начала
[code]
function ret takes unit m,unit u returns nothing
local location lm=GetUnitLoc(m)
local location lu=GetUnitLoc(u)
local real dx=GetLocationX(lm) - GetLocationX(lu)
local real dy=GetLocationY(lm) - GetLocationY(lu)
local real r=SquareRoot(dx*dx+dy*dy)
if r>=1000 then
call IssuePointOrderLoc( u, "move", lm )
endif
call RemoveLocation(lm)
call RemoveLocation(lu)
endfunction
local location lm=GetUnitLoc(m)
local location lu=GetUnitLoc(u)
local real dx=GetLocationX(lm) - GetLocationX(lu)
local real dy=GetLocationY(lm) - GetLocationY(lu)
local real r=SquareRoot(dx*dx+dy*dy)
if r>=1000 then
call IssuePointOrderLoc( u, "move", lm )
endif
call RemoveLocation(lm)
call RemoveLocation(lu)
endfunction
[/code]
m-мама
u-юнит
u-юнит
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Sergant1000
local location lm=GetUnitLoc(m)
local location lu=GetUnitLoc(u)
local real dx=GetLocationX(lm) - GetLocationX(lu)
local real dy=GetLocationY(lm) - GetLocationY(lu)
local real r=SquareRoot(dx*dx+dy*dy)
if r>=1000 then
call IssuePointOrderLoc( u, "move", lm )
endif
call RemoveLocation(lm)
call RemoveLocation(lu)
endfunction
u-юнит
Отредактирован koreec49
вызов функции через кастом скрипт
call ReturnToMammy( gg_unit_Ucrl_0005, GetEnumUnit() )
то есть я сначала пикаю юнитов
Извиняюсь за тревогу, перезапустил редактор - все нормально