MAXScript provides a compile-time source-file include mechanism, allowing you to break up large scripts into smaller files that can be included at nearly any point in a script. You can use the include <file> construct at any point in your code to effectively insert the contents of a file at that point in your code. The form is:
This is a compile-time construct, therefore the file name specification must be a string literal, and not a variable or an expression.
Example:
utility foo "Baz"
(
local a, b, c
include "foo-ui.ms"
rollout bar "Bar"
(
include "bar-rollout.ms"
)
include "foo-handlers.ms"
)
The include <file> construct is effectively replaced in the source code at that point with the contents of the named file.
You can nest included files as deeply as needed; included files can include other files, and so on.
Because include is a compile-time construct, the current MAXScript scope is maintained within the included file. This is opposed to the fileIn() method described in Running Scripts, whose script file content is compiled in a global scope context. For more information, see Scope_of_Variables.
The include <file> can appear at any point a new token is expected, such as a name, literal, or punctuation. This means that you could complete a partial expression with an included file. For example:
include "op1.ms" + include "op2.ms"
if include "test2.ms" then print a else print b
You cannot place an include <file> within a token. For example, the following is not valid:
timeval = 2:include "framenum.ms".0