Hmmm...
is there a good method in rules.csv to store variables inside the person interacted with? I don't want to use global variables.. unless that seems to be the only way?
For example, I interacted with Person A and I want to set a variable within Person A's memory that Player cannot talk to Person A until another time being. However when I talk to Person B, they seem to inherit Person A's memory, so I'm assuming $entity.DONOTINTERACT is not the right way to do it.
Well, Alex ninjaed with an easier solution in this case (also didn't know that so good to know), but since I used this in the past to store unique information globally for various things I'll go ahead and post it.
What you might try doing is a bit of a hacky workaround:
The person has a unique name (presumably), so add the unique name to the variable in the entity (I still wouldn't do global unless there isn't a way around it.) Then, in the rule command script that is part of your condition, have a control part of the variable to check for, and then cross-reference that with the name of the PersonAPI the player is talking to to determine whether the condition is true or false.
Example:
PersonAPI name: Third Oberon
variable A: $entity.DONOTINTERACT - set it to true, then add
variable B: $entity.DONOTINTERACT_THIRDOBERON = true
Script:
if (memory.getBoolean("$entity.DONOTINTERACT");) {
String memKey = "$entity.DONOTINTERACT" + "_" + PersonAPI.getName().getFirstName().toUpperCase() + PersonAPI.getName().getLastName().toUpperCase();
return memory.getBoolean(memKey);
} else {
return false;
}