Добавлен
Как сделать разную скорость передвижения юнита в воде и на суше ? Реально такое запилить ? Мне нужно чтобы юнит двигался быстро по воде и медленно по суше.

Можешь просто поставить области в нужных местах и при входе замедлять скорость, а при выходе возвращать к исходной
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
похоже что придется делать обычный блокиратор путей, а для посадки можно просто повысить радиус действия данной способности, чтобы она была дальше самого тонкого блокиратора пути. Теоретически должно сработать
ответ
напиши мне
Тебе описали несколько алгоритмов решения возникшей задачи и средства, с помощью которых они могут быть реализованы; реализация решения остаётся за тобой как за тем, у кого эта задача возникла.
Ты также можешь отказаться от решения задачи, но не имеешь никакого морального права требовать реализовать это решение за тебя.

Как вариант - покрасить всю глубокую воду определённым тайлом и отлавливать именно его.
Если по-умолчанию карта была создана с глубокой водой, то вот.
native GetTerrainCliffLevel takes real x, real y returns integer
Подсказка:
PATHING_TYPE_AMPHIBIOUSPATHING
PATHING_TYPE_WALKABILITY

native IsTerrainPathable takes real x, real y, pathingtype t returns boolean
Берёшь координаты, или точку (одно и другого получить можно, в обе стороны)
Проверяешь подходит ли точка для плавания
Если да - то это либо мелководье, либо глубоководье
Проверяешь подходит ли точка для ходьбы
Если нет - это глубоководье, если да - это мелководье
Далее ты можешь ещё проверить уровень склона (клифф) в точке, но проверки на проходимость и так должно быть достаточно... проверкой уровня ты лишь получишь то на какой высоте эта вода... (а она может быть на разных высотах).
ответ
Можно ли менять уровень рельефа (аналог действия +/- 1-2 в Редакторе Рельефа) триггерами или джасс?
И аналогичный вопрос про воду. Можно?
Нельзя менять ни уровни склонов, ни уровень воды. Можно только уровень земли менять. (Типа как просто «повысить/понизить» в редакторе.)
ответ
Почему то на таймере всё забагалось и прилетало по несколько ивентов, сделал на периодическом триггере и всё стало нормально.
Код
globals
    region region123
    trigger trg = CreateTrigger()
    real maxX
    real minX
    real maxY
    real minY
    real pointX
    real pointY
endglobals

function Run takes nothing returns nothing
    if pointY < minY then
        call TriggerRegisterEnterRegion( gg_trg_enter, region123, null )
        call TriggerRegisterLeaveRegion( gg_trg_leave, region123, null )
        call DisableTrigger( trg )
    endif
    if pointX > maxX then
        set pointY = pointY-32.00
        set pointX = minX
    endif
    if IsTerrainPathable(pointX, pointY, PATHING_TYPE_FLOATABILITY) == false then
        call RegionAddCell( region123, pointX, pointY )
    endif
    set pointX = pointX+32.00
endfunction

function Trig_trg_Actions takes nothing returns nothing
    set region123 = CreateRegion()
    set maxX = GetRectMaxX(bj_mapInitialPlayableArea)
    set minX = GetRectMinX(bj_mapInitialPlayableArea)
    set maxY = GetRectMaxY(bj_mapInitialPlayableArea)
    set minY = GetRectMinY(bj_mapInitialPlayableArea)
    set pointX = minX
    set pointY = maxY
    
    call TriggerRegisterTimerEvent( trg, 0., true )
    call TriggerAddCondition( trg, Condition(function Run) )
endfunction

//===========================================================================

function InitTrig_trg takes nothing returns nothing
    call Trig_trg_Actions()
endfunction
Вот карта с примером (карту сохранить не сможешь, т.к тебе нужен будет JNGP, это просто чтобы ты посмотрел сам алгоритм)
И учти что чем больше карта, тем больше времени нужно алгоритму что построить регион

29
Как сделать разную скорость передвижения юнита в воде и на суше ? Реально такое запилить ? Мне нужно чтобы юнит двигался быстро по воде и медленно по суше.
Такое можно запилить с помощью манипуляции с пассикой, или аурой от даммика. А ещё можно тригерно меня скорость. Можно определять с помощью регионов, или с помощь проверки — стоит ли юнит на воде или суше, но тут нужен Jass.
17
Можешь просто поставить области в нужных местах и при входе замедлять скорость, а при выходе возвращать к исходной
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.