Добавлен
Как определить, может ли пройти юнит в определённую точку на карте или к другому юниту?

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
19
7 лет назад
0
Похожие вопросы:

ответ
Увы, такого сделать нельзя. Чтобы осуществлять подмену, используй улучшение "Темный".
ответ
Sergey103, для этого выбери один блокиратор, потом нажми на "Правка" и нажми "Выбрать все особые", потом просто удали их.
ответ
Здесь не делают заказы. Насколько помню есть специальные темы для заказов. Но совершенно случайно у меня оказалась пара свободных минут
Импортировать TerrainArt\Ruins\*.blp
ответ
Steal nerves:
Все разобрался, я с обычной декорации сильно протупил, невнимательность.
Еще нашел другой способ, см. карту
ответ
Steal nerves:
Вот. Есть текст про описание движения как я понял (вот в чем разница между конным и пешим пока тоже не понял, интересует вот, что дает конный)
Эти паффинги, и типы движения взаимосвязаны. У некоторых есть баги, которыми можно воспользоваться. Например, чтобы летающие юниты игнорили ландшафт и летели прямо (вот на клифах может быть криво). На форуме дофига такого. Также можно сделать нелетающих летающими, дать сфинкс или превратиться в ворона (тоже баг) Ну и так далее
Как запретить перемещаться:
  1. Блокираторы пути. Есть баги короче xgm.guru/p/wc3/181384
  2. см. карту SetPathingRect (скачал с хайва)

2
27
7 лет назад
Отредактирован MpW
2
через приказ можно проверить. нативки приказа возвращают boolean. Если туда можно пройти, то вернут истину true, если нельзя то ложь false. Создай dummy и проверь, попробуй отдать приказ.
0
9
7 лет назад
Отредактирован Vampir_kolik
0
Steal nerves, спасибо.
0
27
7 лет назад
Отредактирован MpW
0
Vampir_kolik, упс. ошибся. не совсем верное решение. Там короче если отдать приказ он все равно побежит туда (то есть почти в большинстве случаев (99%) это будет истина), и бежит пока не упрется в преграду. Тогда он останавливается и все.
0
9
7 лет назад
0
Я тоже это только что проверил. Нет, надо искать другой выход. Из этой ситуации.
0
27
7 лет назад
Отредактирован MpW
0
темы похожие нашел
везде советуют рассчитать путь. кажется нереальным это сделать. это в высшем программировании
раскрыть
native IsTerrainPathable takes real x, real y, pathingtype t returns boolean
кстати когда то делал нечто похожее через нативку выше, делал своих ботов ИИ, рассчитывал пути строительства. Вокруг ратуши рассчитывал как и что строить, вроде прикольно получилось, но с ИИ дальше дело не пошло, вышло очень громозким (нужно было бд писать, какой радиус/площадь у каждой стройки и зазор между зданиями (и радиус зачастую не верно определял, поэтому не ставил постройку раб), и в какой последовательности строить), а также долго искало место для постройки, и даже зацикливалось с вылетом игры =((
а вот искать маршрут, я не понимать как составлять алгоритм поиска к ближайшей точке
1
12
7 лет назад
1
Есть функция на ГУИ для определения проходимости точки
0
18
7 лет назад
Отредактирован Maniac_91
0
Astra, не думаю, что это поможет. Да, можно рассчитать все точки. но это долго. А если по прямой не получится - то искать обходные пути, что займёт ещё кучу времени и тонны расчётов.
Мой вариант - сверхскоростной невидимый дамми-юнит, который пробегает весь необходимый путь и по таймеру выдаёт свои координаты (добежал или нет).
Где-то на сайте была наработка на увеличение максимальной скорости.
Вроде бы, здесь.
2
16
7 лет назад
Отредактирован Raised
2
если просто - то даммик, который будет бежать от начала до конца со скоростью 522, но время прибытия вообще неизвестно, так что это долгий процесс + даммику нужна полноценная модель столкновений
остальное - делается либо никак, либо не из джасса. проверять даже карту 64х64 в худшем случае на проходимость по квадратам? игра просто зависнет
Принятый ответ
0
9
7 лет назад
Отредактирован Vampir_kolik
0
Есть у меня одна идейка, как можно реализовать поиск путей между двумя точками. Нужно создать 4 переменных стоковых (String). Занести в первую переменную уже заранее подготовленную и записанную в текстовом виде карту путей. Карта путей будет иметь разрешение 128*128 (большие клетки на карте)*4(маленькие клетки в одной большой клетке) = 65 536 маленьких клеток на карте путей. 1 маленькая клетка 1 символ в стоке. Символ "1" или "0". Можно пройти в этой клетке или нет. 1 - можно, 0 - нет. 1 стока будет отвечать за рельеф на игровой карте. 2 стока будет отвечать за разрушаемые объекты деревья на игровой карте. 3 стока будет отвечать за расположения любых юнитов на игровой карте. 4 стока необходима для расчёта оптимального пути между клетками. С начало в 4 стоку заносятся все данные из первых 3 сток. А потом уже идёт аналитический процесс для определения оптимального пути между клетками на карте путей, по тем или иным условиями. Например наш юнит занимает на карте путей 2*2 маленькие клетки. И нужно будет определить оптимальный путь на карте путей именно для этого юнита, у которого такой размер на карте путей. Это мы будем делать следующим образом. Проверять сразу 2 соседнии клетки с любой стороны, а именно сверху, снизу, слева и справа. И условие будет такое, если хоть одна маленькая клетка свободная, то меняем числовое значение удаленности от первой точки на карте в переменной, а если 2 клетки заняты, то не меняем никакие числовые значения в переменной. А если мы не доберемся до этой клетки на карте и все остальные клетки на карте уже заняты, то пройти в эту точку нельзя.
Да, кстати, забыл добавить, что придётся создавать массив из 65 536 числовых элементов. Это можно реализовать следующим образом. Создать несколько однотипных массивов по 8192 числовых элементов. Данный огромный массив будет состоять из 8 таких массивов. В который мы с помощью отдельных функций и будем записывать и забирать наши числовые значения. А именно числовые значения удалённости от первой точки на карте. До следующей точки на карте.
2
16
7 лет назад
2
строка не может быть длиннее 1023, или 4095, если использовать сложение. не говоря уже о тормознутости варкрафта в работе со строками. на скриптовом языке типа жасса дорогу прощупать невозможно, это "забей"
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.