No, haha. The semicolon goes after the closing } for the package.
Here's a properly formatted, corrected version.
package bootup
{
function NMH_Type::Send(%this)
{
%word = %this.getValue();
%words = getWordCount(%word);
for(%i=0;%i<%words;%i++)
{
%word = getWord(%message, %i);
if(%word $= "Bootup, JSys" || %word $= "bootup, jsys" || %word $= "Bootup, jsys" || %word $= "Bootup, Jsys" || %word $= "Boot!")
{
activatepackage("SystemMain");
commandToServer('messagesent',"JSys²: Booting up.");
schedule(2000, 0, "commandtoServer", 'messageSent', "Beware: This is for use only with Johnny Blockhead.");
}
}
Parent::Send(%this);
}
};
activatepackage("bootup");