The problem is you always set the token at the start of your script, and then remove it at the end of the script. So this means you will always get the same result.
You have to make sure the hero doesn’t have the token yet when your actions are first run. And at the end you give the hero a token.
So the second time the actions are run, the hero has the token and something else happens.
So for example:
if hero lacks token "talked to alice" hero says "I haven't met you before, how are you?" alice says "Fine! Nice to meet you" hero receives token "talked to alice" else hero says "Nice to meet you again"