Slay

Description: Stops a launched module, and possibly any parent modules.
Returns: Nothing
Usage: Script Only.
Function Groups: Basic Module
Related to: Stop | WindowClose
Format: Slay([Object, KillParents])
Parameters:  
Object
An optional parameter which is any object expression for the launched module. The default value of Object is Self().
KillParents
An optional logical expression for the action to take. If true, Slay will attempt to stop parents as well. If any parent libraries are not launched, the Slay statement won't search for further modules instances. The default value for KillParents is 0.
Comments: When this statement is encountered in a script, the module is immediately stopped. Slay and Return are the only statements that will cause a script to terminate mid-way through its execution. Others like ForceState will not.
Slay() is the same as Slay(Self(), 0).

Example:

If ZButton(20, 50, 120, 70, "Motor On/Off", 1);
[
  IfElse(!motorOn, Execute(
          motorOn = 1,
          motorPtr = RunMotor() { Module launched implicitly }),
  { else } Execute(
          motorOn = 0,
          Slay(motorPtr, 0)));
]

When the button is selected, the statement in the script will check if the motor is running or not, and if it isn't, will launch the module that starts it. Notice that the module is launched implicitly because it is called from inside of a script. If that module is already running it will stopped by the Slay .