How to Use SimStatus

Using SimStatus

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:

  • "Untouched": Entry has never been spoken or shown in a player response menu.
  • "WasOffered": Shown in a player response menu but not selected by player.
  • "WasDisplayed": Spoken (by a player or NPC).

You can use it like this:

Dancer conversation:

  • [1] Dancer: "What can I do for ya, detective?"
    • [2] Player: "Where were you on Saturday night?"
      Conditions: Dialog[3].SimStatus == "Untouched"
      • [3] Dancer: "Right here on this stage until dawn." [END]
    • [4] Player: "You said you were here until dawn. Then who made a call from your apartment at 9PM?"
      Conditions: Dialog[3].SimStatus == "WasDisplayed"
      • [5] Dancer: "My cousin's staying with me for the week. What's it to ya?" [END]

You can also use the special variable value thisID to refer to the current dialogue entry's ID. For example:

Dialog[thisID].SimStatus ~= "WasDisplayed"

Formatting Old Responses Differently In Response Menu

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.


<< Dialogue Database

PixelCrushers.DialogueSystem.Articy.Articy_1_4.TypeOfJourneyPointType.Dialog