Editor - FX editor (Встроенный редактор эффектов)
Наименее изученный, победитель в номинации самый забагованный и неполноценный - редактор файлов эффектов.
Он позволяет просматривать, создавать и редактировать файлы эффектов.
Но основная его задача - крашить редактор.
Самым лучшим способом изучения работы эффектов - является самостоятельное изучение их структуры на примере тех эффектов,
что есть в вашей версии игры.
Я не описываю методику их создания, только привожу описание параметров и демонстрирую их работу и взаимодействие.
Многие параметры взаимосвязаны и влияют на работу многих других параметров.
Часть параметров и блоков редактора эффектов - устарела ещё до появления первой "В тылу врага";
Часть - устарела уже к выходу "В тылу врага 2".
Как и некоторые другие модули - изначально, редактор эффектов создавался за пределами движка игры.
В частности из-за этого, под капотом - редактор эффектов страшно забагован.
Он: Вылетает при любом чихе; Жульничает со введёнными диапазонами значений;
Может проглатывать значения некоторых параметров, что сделает некорректными новые вводимые параметры (что требует перезагрузки карты / миссии).
Но так или иначе - он один у нас такой красавец.
Итак:
Интерфейс:
1) Кнопка создание нового эффекта.
Закрывает открытый файл эффекта (если таковой открыт). И отчищает окно редактирования для создания нового эффекта.
Примечания:
1) По умолчанию - её нажимать не обязательно.
2) Если в редакторе эффектов есть не сохранённый новый или изменённый старый эффект, то будет задан вопрос о его сохранении:
2) Кнопка открытия эффекта.
Открывает окно выбора файла (ссылка удалена) в категории эффектов;
Сами файлы эффектов должны находиться вот здесь: resource\entity\fx\ (ССЫЛКА).
Примечание:
Если в редакторе эффектов есть не сохранённый новый или изменённый старый эффект, то будет задан вопрос о его сохранении:
3) Кнопка сохранения текущего эффекта.
Если эффект новый, то открывает окно сохранения файла.
(ССЫЛКА на выбор и сохранение файла);
4) Кнопка сохранения эффекта под новым именем.
(ССЫЛКА на выбор и сохранение файла);
5) Кнопка спавна эффекта с его текущими изменениями.
После включения окна, место спавна эффекта будет по центру экрана (на земле).
Если эффект будет удалён, то его повторный спавн будет на нулевых координатах карты.
Примечание:
На движках DMS - нельзя нажимать эту кнопку, если эффекта не существует в виде файла, т.к. это ведёт к вылету редактора.
6) Кнопка закрытия (ESC)
Закрывает редактор эффектов.
Примечание:
Если в редакторе эффектов есть не сохранённый новый или изменённый старый эффект, то будет задан вопрос о его сохранении:
7) Тело эффекта (блоки):
Эффект состоит из блоков нескольких основных типов: Sound, SpriteView, DecalView, LightView, ParticleView.
Все блоки действуют параллельно и в целом - независимо друг от друга.
Блоки SpriteView, DecalView, LightView, ParticleView - нужно именовать, чтобы избегать путаницы.
FX-файл может содержать внутренние блоки, выбираемые в меню по ПКМ:
1) SpriteView - Анимированные изображения на объектах;
2) DecalView - Статичные изображения на земле;
3) LightView - Источник света;
4) ParticleView - Генератор частиц;
5) Sound - Звук эффекта;
6) Damage - Урон, наносимый эффектом (сломано);
7) Storeable - Сохранение эффекта на карте;
8) TimeToLive - Время жизни эффекта (сломано);
9) Fire - Флаг огня.
У большинства блоков в структуре эффекта есть дополнительные кнопки в меню:
Читай общее управление редактором (Блок 10) (ссылка удалена).
Кнопки Up / Down - В данном случае помогают только эстетично расставлять последовательность блоков. И не более;
Кнопки Add / Add inside - Вообще не работают;
Кнопка Copy - работает ограниченно.
Примечание:
Если попытаться скопировать сам эффект - редактор вылетит.
Общие примечания:
1) Для перезагрузки сохранённых эффектов на карте - надо перезагружать саму карту.
2) Вообще, понятие о составлении эффектов можно трактовать довольно вольно.
По большому счёту - это просто стандартные файлы объявлений Def (ССЫЛКА), но выделенные в отдельную папку.
Точно так же - эффекты можно добавлять хоть объектам (ССЫЛКА), хоть юнитам (ССЫЛКА), хоть боеприпасам (ССЫЛКА).
И это не будет являться чем-то неправильным.
Так, допустим, реализованы спрайты под юнитами:
3) Точно так же могут существовать и эффекты, которые даже эффектами формально не является.
У них, допустим, просто через файл могут быть прописаны глобальный тег (свойство) (обращающейся к скрипту), и вызов файла костей;
А при спавне этого объекта - скрипт сам подспавнит доп. эффекты на такой эффект:
4) Разумеется, этот редактор был-бы слишком хорош, если бы в нём можно было бы прописать всё что нужно.
Но разработчики хранят традиции качества;
А по этому - часть файла эффекта вы можете сделать в самом редакторе, но некоторые нужные параметры вам может понадобится
приписывать через блокнот:
5) Иногда, можно наблюдать устаревшие параметры, которые либо более не поддерживаются движком, либо поддерживаются и даже являются востребованными, но которые уже нельзя добавить через редактор эффектов. - Снова гуляете в блокнот.
6) Сами по себе файлы эффектов поддерживают макросы (ССЫЛКА) и inc-файлы (ССЫЛКА), но не в самом реакторе эффектов.
7) Небольшой лайфхак:
Через редактор эффектов можно не только просматривать и редактировать эффекты, но и просматривать цепочку параметров,
воздействующих на модель в текущем режиме (ССЫЛКА на типы режимов, типа MP и not MP).
Наверное, лучше это проверять в режиме симуляции, включаемой после выбора типа режима в окне глобальных настроек (ССЫЛКА).
В любом случае, для такой проверки потребуется копировать модель в папку эффектов resource\entity\fx\ (ССЫЛКА),
но под новым, уникальным именем. (Нужно именно копировать!)
Важно:
Редактор эффектов не понимает объявления Extension (не путать с extender), поэтому в копированной модели, все Extension нужно заменить на include, а угольные скобки { }, в которые был вписан Extension - заменить на круглые ( ).
(И их вложенные Extension тоже нужно заменить).
Таким образом можно просмотреть всю сборку параметров и конструкцию модели, не разбирая макросы (ССЫЛКА)
и наблюдая какие параметры друг-друга перекрывают.
По своей сути - получается простой парсер, дешифровщик макросов (ССЫЛКА) и собиратель воедино текста.
Очень громоздкий, но показывающий всю картину свойств юнита, что полезно при отладке
(для опытных).