MAXScript Language Improvements in 3ds Max 5
In releases prior to 3ds Max 5, MAXScript was not handling FPS method by-reference (by-pointer) arguments correctly. FPS methods typically pass back values through these pointers, but MAXScript wasn't doing anything with these values. Support for by-pointer parameter passing for by-reference arguments has been added to MAXScript in 3ds Max 5.
For example, the syntax for the getSlicePlane EPoly method is
planeNormal is In and Out parameter
planeCenter is In and Out parameter
planeSize is In and Out parameter
The planeNormal, planeCenter, and planeSize are values returned by the method. Previously, there wasn't a way to get the planeSize value.
When a by-reference argument is an In parameter, its value type has to be preset before passing it. In the example above, the plane_normal variable has been preset to a Point3 value.
If a parameter is an Out parameter only (not an In parameter), the variable does not need to be preset to the correct value type.
In this example, lightnodes can be passed in as undefined, but will contain an array of nodes coming out.