[HOWTO] How To: Track Values Before Quest Starts
Posted: Tue Aug 17, 2021 10:46 am
It's common to use quest counters to track the progress of a quest, such as an "x enemies killed" counter or "y items collected" counter.
However, it's also possible for the player to kill enemies or collect items before accepting a quest.
Before a quest starts, counters will only listen for changes if the quest has autostart conditions or offer conditions.
Counters will not otherwise listen for changes. This is because, if you have more than one player (e.g., a multiplayer game), the game would not know whose instance of the quest to update.
If you need to keep track of a value before the quest has started, here are two options:
1. Track the value independently of the quest. Write a custom quest action that retrieves the independent value and initializes the counter to the same value. Add this action to the quest's Start node > Active > Actions list.
2. Or don't use a counter at all. Instead, write a custom quest condition that checks an independent value.
However, it's also possible for the player to kill enemies or collect items before accepting a quest.
Before a quest starts, counters will only listen for changes if the quest has autostart conditions or offer conditions.
Counters will not otherwise listen for changes. This is because, if you have more than one player (e.g., a multiplayer game), the game would not know whose instance of the quest to update.
If you need to keep track of a value before the quest has started, here are two options:
1. Track the value independently of the quest. Write a custom quest action that retrieves the independent value and initializes the counter to the same value. Add this action to the quest's Start node > Active > Actions list.
2. Or don't use a counter at all. Instead, write a custom quest condition that checks an independent value.