I was able to produce behavior similar to the described error with the following code:
*title Code Test 2
*author @Minnow
*scene_list
startup
*create credits 0
*label start_loop
You have ${credits} credits.
*choice
#Add 10 credits.
*set credits +10
*goto start_loop
#Remove 10 credits.
*set credits -10
*goto start_loop
#Quit testing.
*ending
*finish
After making a selection from the choice, returning to the game from the stats page will repeat the *set
command previously chosen, continuously increasing (or decreasing, depending on the #option
chosen) the relevant variable. My laptopâs running Windows 7 Home Premium with Service Pack 1 (64-bit). I downloaded cside_setup_x64_v101.exe on September 3.
The following code also produced similar behavior.
*title Code Test 2
*author @Minnow
*scene_list
startup
*create credits 0
*label start_loop
*set credits +10
You have ${credits} credits.
*choice
#Return to the loop without changing credit count.
*goto start_loop
#Quit testing.
*ending
*finish
As written in this second example, the credits
variable should only increment when *label start_loop
is entered either at the start of the âgameâ, or after looping through the *choice
. And, prior to selecting an #option
in the *choice
, it appears to function correctly. It increments to 10, and remains there no matter how many times the stats page is viewed and returned fromâŚ
However, after proceeding through the loop even just once, returning to the game after viewing the stats page will increment the variable again every time. View the stats page a dozen times? Increment the variable a dozen times.
I also tested both versions of the code with *fake_choice instead of *choice, and the behavior persisted.
I then went back and removed the loop, instead going to a straight-through *choice and *fake_choice. The behavior persisted with the following code:
*title Code Test 2
*author @Minnow
*scene_list
startup
*create credits 0
You have ${credits} credits.
*fake_choice
#Add 10 credits.
*set credits +10
#Remove 10 credits.
*set credits -10
#Quit testing.
*label next
You have ${credits} credits. The end!
*ending
For one last test, I checked if going through a *page_break after the choice would break the behavior. I used the following code:
*title Code Test 2
*author @Minnow
*scene_list
startup
*create credits 0
You have ${credits} credits.
*fake_choice
#Add 10 credits.
*set credits +10
#Remove 10 credits.
*set credits -10
#Make no change.
*label next
You have ${credits} credits.
*page_break The End!
You have ${credits} credits.
*ending
It did. The behavior in question persisted only on the page immediately after making a selection. Once the *page_break
was cycled, the behavior ceased completely. (It did not, however, return the variable to its original value. It remained at the new, increased (or decreased) value.
I hope this helps guide your own testing. Yes, Iâm aware CSIDE is officially Win8.1+. I very much hope the problem isnât due to Win7âs interactions with CSIDE.