This article's documentation is for the "GoldSrc" engine. Click here for more information.

Macro Entity Scripting System: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(Replaced content with "{{Multipage}} {{GoldSrc sdktools}} Category:Third Party Tools Category:Third Party GoldSrc Tools Category:Non-Steam Applications Category:GoldSrc Level Desi...")
Tag: Replaced
Line 1: Line 1:
{{GoldSrc topicon}}
{{Multipage}}
The '''Macro Entity Scripting System (MESS)''' is a tool that helps in automating various tasks in [[Half-Life]] level compilation. It offers a templating system and macro entities for creating template instances that can be customized with a basic scripting system. [[MESS]] provides entity rewrite rules that allow templates to be used as if they were actual entities.
 
== Features ==
# Templating System: [[MESS]] provides a templating system that allows the creation of templates that can be used in multiple instances. These templates can contain brushes, entities, and other game assets.
# Macro Entities: [[MESS]] allows the creation of macro entities that can replicate a complex entity setup as a single entity. It also provides entities that can cover terrain and other surfaces with props. Additionally, using the macro_insert entity, a single brush can be turned into multiple entities.
# Entity Rewrite Rules: [[MESS]] provides the ability to modify entity attributes before macro processing occurs by using entity rewrite rules.
# Scripting System: [[MESS]] offers a scripting system that allows expressions to be embedded in attribute values, and the customization of templates and instances by referencing attributes of instance-creating entities.
 
== Drawbacks ==
# Steep Learning Curve: [[MESS]] has a steep learning curve due to its complex templating and scripting system. It requires a significant amount of time and effort to learn how to use it correctly.
# Limited Compatibility: [[MESS]] is compatible with only Half-Life, which limits its usage in newer games.
# Requires prior knowledge of [[Hammer]] Editor: Since MESS is an extension of the [[Hammer]] Editor, one needs to have prior knowledge of [[Hammer]] to use it efficiently.
 
== Screenshots ==
<gallery mode=nolines widths=384px heights=256px>
Image:landmine_template.png|Templates
Image:templatemap.jpg|Templates №2
Image:landmine_insertion.png|Instances
</gallery>{{clear}}
 
== Options ==
 
'''-dir''' directory
* Specifies which directory to use when resolving relative template map paths. By default, the directory where the input [[map]] file is located is used. This only applies to relative template paths in the input [[map]] file.
 
'''-fgd''' paths
* The .fgd file(s) that contain [[MESS]] entity rewrite rules. To provide multiple paths, separate them with a semicolon (path1;path2).
 
'''-maxrecursion number'''
* The maximum recursion depth for templates that insert themselves or other templates. This is a safety mechanism that guards against accidental infinite recursion. The default is 100.
 
'''-maxinstances number'''
* The maximum number of template instances. This is a safety mechanism that guards against accidentally inserting a massive number of instances. The default is 10000.
 
'''-log level'''
* Determines how much information [[MESS]] will write to the output:
'''-off'''
* Disables almost all logging.
 
'''-error'''
* Only critical errors are shown (problems that cause [[MESS]] to abort). This is the default.
 
'''-warning'''
* In addition to critical errors, warnings are also shown (problems that [[MESS]] can safely ignore).
 
'''-info'''
* Additional information is shown.
 
'''-verbose'''
* The maximum amount of information is shown.
 
'''-repl'''
* Enables the interactive MScript interpreter mode. This starts a read-evaluate-print loop ([[REPL]]), which can be used to test MScript expressions. Do not use this when compiling maps!
 
== External Links ==
* [https://github.com/pwitvoet/mess Github]
* [https://twhl.info/thread/view/19984 TWHL]
* [https://twhl.info/vault/view/6451 MESS example maps]


{{GoldSrc sdktools}}
{{GoldSrc sdktools}}
Line 64: Line 6:
[[Category:Non-Steam Applications]]
[[Category:Non-Steam Applications]]
[[Category:GoldSrc Level Design]]
[[Category:GoldSrc Level Design]]
{{GoldSrc topicon}}

Revision as of 02:24, 18 June 2023

Template:Multipage