MAXScript is an
language. Every construct
in the language is an expression and yields a result; this includes
constructs that other languages consider statements. The simplified
syntax of the language allows you to build very expressive code.
Anywhere you can write an
A good example of this is the if construct. In statement-based languages, there is usually one syntax for if statements and another for conditional expressions. In MAXScript, a single syntax is used for both cases.
the following two lines of code are both valid, and their meaning should be obvious:
if a > b then print c else print d
x = if a > b then c else d
You can also write the following line, containing a nested if expression and a nested assignment, which itself is an expression:
x = if (if a > b then c else d) < e then f else (g = 23)
Another example is the
if a > b then print "the big a"
Each expression in the block is separated by a line break. You can also write several expressions on one line using a ";" (semicolon) to separate them:
(print a; print b; if a > b then print "the big a")
To create classic block-structured statements,
you might write:
if a > b then
x = sqrt (c)
x = sin (e)
or, use a nested block-expression to compute a comparison operand,
if a > (y = sin b; sqrt(y * z)) then print c
its simplest, a MAXScript program is made up of
This list of expressions constitute the main constructs in MAXScript.
Controlling Program Flow
Variables - Assignment and Scope
3ds Max Commands
Scripted Mouse Tools
Scripted Right-Click Menus