Ru/MESS (Macro Entity Scripting System)

это инструмент, который помогает автоматизировать различные задачи при компиляции уровней в Half-Life. Она предлагает систему шаблонов и макро-объектов для создания экземпляров шаблонов, которые можно настраивать с помощью базовой системы сценарного программирования. MESS предоставляет правила переписывания сущностей, которые позволяют использовать шаблоны, как если бы они были настоящими сущностями.
== Особенности ==
# Система шаблонов: предоставляет систему шаблонов, которая позволяет создавать шаблоны, которые можно использовать для создания нескольких экземпляров. Эти шаблоны могут содержать кисти, сущности и другие игровые ресурсы.
# Макро-сущности: позволяет создавать макро-сущности, которые могут воспроизводить сложную установку нескольких сущностей в виде одной сущности. Она также предоставляет сущности, которые могут покрывать территорию и другие поверхности объектами. Кроме того, используя сущность macro_insert, один кисть может быть превращен в несколько сущностей.
# Правила переписывания сущностей: обеспечивает возможность изменять атрибуты сущностей до обработки макро-обработки с помощью правил переписывания сущностей.
# Система сценарного программирования: предлагает систему сценарного программирования, которая позволяет встраивать выражения в значения атрибутов, а также настраивать шаблоны и экземпляры, используя атрибуты сущностей создания экземпляров.
== Недостатки ==
# Ограниченная совместимость: совместима только с Half-Life, что ограничивает ее использование в новых играх.
# Требуется знание редактора : Поскольку MESS является расширением редактора , для эффективного использования его нужно иметь предварительные знания о редакторе .
== Скриншоты ==
Image:landmine_template.png|Пример
Image:templatemap.jpg|Пример №2
Image:landmine_insertion.png|Экземпляры
== Опции ==
-dir directory 
* Опция указывает, какую директорию использовать при разрешении относительных путей к шаблонам. По умолчанию используется директория, в которой находится входной файл . Это относится только к относительным путям к шаблонам во входном файле .
-fgd paths
* Файл(-ы) .fgd, которые содержат правила перезаписи сущностей . Чтобы указать несколько путей, нужно разделить их точкой с запятой (path1;path2).
-maxrecursion number
* Максимальная глубина рекурсии для шаблонов, которые вставляют себя или другие шаблоны. Это механизм безопасности, который защищает от случайной бесконечной рекурсии. По умолчанию равно 100.
-maxinstances number
* Максимальное количество экземпляров шаблонов. Это механизм безопасности, который защищает от случайной вставки огромного количества экземпляров. По умолчанию равно 10000.
-log level
* Определяет, как много информации будет выводить в выходной поток.
-off
* Почти полностью отключает журналирование.
-error
* Отображаются только критические ошибки (проблемы, вызывающие аварийное завершение работы ). По умолчанию.
-warning
* Кроме критических ошибок, также отображаются предупреждения (проблемы, которые может игнорировать безопасно).
-info
* Дополнительная информация.
-verbose 
* Показывает максимальное количество информации.
-repl
* Включает интерактивный режим интерпретатора MScript. Это запускает цикл чтения-оценки-вывода (), который можно использовать для тестирования выражений MScript. Не используйте это при компиляции карт!
== Внешние ссылки ==
* Github
* TWHL
* MESS карта пример