Lua scripting and Actor commands
Actor commands in metrics.ini
In the StepMania 3.0 paradigm, you would define the position of an Actor with two different metrics - one for the X position, and one for the Y. For example: ObjectX=100 ObjectY=220
This system is being replaced in StepMania 3.9 and StepMania 4.0 by more powerful "commands strings". A command string can set positions, colors, effects, and also script animations over time. Positioning an Actor with command string would look like this: ObjectOnCommand=x,100;y,220
A command string contains one or more commands separated by semicolons. This command string contains two commands: "x,100" and "y,220". A command is made up of a command name and a list of parameters. The command name and any parameters are separated by commas. In the example above, both the commands "x" and "y" both take exactly one parameter. Other commands like "diffuse" take 4 parameters (R, G, B, and A). For example, the command "diffuse,1,0,1,1" would turn an Actor's color to opaque purple.
Typically, the metrics file will have two commands per Actor - the "OnCommand" (which is where you command an Actor to tween onto the screen), and the "OffCommand" (for tweening the Actor off the screen).
Lua classes, methods, and constants
StepMania uses a scripting language called Lua in its implementation of Actor commands. Below is a list of all the Lua globals, classes, and constants available for use in Actor commands.