Oh, I never actually checked to make sure what you were doing made sense. You're checking if each word is equal to a string with more than one word.
Do this instead:
package bootup
{
function NMH_Type::Send(%this)
{
%message = %this.getValue();
Parent::Send(%this);
if(striPos(%message, "Bootup, JSys") > -1 || %message $= "Boot!")
{
activatepackage("SystemMain");
commandToServer('messagesent',"JSys²: Booting up.");
schedule(2000, 0, "commandtoServer", 'messageSent', "Beware: This is for use only with Johnny Blockhead.");
}
}
};
activatepackage("bootup");
You could also use striPos to check for "Boot!", but I'm sure that you don't want to boot JSys in a scenario where you said something like "I lost my boot!"
EDIT: I also moved the send parent to the beginning of the function so that your messages send in the correct order.