Какое условие нужно задать чтобы отловить уровень воды? Можно гуи можно custom script

Принятый ответ

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

Как вариант - покрасить всю глубокую воду определённым тайлом и отлавливать именно его.
Если по-умолчанию карта была создана с глубокой водой, то вот.
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
Берёшь координаты, или точку (одно и другого получить можно, в обе стороны)
Проверяешь подходит ли точка для плавания
Если да - то это либо мелководье, либо глубоководье
Проверяешь подходит ли точка для ходьбы
Если нет - это глубоководье, если да - это мелководье
Далее ты можешь ещё проверить уровень склона (клифф) в точке, но проверки на проходимость и так должно быть достаточно... проверкой уровня ты лишь получишь то на какой высоте эта вода... (а она может быть на разных высотах).
0
26
7 лет назад
0
уровень клифа, подходящего для плавания, но не подходящего для ходьбы, что ли?
0
33
7 лет назад
0
2
30
7 лет назад
2
Как вариант - покрасить всю глубокую воду определённым тайлом и отлавливать именно его.
0
33
7 лет назад
0
Clamp, ну этот вариант я знаю. Хотелось бы чисто программное решение.
0
26
7 лет назад
0
Я кажется дал ответ . . . не?
0
33
7 лет назад
0
Extremator, как это будет программно выглядеть. Напиши.
0
20
7 лет назад
0
а чекать проходимость не?
0
33
7 лет назад
0
ssbbssc, ну дак для корабля её чекать можно?
Есть идеи, народ?
0
32
7 лет назад
0
GetLocationZ() не? Определить высоту над точкой, Ну то что точка пригодна для плаванья думаю вы знаете как проверить.
0
30
7 лет назад
0
GetLocationZ()
И как тебе высота точки покажет наличие воды?
0
32
7 лет назад
0
Clamp, точка всегда всегда на уровни поверхности воды, если место пригодно для плаванья...
0
33
7 лет назад
0
quq_CCCP, ну так и мелкая вода когда то на уровне поверхности воды.
0
30
7 лет назад
0
Если по-умолчанию карта была создана с водой, то вот.
native GetTerrainCliffLevel takes real x, real y returns integer
0
33
7 лет назад
Отредактирован PUVer
0
А если она с мелкой водой была создана, а глубокую сделали на уровень понизили? И желательно не для координат а для точки.
0
30
7 лет назад
0
Последняя подсказка, после этого начну предлагать решения, на реализацию которых тебя гарантированно не хватит.
PATHING_TYPE_AMPHIBIOUSPATHING
PATHING_TYPE_WALKABILITY

native IsTerrainPathable takes real x, real y, pathingtype t returns boolean
0
33
7 лет назад
0
Я не шарю в джасс. Как это кастом скриптом корректно записать в условии чтобы всё заработало? И желательно всё же точку конкретную а не по кординатам.
0
30
7 лет назад
0
Пара координат == точка.
0
33
7 лет назад
0
Clamp, ну это понятно. А как позицию юнита туда воткнуть? Например позиция кастующего юнита?
0
26
7 лет назад
Отредактирован Extremator
0
Берёшь координаты, или точку (одно и другого получить можно, в обе стороны)
Проверяешь подходит ли точка для плавания
Если да - то это либо мелководье, либо глубоководье
Проверяешь подходит ли точка для ходьбы
Если нет - это глубоководье, если да - это мелководье
Далее ты можешь ещё проверить уровень склона (клифф) в точке, но проверки на проходимость и так должно быть достаточно... проверкой уровня ты лишь получишь то на какой высоте эта вода... (а она может быть на разных высотах).
Что собственно я и написал с самого начала... но кто-то не догнал, прпиходится разжёвывать
0
33
7 лет назад
0
Extremator, напиши мне функцию чтобы юзать её в условии для кастующего юнита. Тогда я от вас от все отстану. Т.к. повторяю я не шарю в джассе.
4
30
7 лет назад
Отредактирован Clamp
4
напиши мне
Тебе описали несколько алгоритмов решения возникшей задачи и средства, с помощью которых они могут быть реализованы; реализация решения остаётся за тобой как за тем, у кого эта задача возникла.
Ты также можешь отказаться от решения задачи, но не имеешь никакого морального права требовать реализовать это решение за тебя.

Как вариант - покрасить всю глубокую воду определённым тайлом и отлавливать именно его.
Если по-умолчанию карта была создана с глубокой водой, то вот.
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
Берёшь координаты, или точку (одно и другого получить можно, в обе стороны)
Проверяешь подходит ли точка для плавания
Если да - то это либо мелководье, либо глубоководье
Проверяешь подходит ли точка для ходьбы
Если нет - это глубоководье, если да - это мелководье
Далее ты можешь ещё проверить уровень склона (клифф) в точке, но проверки на проходимость и так должно быть достаточно... проверкой уровня ты лишь получишь то на какой высоте эта вода... (а она может быть на разных высотах).
Принятый ответ
0
33
7 лет назад
0
Короче ответ вроде бы есть. Но мне нифига не понятно. В синтаксисе я не шарю. Не смогу записать корректно условие =/
0
30
7 лет назад
Отредактирован Clamp
0
0
33
7 лет назад
Отредактирован PUVer
0
native GetTerrainCliffLevel takes real (GetUnitX(trigger unit)), real (GetUnitY(trigger unit)) returns (-1)
Где ошибка?
Вот решение. Мне вконтакте подсказали. Учитесь!
Пометьте как лучший ответ. Просто и со вкусом.
4
30
7 лет назад
4
Учитесь!
Именно этим тебе и стоит хоть раз заняться.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.