Back to scripts...
It is possible to do a lot without any additional objects. The first aware object, MOOSE, can be useful by itself.
SCRIPT allows commands to be input from a file. Before the first command from a user is able to be processed, MOOSE performs a "/script macros" command. The commands from the file 'macros' are read, and queued to be processed. SCRIPT commands are treated as if they were entered at a command prompt. If there is a '#' on a line, the remaining portion of the line is ignored, allowing script files to have comments.
/macro test #Define a test macro
#/echo test entered
/endmac #end the test macro
The prior set of commands creates an empty macro called test in the current active object. Macros are stored on/in objects, not in the awareness controlling them.
/declare one Hello
/declare two World
DECLARE creates named variables in an object. Variables are referenced by putting a '%' before their name. '%one' would essentially be the same as 'Hello'.
/destroy test #remove previous definition (if any) of test.
/macro test param1 param2
/decl local I'm a purple mouse!
/echo %one %two. %local
/echo %param1 %param2
DECLARE when used in a macro creates a variable which is only valid during the time of the macro.