Understanding first time actions syntax

Hi,

Struggling to learn how to command first time actions.

In my game the first time you sing in a specific location one thing happens (specific text and item added to inventory).

Singing again in same location should generate different text and no other action.

So far I have:

Singing is an action applying to nothing.

Understand “sing” as singing.

Instead of singing when the location is not the town square:
say “non town square response”.

Instead of singing when location is the town square:
INSERT FIRST TIME THINGS HERE SOMEHOW
Otherwise - XXXXXXXXX

Instead of singing:
       say "This doesn't seem like an appropriate place for it."

Instead of singing in the Town Square for the first time:
      say "A man comes up and gives you a salami.";
      move the salami to the player.

Instead of singing in the Town Square:
       say "No more salami is forthcoming."

Perfect. Thank you.

You can also use [one of] [or] [or] [stopping] in a say statement if you need to seperate between different attempts.

This will cycle trough the “or” options one by one and repeat the last one ad infinitum.

[pseudo code!]
instead of asking the woman about her name:
Say “[one of]My name is Mary![or]I already told you my name![or]The woman just glares at you.[stopping]”;