If you want to track the status of every dialogue entry, inspect your Dialogue Manager and tick Include SimStatus. This uses about 20 bytes per dialogue entry, so if you have tens of thousands of lines of dialogue you probably don't want to tick this unless you really need it. Instead, use variables in specific areas where you need conditions.
Include SimStatus adds a runtime string value Dialog[#].SimStatus
for every dialogue entry, where #
is the dialogue entry's ID number. (You can find the ID number by inspecting the dialogue entry.)
The possible values of SimStatus are:
You can use it like this:
Dancer conversation:
Dialog[3].SimStatus == "Untouched"
Dialog[3].SimStatus == "WasDisplayed"
You can also use the special variable value thisID
to refer to the current dialogue entry's ID. For example:
If you decide to use SimStatus, on the Dialogue Manager's Input Settings there's a dropdown Em Tag for Old Responses. You can change this from None to apply an emphasis tag to player response entries that the player has already selected. Some games use this to remind players what responses they've already tried.