There are a few important things that you should know about the Setup Factory scripting language in general before we go on.
The scripting engine is global to the runtime environment. That means that all of your events will “know” about other variables and functions declared elsewhere in the product. For example, if you assign “myvar = 10;” in the project’s On Startup event, myvar will still equal 10 when the next event is triggered. There are ways around this global nature (see Variable Scope), but it is generally true of the scripting engine.
The scripting engine is case-sensitive. This means that upper and lower case characters are important for things like keywords, variable names and function names.
ABC = 10;
aBC = 7;
In the above script, ABC and aBC refer to two different variables, and can hold different values. The lowercase “a” in “aBC” makes it completely different from “ABC” as far as Setup Factory is concerned.
The same principle applies to function names as well. For example:
Dialog.Message("Hi", "Hello World");
...refers to a built-in Setup Factory function. However,
DIALOG.Message("Hi", "Hello World");
...will not be recognized as the built-in function, because DIALOG and Dialog are seen as two completely different names.
Note: It’s entirely possible to have two functions with the same spelling but different capitalization—for example, GreetUser and gREeTUSeR would be seen as two totally different functions. Although it’s definitely possible for such functions to coexist, it’s generally better to give functions completely different names to avoid any confusion.
You can insert non-executable comments into your scripts to explain and document your code. In a script, any text after two dashes (--) on a line will be ignored. For example:
-- Assign 10 to variable abc
abc = 10;
abc = 10; -- Assign 10 to abc
Both of the above examples do the exact same thing—the comments do not affect the script in any way.
You can also create multi-line comments by using --[[ and ]]-- on either side of the comment:
--[[ This is
a = 10;
You should use comments to explain your scripts as much as possible in order to make them easier to understand by yourself and others.
Each unique statement can either be on its own line and/or separated by a semi-colon (;). For example, all of the following scripts are valid:
a = 10
MyVar = a
a = 10; MyVar = a;
a = 10;
MyVar = a;
However, we recommend that you end all statements with a semi-colon (as in scripts 2 and 3 above).