New in ChoiceScript: Quicktest warning when you *create and *temp the same variable

In ChoiceScript, we use *create at the beginning of startup.txt to define permanent “stat” variables; elsewhere in the game, we can use *temp to create temporary “temp” variables.

It’s not uncommon for authors to accidentally forget that they created a stat, and to use *temp to create a temp variable with the same name as the stat. This can cause confusing bugs, as changes to the temp variable go away at the end of the current chapter/scene file.

Now, in the latest version of ChoiceScript on Github, if you use *temp to create a temp variable that was already created with *create, you’ll see this warning when you run the Quicktest tool:

startup line 33: WARNING This is a temp, but we already ran *create strength
QUICKTEST PASSED

Note that this is just a warning; Quicktest will still allow your game to pass if you use *temp to replace a permanent stat.

(I thought about making this issue cause a Quicktest failure, but it turned out that more than a third of our shipped games would have failed; there wouldn’t have been any benefit in “fixing” them.)

If you see this warning when you run Quicktest, I recommend that you treat it as a bug. Always give your temp variables different names from your created stat variables.

34 Likes