Принятый ответ
Клифф это высота рельефа, т.е. уклона, она будет меняться каждый раз когда юнит поднимается или спускается двигаясь по карте в зависимости от рельефа, при этом даже не важно летающий ли он или плавающий, всё одно. Максимум что из этого можно выжать - сравнивать высоту клиффов между двумя юнитами (или юнитом и точкой), что бы определить кто стоит выше/ниже, для реализации чего-то вроде стандартных промахов или подобного.
У юнитов так же есть высота полёта - это такой параметр, который равен текущему расстоянию от поверхности земли под ногами юнита и до высоты, на которую поднята его модель. Она имеется у всех юнитов, но отлична от нуля лишь у тех, которые в стандарте имеют летающий или парящий тип движения. Например, когда Друид-ворон трансформируется его высота так же плавно меняется, ибо в облике эльфа высота нулевая, а в облике птицы - ... ну где-то 200-300 наверно, не знаю точно. Эту высоту можно регулировать триггерно, но работает только с теми юнитам, которые имеют указанные выше типы движения (или хотя бы могут превратиться в того, кто таким владеет, в чём собственно и заключается метод поднятия в воздух изначально НЕ летающих юнитов, например под действием триггерных скиллов).
Так же в игре имеется еще одна высота - высота точки на рельефе. Она равняется значению абсолютной высоты конкретной точки на рельефе относительно общего нуля. Её можно получить функцией GetLocationZ(point), где point - конкретная точка.
Для получения и сравнения абсолютных высот юнитов можно использовать высоту точки на рельефе + высоту полёта юнита. В первую очередь это применимо для создания эффекта молнии, высота которого регулируется (по XYZ, вместо XY), а не определяется автоматически высотой рельефа (при XY).
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Какой юнит то? Допустим все юниты.
Таймером каждые 5 секунд перебирать всех юнитов на карте и если они находятся на определенной высоте, ставить им хп на минус 30% от текущего.
Просто у меня вот в редакторе есть такое же условие но не на локацию а на координаты XY, а у тебя скорее всего нет, значит нужно ставить локацию в переменную, использовать её и потом разрушать.
Если хочешь страдать/костылить, то лучше сразу на хайве спрашивать, там в этом очень хорошо разбираются потому что тоже используют редактор рефоржа, даже готовое решение подгонят а не на словах объяснят.
Ну а если по умному делать, то или Jass или хотя бы кастомный гуи использовать.
Нет желания? Тогда молчи.
Речь в этот момент шла о переборе всех юнитов т.к автор не указал что нужно проверить только героев, если мы говорим о героях, то можно проходится чисто по массиву с героями, но когда речь идет о различных проверках типа "живые юниты/юниты игрока" ты в любом случае вынужден перебирать всех юнитов в радиусе/области и потом уже отсекать их через условия.
Я конечно согласен что лучше бы заниматься полезными вещами а не позерством, но тебе не кажется что с твоей стороны это прозвучало слишком уж лицемерно? Я же не первый год тут в readonly сижу, поэтому знаю что подобное высказывание это не более чем издевательство. Давай может быть вместе посмотрим комментарии, например, от nazarpunk? или многие другие где гуишникам предлагается учить jass, который оказывается такой легкий и простой что аж большинство людей до сих пор используют гуи и русские триггеры, а если кто-то не хочет то над ним просто смеются, т.к гуи = позор.
Просто как-то странно читать подобные слова, почему если тут никто не следовал этим очевидным истинам, ты решил сказать об этом именно мне? Почему ты решил именно меня заткнуть, а не тех кто этого действительно заслуживал?
Люди всегда стараются выбирать лучшие варианты, это норма, нет смысла разводить руками и говорить "а как это, а может вы не будете уходить, у нас же есть своё, зачем вам чужое?" тут либо пытаешься выиграть конкуренцию либо нет, нет - значит это никому не надо, всё нормально.
Одно дело когда не знаешь о других вариантах, а другое когда знаешь, я вот тоже когда-то сидел на jngp и на eurobattle/iccup, потому что не знал лучших аналогов, а теперь просто выбираю лучшее для себя.
Ред. Extremator
Если так много свободного времени что готов тратить его на жалкие попытки унизить кого-то в интернете, лучше бы делом занялся, а то так и проживешь никому не нужным злобным затворником.
Раз ты боишься и увиливаешь от вопроса, давай я отвечу за тебя: Потому что ты испугался затыкать тех кто этого действительно заслуживал, на своих огрызаться не гоже, за это ведь и последствия могут быть.
Тот неловкий момент когда очень сильно хотел кого-то унизить но даже не знаешь как обращаться с языком на котором пишешь, как же много веса в твоих "славах".
Я тебе советую прекратить уже этот балаган пока еще больше не опозорился, ты уже должен был понять что ловить тебе здесь нечего. Молод ты еще, чтобы со мной конфликтовать, оставь свой подростковый максимализм, не нужна тебе такая машина, брат ©.
Ред. Extremator
Но вот то что ты даже не смог догадаться что "славах" это был сарказм основанный на твоей нелепой безграмотности, это конечно кринж века. Как ты вообще додумался с такими заурядными умственными способностями до кого-либо докапываться? Хотя очевидно что именно поэтому ты и пришел к этой "великолепной" идее.
Так дерзко говорил что нужно заниматься развитием юзеров, но что ты первым сделал когда сюда пришел? Решил докопаться до новичка и разыграть героя. А потом еще так упорно и нелепо пытался отбрехаться всеми правдами и неправдами, дескать прав он был, а я оказывается сопли размазываю на весь экран. А я то думал что размазывание соплей это когда ты на кого-то беспочвенно наехал, не вывез и потом начал съезжать всеми силами, заместо того чтобы признать свою неправоту и извиниться.
Ну да ладно, не мне все таки жить с такой головой, да и спорить с тем чьи слова не имеют веса - бессмысленно, тот кто себя не уважает, других тоже уважать не будет, не умеет. Для себя я понял что здесь сидеть - только время тратить. Хорошо развиваешь юзеров, просто минус 1 на ровном месте. Надеюсь это не будут удалять чтобы осталось напоминание как тебя рандом на лопатки уложил.
Ред. Extremator