Есть способ для каждого юнита в группе получить координаты по X и Y, и потом взять минимум X и Y?

Функции дистанции
function GetDistancePoints takes real x1, real y1, real x2, real y2 returns real
return SquareRoot((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
endfunction
function GetDistanceUnitPoint takes unit u, real x, real y returns real
local real dx = GetUnitX(u) - x
local real dy = GetUnitY(u) - y
return SquareRoot(dx * dx + dy * dy)
endfunction
function GetDistanceUnits takes unit u1, unit u2 returns real
local real dx = GetUnitX(u1) - GetUnitX(u2)
local real dy = GetUnitY(u1) - GetUnitY(u2)
return SquareRoot(dx * dx + dy * dy)
endfunction
Узнать ближайшего юнита к (x, y)
globals
    real X
    real Y
    unit ClosestUnit
    real Distance
endglobals

function FindClosestToXYCallback takes nothing returns nothing
    local real d = GetDistanceUnitPoint(GetEnumUnit(), X, Y)
    if d <= Distance then
        set Distance = d
        set ClosestUnit = GetEnumUnit()
    endif
endfunction

function FindClosestToXY takes group g, real x, real y returns unit
    set X = x
    set Y = y
    set ClosestUnit = null
    set Distance = 999999.
    call ForGroup(g, function FindClosestToXYCallback)
    return ClosestUnit
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
22
можно, а в чем сложность? сделать две глобалки для X и Y, через перебор группы сравнивать координаты
11
biridius:
можно, а в чем сложность? сделать две глобалки для X и Y, через перебор группы сравнивать координаты
Не понимаю, как обратиться к каждому юниту в группе. Какая команда
22
call ForGroup(yourgroup, function yourfunction)
а там к самому юниту - GetEnumUnit()
22
в ГУИ картинках есть категория Отряд, там есть "Pick every unit in ..."
а на джассе ForGroup(g, function f) перебирает отряд g и запускает для каждого юнита по очереди функцию f
11
biridius:
в ГУИ картинках есть категория Отряд, там есть "Pick every unit in ..."
Эта команда означает, что последующий код будет относиться к каждому юниту по отдельности? А не к отряду, так что ли?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.