MAXScript Preferences

On the MAXScript panel of the Preference Settings dialog, you set MAXScript and Macro Recorder preferences, enable or disable auto-loading of scripts, set the initial heap size, change font style and size used in the MAXScript editor, and manage all the settings for the Macro Recorder.

You can also change these settings by editing the [MAXScript] section of the 3dsmax.ini file.

Note: The path to support auto-startup scripts can be configured on the Configure User and System Paths dialog: Additional Startup Scripts . If you prefer to start scripts from a different directory, you can change these default directories with the corresponding Customize menu commands.

Choose Help MAXScript Help for details on MAXScript.

Interface

Startup group

You can load scripts automatically in two ways. You can create a file named startup.ms that contains your startup code. MAXScript searches for this file in these locations in this order: the user scripts directory, the user startup scripts directory, the 3ds Max system scripts directory, and the 3ds Max system startup scripts directory. MAXScript stops searching after it finds the first occurrence of startup.ms.

You can also place the script files you want auto-loaded into the \startup directory inside the user startup scripts. MAXScript loads any script file with the file name extensions .ms, .mcr, .mse, and .mzp. If you want a script to be ignored on startup, you can give it the .mxs extension, which is not loaded on startup but recognized as an executable script by the MAXScript Editor.

If you have both a startup.ms file and auto-load files in the \startup directory, MAXScript always loads startup.ms first.

Load Startup Scripts
Loads scripts automatically when 3ds Max starts.
Load/Save Scene Scripts
Enables loading and saving of persistent callbacks. See the "General Event Callback Mechanism" topic in the MAXScript Guide for more information about persistent callbacks.
Load/Save Persistent Globals
Enables load and save Persistent Globals.

MAXScript supports a limited form of variables. You declare that a particular global is persistent and the value it contains is always saved to and restored from scene files as they are opened and closed. In this way you can, for example, keep direct references to objects in the scene in variables. Those references will move across scene save and reload.

MAXScript Windows group

Font drop-down list

Choose a font for the MAXScript editor

Font size

Choose a font size for the MAXScript editor.

Auto Open Listener On Output

Opens the Listener if a script sends output to a WindowStream value with no associated window. This would require a MAXScript extension.

Show Path in Editors

When on and editing a script, the script window title bar shows the file name and entire file path. When off, the title bar shows the script file name only.

Runtime group

Use Fast Node Name Lookup
When on, MAXScript indexes scene node names in a cache, resulting in significantly faster resolution of non-wildcard pathname values (for example, $box01) to node values. When off, the scene nodes are enumerated as MAXScript looks for a scene node name that matches the pathname, resulting in slower lookups.

Turn this off if you encounter an incompatibility with an existing script.

Validate Resource File Values
When on and MAXScript reads key/value pairs in a resource (RES) file, it verifies that the value portion is a valid MAXScript value. Enable this switch if you are converting an existing script to use resource files, to verify that the resource file appears to be good.

When off, whatever is specified in the resource file as the value is used in the script. If the resource file contains bad values, you can end up with weird parsing errors that are difficult to figure out.

Once you're finished setting up the resource file, turn this option off. At this point you know the file is good and have finished editing the file, so there's no need to take time validating the file.

Memory group

Initial Heap Allocation (Mbytes)
Sets the initial heap allocation.

MAXScript carves its own working memory (called a heap) out of the memory that 3ds Max allocates. You can add to the heap at any time by increasing the value here.

Macro Recorder

Controls in this large group are for recording macros. See Macro Recorder.

Enable Macro Recorder
Enables the Macro Recorder.

3ds Max starts with the macro recorder disabled and a minimized Macro-Recorder pane in the MAXScript listener window.

You can also enable the Macro Recorder by turning on MAXScript Macro Recorder or by turning on Enable in the Macro Recorder menu on the MAXScript Listener toolbar.

This state is stored in the 3dsmax.ini file. Turning it on once keeps it enabled across restarts of 3ds Max.

Code Filters group
Command Panel Switchings
Displays command panel switchings in the code.
Tool Selections
Displays tool selection in the code.
Menu Item Selections
Displays menu selection in the code.
Code Generation group

The Code Generation parameters refer to whether or not the script emitted is made selection-relative, if possible, or if it contains object references. By making the script selection-relative, you can apply the recorded script to a different selection, thereby making it more general. Absolute mode always works on the same objects regardless of the current selection.

Explicit Scene Object Names
Uses scene object names in the code.
Selection-relative Scene Object Names
Makes Scene Object Names relative in the code. Default=on.
Explicit Sub-object Sets
Uses explicit sub-object sets in the code.
Selection-relative Sub-object Sets
Uses selection relative sub-object sets in the code. Default=on.
Absolute Transform Assignments
Uses absolute transforms in the code.
Relative Transform Operations
Uses selection relative transform operations in the code.