Здравствуйте, помогите создать триггер, в котором каждые n секунды будут создаваться в большой области глыбы (декорации), у них будет увеличиваться высота и их будет двигать в центр области (как черная дыра) по этим глыбам можно ходить, но спуститься нельзя (то есть текстура пути будет типо как у моста). И вот вся суть этого в том, что если просто двигать всех юнитов в центр, то юниты соответственно будут как в стане и не смогут использовать скилы и двигаться, а так можно будет взаимодействовать (чтобы скилами разрушить черную дыру) при этом чувствовать притяжение. Я бы реализовал такое если бы в варкрафте можно было двигать декорации, может можно как-то сделать из юнитов такие глыбы, по которым можно ходить, или есть еще какие идеи?

Все, финальный вариант, починил высоту и сделал много камней, только спускаться пока можно
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
22
Попробовал сделать через динамическое создание/удаление декорации, но декорации с текстурой пути создаются строго по сетке, и движение выходит скачками
Загруженные файлы
22
если просто двигать всех юнитов в центр, то юниты соответственно будут как в стане и не смогут использовать скилы и двигаться
Для этого используй SetUnitX,SetUnitY. Данные функции не "станят" юнитов, а просто перемещают юнита по указанным координатам.
10
biridius:
Попробовал сделать через динамическое создание/удаление декорации, но декорации с текстурой пути создаются строго по сетке, и движение выходит скачками
Вооо, вот это уже то что надо, жаль я так понял что декорации нельзя как юнитов на 1 миллиметр перемещать, а только на большие клетки редактора и из-за этого кажется, что они телепортируются, если другие варианты не получатся сделают этот. Осталось только придумать как сделать так, чтобы юнит не двигался относительно декорации, на которой он стоит.
Bornikkeny:
если просто двигать всех юнитов в центр, то юниты соответственно будут как в стане и не смогут использовать скилы и двигаться
Для этого используй SetUnitX,SetUnitY. Данные функции не "станят" юнитов, а просто перемещают юнита по указанным координатам.
Даже если перемещать каждые 0.05 секунды?
20
Lotus101, уберешь карту пути - можно будет перемещать как тебе хочется. Однако, в этом случае, реализовывать всю коллизию придется триггерно.
Lotus101:
Даже если перемещать каждые 0.05 секунды?
Дело в функции перемещения SetUnitPosition(). Она чекает коллизию и сбивает приказ юниту(считай - отдает приказ "Stop").
22
Все, финальный вариант, починил высоту и сделал много камней, только спускаться пока можно
Загруженные файлы
Принятый ответ
10
biridius:
Все, финальный вариант, починил высоту и сделал много камней, только спускаться пока можно
Спасибо большое, теперь то что нужно. Можешь только пожалуйста утечку убрать, я выяснил что set udg_total_rocks = GetForLoopIndexB() ее создает, но не знаю как исправить чтобы все работало.
28
я выяснил что set udg_total_rocks = GetForLoopIndexB() ее создает
там нету утечки
10
biridius:
nvc123:
я выяснил что set udg_total_rocks = GetForLoopIndexB() ее создает
там нету утечки
Да, уже нашел что вызывало, создание группы юнитов в области не через call GroupEnumUnitsInRect, теперь безутечно, только 10-50 утечек из-за кол-ва юнитов в группе, но я думаю и так нормально и лучше некуда.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.