The answer depends on the rule command - and you can look at the rule command's code to see if it uses a particular parameter or not, and whether it checks for it being null.
One quick way of making sure your script is running is to add something like:
if (true) {
throw new RuntimeException("Yep, it's running");
}
Or some such... or you could send some output to the log and tail the log; that'd be a bit less extreme
The script is running in general. I have confirmed that. It throws the exception before I even get out of the campaign load if I change the trigger to be "just not having a commission".
I have narrowed it down between last night and today to:
boolean bool = Global.getSector().getPlayerPerson().getMemory().getBoolean("$FactionOnlyPortraitsEnabled")
Doesn't work. If I have a boolean in memory such as $player.FactionOnlyPortraitsEnabled set to true, how do I pull that into the script?
I know how to do it in a rule when I have access to Map<String, MemoryAPI> memoryMap from the rule itself.
*edit* I've also tried Global.getSector().getPlayerPerson().getMemory().getBoolean("$player.FactionOnlyPortraitsEnabled").
Similarly through the same control where it just checks for having a commission or not (so I know for sure it is running but won't throw an exception):
Global.getSector().getPlayerPerson().getMemory().set("$FactionOnlyPortraitsEnabled", false, 0);
Also doesn't seem to populate any variables into memory.