Az azonosítók alfanumerikus karakterek és az aláhúzásjel(_) sorozatai lehetnek, vagy tetszőleges karaktersorozat egyszeres idézőjelek között, feltéve, hogy a karaktersorozat nem tartalmaz ilyen idézőjelet (például 'αβγδε').
Kulcsszavak: about, and, animate, as, at, by, case, catch, collect, continue, coordsys, do, else, exit, fn, for, fromfunction, global, if, in, local, macroscript, mapped, max, not, of, off, on, or, parameters, persistent, plugin, rcmenu, return, rollout, set, struct, then, throw, to, tool, try, undo, utility, when, where, while, with.
(A from fenntartott kulcsszó, de jelenleg nem használt.)
Határoló jelek és szimbólumok: (, ), +, *, -, /, ^, +=, -=, *=, /=, --, =, ;, <eol>, ,, [, ], :, ', &, ., {, }, #, ==, !=, <, >, >=, <=, ?, $, ..., .., \.
Ide tartoznak a rendszerszinten definiált változók, amiket három csoportra bonthatunk: előredefiniált globálisok (csak olvashatóak, például: true, false, pi, red, white, x_axis, undefined), a 3ds Max rendszer globálisai (például frameRate, renderEffects) és a MAXScript rendszer állapotát tükröző rendszerglobálisok (például editorFontSize, stackLimit). Nem ajánlott, de használhatók saját változónevekként.
A MAXScript kétféle számtípust használ: 32 bites előjeles egészeket, illetve egyszeres pontosságú lebegőpontos számokat. Az ezeket jelölő literálok alakja:
Írhatunk hexadecimális alakban is számokat:
Hasonlatosan más nyelvekhez, a string-eket "-jelek közé írjuk, használhatók a megszokott escape szekvenciák is (például \n, \", \t vagy a \x{d} unicode szekvencia hexadecimális számokkal), illetve használandók a ?, * és % speciális jeleknél az alábbiak: \?, \*, \%. Érdekesség, hogy a C#-hoz hasonlóan itt is vannak verbatim string literálok, ilyen például a @"g:\temp\newfolder\render", ilyekor a \ jelek normál visszaper karakternek számítanak.
Köszönhetően annak, hogy a nyelv gyakorlatilag egy komplex modellező és animációs program vezérlőnyelve, ebből kifolyólag számos speciális literált írhatunk, így például olyanokat, amellyekkel leírhatunk időt, térbeli pozíciót, vagy hivatkozhatunk hierarchián belüli részekre.
Az idő tick-ek (ketyegések) többszöröseivel írható le. A 3ds Max-ban használt időfelbontás szerint egy másodperc 4800 ketyegést jelent, azaz a legrövidebb ábrázolható idő 1/4800-ad másodperc. A másik fontos elem a frame-ek száma, ez gyakorlatilag a képkockák számát jelenti. A másodpercenkénti képkockaszám állítható, alapértelmezés szerint 30 képkocka/másodperc (NTSC szerint).
Példa | Jelentés |
---|---|
2.5s |
2.5 másodperc |
1m15s |
1 perc 15 másodperc |
2m30s5f2t |
2 perc 30 másodperc 5 képkocka és 2 "ketyegés" |
125f |
125 képkocka |
18.25f |
18.25 képkocka |
1f20t |
1 képkocka és 20 "ketyegés" |
2:10.0 |
2 perc 10 másodperc 0 képkocka (SMPTE) |
0:0.29 |
29 képkocka (SMPTE) |
0.45n |
0.45 normalizált idő (az aktív időszegmens hanyad része) |
Útvonalnevekkel azonosíthatók a 3ds Max jelenetben előforduló objektumok (például egy fényforrás, egy gömb geometria, egy vonal, stb.). Egy útvonalnév több ilyen objektumot is azonosíthat, ugyanis a nevekben használhatunk speciális karaktereket (?, *).
Példák:
Egész vagy lebegőpontos szám értékű kifejezésekből (expr).
Szkript | Kimenet |
---|---|
b = 45 |
45 |
[10, 20, 30] |
[10,20,30] |
[sin a, 2 * b, a^2 + b^2] |
[0.173648,90,2125] |
A tömbök értékek egy rendezett sorozata, tömbliterálokat kifejezésekből építhetünk, például:
Megjegyzések írásához a /* és */ határolóelemeket használhatjuk párban. Ha a záró tag lemarad, a program a fájl végéig kikommentezettnek tekinti a programszöveget.
Példa: