Этот код не работает.
Нужна функция, где я буду указывать Х,У,Радиус - и в этом АОЕ ломаются деревья.
(Для всяких способностей со взрывами итд.)
Что я делаю не так?

Написал общую функцию EnumDestructablesInRange.
раскрыть
globals
    real TrasmittedX
    real TrasmittedY
    real TrasmittedRange
endglobals

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 FilterFunc takes nothing returns boolean
    return TrasmittedRange >= GetDistancePoints(TrasmittedX, TrasmittedY,/*
        */ GetDestructableX(GetFilterDestructable()), GetDestructableY(GetFilterDestructable()))
endfunction

function EnumDestructablesInRange takes real x, real y, real range, code callback returns nothing
    set TrasmittedX = x
    set TrasmittedY = y
    set TrasmittedRange = range
    call EnumDestructablesInRect(GetWorldBounds(), Filter(function FilterFunc), callback)
endfunction

function KillDestructiblesInRangeCallback takes nothing returns boolean
    call KillDestructable(GetEnumDestructable())
endfunction

function KillDestructiblesInRange takes real x, real y, real range returns boolean
    call EnumDestructablesInRange(x, y, range, function KillDestructiblesInRangeCallback)
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
29
Я конечно дурачок, но что мешает отслеживать удалённость от центра проверки?
Зачем тебе квадратная область, когда можно взять круглую?
19
PrincePhoenix:
Я конечно дурачок, но что мешает отслеживать удалённость от центра проверки?
Зачем тебе квадратная область, когда можно взять круглую?
Это вроде круглая. Если я чего то не понимаю, напиши пожалуйста норм функцию
16
мб твой фильтр кривой, поставь туда null , если тебе всё равно, что ломать, или свой фильтр напиши
19
DracoL1ch:
мб твой фильтр кривой, поставь туда null , если тебе всё равно, что ломать, или свой фильтр напиши
Верно, дело в фильтре. Алсо, рект квадратный(странно, я вроде просто БЖ раскрыл)
Как круглый сделать?
29
У тебя 4 координаты, это не может быть кругом
19
PrincePhoenix:
У тебя 4 координаты, это не может быть кругом
Ты полностью прав.
>Как круглый сделать?
29
Darknessay, радиус отслеживается в Варкрафте DistanceBetweenPoints, формула выше его внутренний код
SQRT((x1-x2)^2+(y1-y2)^2)
19
PrincePhoenix:
Darknessay, радиус отслеживается в Варкрафте DistanceBetweenPoints, формула выше его внутренний код
SQRT((x1-x2)^2+(y1-y2)^2)
Я знаю про рут, но как сам декор выбирать ?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.