Events

Events are used to drive roleplay or storytelling. They can be triggered at specific times or following specific messages.

Events are the same as actions, except that they are triggered automatically rather than relying on action inference.

See Actions for more information on filters and triggers not defined here.

Conditions

Target, Match, Once and Flags

See Actions.

Probability

The probability of the event being triggered. This will be on top of other conditions, therefore if you define that an event should have 50% probability and should happen between 5 and 10 messages after a flag, at the 5th message the probability will be 10% (half of 20%), and at the 10th message the probability will be 50% until the event is triggered.

Messages Count

The number of messages that should be sent before the event is triggered. This is useful to trigger events after a certain amount of time has passed.

By default, the messages count will be based on the start of the chat (you can see message numbers in the Voxta UI, in the inspector by clicking Show Hidden) but you can also specify a “since flag”, which will base the count on the last time the flag was set. This behavior can be used to make looping events! For example, you can make the message “5 message since flag my_flag” and make that message set “my_flag”, effectively making the event trigger every 5 messages.

Chat Time

Works the same was as messages count, but based on the real time since the chat started or the last time the flag was set.

Keep in mind that chat time is always calculated from the last message’s time since chat start; that means that if you exit the chat one hour after a character’s message and come back, the chat time since the last message will be reset.

Interface

You can reorder contexts, they will be used in the order they are displayed. You can also edit or delete them. Toggle them off to prevent them from being used, e.g. for testing.

Useful event patterns

  • You can specify a Set Flag “event1” after some event, and then for another event, you can specify “since flag event1” to trigger the event after the first one. This way, you can create long sequences and easily adjust the length between each part.
  • You can also do branching by using a script to set one flag or another, and set a custom flag. For example, go_left and go_right can both set the flag direction_chosen, but each specify a different flag. You can create trees like this.
  • An event can re-set a flag, if you need to create loops for example.