This change to MAXScript extends the light:true parameter behavior introduced in 3ds Max 5 to automatic garbage collection.
Structure Scope While Initializing
When initializing a structure, the scope will now be set to the structure's context. Note that this effectively lets you run a function within the structure when an instance of the structure is created!
You can now call return() in macroScripts whose body is a single expression (i.e, old style macroScripts that don't use 'on execute do ...') to exit the macroScript.
A new optional while <expr> test has been added to the for loop. The for loop will terminate if the test expression evaluates to false.
Exiting a for ... do loop using a with <expr> returns the expression value as the result of the loop. In releases prior 3ds Max 6, OK was returned.
ArrayParameter values can now be coerced to Array.
For Example:
mtl = standard()
mapsArray = mtl.maps as array
The modPanel.validModifier method has been changed to return false if either the node/node collection or modifier/modifier class is 'undefined', or the node collection is empty.
Node Common Methods - Viewport State
The way the mappable methods hide, unhide, freeze and unfreeze are called when passed a node collection has been changed so that there is a single internal call passing a node array, rather than individual calls passing one node at a time.
The speed of these methods will be significantly higher than in older versions.
Setting Focus on User Interface Controls
The setFocus <rollout_ui_item> function can now be used with ActiveXControl UI items.
See also
What was New in MAXScript in 3ds Max 6
Documentation Changes in 3ds Max 6
MAXScript Documentation Changes in 3ds Max 5.1.1 (Particle Flow Update)