По просьбе Reynor и Event1 распишу более подробно, как я вижу реализацию данной задачи.
К сожалению, выше предложенный плагин (PFC) оказался на практике не совсем то что нужно. Возможно, в последующих обновлениях автор и довел до ума (сделал поддержку перемещения событий по координатам), но в старой версии (1.05) присутствует только управление членами группы игрока.
Как альтернативный вариант был взят условно-бесплатный плагин от GALV «
MV Move Route Extras».
Из плюсов:
- он действительно позволяет задать движение ивента(события) к произвольным координатам;
- позволяет задать движение к другому ивенту, указав ID того;
- можно задать область с помощью региона, где ивенту будет разрешено свободное перемещение;
Из минусов:
- очень примитивный алгоритм нахождения кратчайшего пути (если он вообще есть) в результате чего ивент просто упрётся в препятствие и будет тупить;
- для того что бы ивент не попал в такую ловушку, приходится включать режим прохождения, и все начинают ходить через стены напрямки, выглядит по идиотски;
- команду «иди к координатам» нужно вызывать в каждый раз и каждый раз ивент делает только 1 шаг в направлении заданной точки;
Вывод, реализовать задумку автора можно, но выглядеть это будет всё не очень!
Что делать? Писать свой плагин без «детских» болезней (сейчас времени 0, в будущем, возможно я возьмусь написать что-то своё)
p.s. Возможно уже существует супер-пупер плагин с точным построением маршрута и я прост его не знаю
Теперь по поводу как всё это реализовать. В архиве небольшой проект, есть три NPC один стоит на месте, два гуляют по заданному региону. Есть два рубильника, один включает режим «утро»(слева) второй режим «вечер»(справа). При активации рубильника, включается переключатель, и у NPC начинается в цикле вызывается команда «иди к координатам». Если рубильник принудительно выключить, то NPC встанут колом не дойдя до места назначение. Так же в рубильниках стоит таймер ожидания, после чего они выключаются (время подобрано примерно, что бы NPC успели доползти до точки)
Подробно описывать проект не стану, приведу лишь пару описаний.
Как настроить NPC:
Изначально создаём у события три вкладки. Первая вкладка без условий (обычный режим), вторая вкладка активируется при включенном переключателе «Вечер» и режим запуска «Параллельно». Третья вкладка всё тоже самое только для переключателя «Утро». На второй и третьей вкладке так же делаем режим «прохождения через стены» что бы NPC не застрял:
Теперь добавляем саму команду движение события (NPC) — «Set Movement Route…» (я специально вставляю скриншоты, не знаю как там будет в русской версии, но визуально догадаться можно где это)
Указываем, что двигать будем именно «это событие», а не игрока (как по умолчанию). Затем жмём кнопку добавить скрипт и пишем команду:
14,9 это координаты X,Y на карте, куда будет «ломится» наш NPC. Так же можно указать одну цифру и тогда это будет считаться как номер события, куда надо двигаться. (можно даже сделать вариант, когда два NPC бегут навстречу друг дружке, или один убегает от другого применений масса)
Как уже было сказано выше, к сожалению, вызывать this.step_toward нужно постоянно
в противном случае NPC сделает один шаг и будет стоять. Поэтому переключатель «Утро(Вечер)» должен быть активен на всё время следования.
После того как все NPC прибыли в нужные нам координаты, переключатель можно де активировать. У меня это сделано тупо через определённое время, но можно зацепится за какой-нибудь счётчик или переменную.
И ещё один момент, в задачу это не входило, но для теста понадобилось. С помощью вышеописанного плагина, можно задать регион где будет бродить NPC. При активации условия, он с любого места движется к данным координатам.
Для того, что бы сделать такого «бродячего» NPC. Нужно переключится в режим задания регионов и задать область:
А в настройках самого NPC (события) выставить режим движения «Custom», нажать «Route» и по аналогии, задать движение, нажав опять «Script». Только команда уже будет другая:
Где 1 - это номер региона по которому можно «тусоваться» нашему NPC
Так же важно задать чекбокс «Repeat movements».
Ну как бы и всё, если будут какие-либо вопросы пишите.
Ссылка на готовый архив с проектом (~58.7Mb)
p.p.s. Если у Анн будет желание, пост можно выдрать в отдельный урок для академии.