Error report I don't understand


#1

I just got an error report from Zombien saying

What were you doing when the error occured?
Error: savegame line 374: It is illegal to fall in to an *else statement; you must *goto or *finish before the end of the indented block.
Scene: savegame
Stack: Error: savegame line 374: It is illegal to fall in to an *else statement; you must *goto or *finish before the end of the indented block.

I checked over the code, and there is no sign of any indented blocks missing gotos anywhere near there. It’s in the middle of a string of near identical code lines. There are no conditions to meet. It’s just the bit that returns you to the right chapter after saving. Everybody who has ever been to chapter 4 has passed it, and now a few weeks later there is a person with a problem… Any ideas? Please???


#2

You should show us the actual code sections around line 374. Scrub any game text from it if you like, but we probably can’t help you without looking at actual code.


#3

As Crotale mentioned, it’s guesswork without actual code. My guess, however, is:

*fake_choice
  #fake choice
    blah blah
*else <- Line 374 +/- 1
  blah blah

#4
*if save_flag = "save"
	*set save_flag ""
	GAME SAVED!
	*line_break
	If your adventures prove too much and you become one of the "living impaired" you can always start again from here.
	*line_break
	(Unless you close the browser... then you are on your own)
	*set save_msg true
	*page_break Continue
	*if return_to_scene = "home"
		*goto_scene home
	*elseif return_to_scene = "chapter1"
		*goto_scene chapter1
	*elseif return_to_scene = "chapter2"
		*goto_scene chapter2
	*elseif return_to_scene = "chapter3"
		*goto_scene chapter3
	*elseif return_to_scene = "chapter4"
		*goto_scene chapter4
	*elseif return_to_scene = "chapter5"
		*goto_scene chapter5
	*elseif return_to_scene = "chapter6"
		*goto_scene chapter6
	*else
		*goto error
*elseif save_flag = "restore"
	*page_break
	Couldn't quite cut it huh? Well thats ok, backtrack a bit and see if you can do better.
	*page_break Continue
	*if return_to_scene = "home"
		*goto_scene home
	*elseif return_to_scene = "chapter1"
		*goto_scene chapter1
	*elseif return_to_scene = "chapter2"
		*goto_scene chapter2
	*elseif return_to_scene = "chapter3"
		*goto_scene chapter3
	*elseif return_to_scene = "chapter4"
		*goto_scene chapter4
	*elseif return_to_scene = "chapter5"
		*goto_scene chapter5
	*elseif return_to_scene = "chapter6"
		*goto_scene chapter6
	*else
		*goto error

The actual line 374 is *elseif return_to_scene = “chapter4”

Apart from not being able to find an error my main concern is every single player must pass that line to go to chapter 4 regardless of any choices made during the game. Thousands of people have played all the way to the end without problems, so how does somebody generate an error 3 weeks after publishing when nobody else did?


#5

I really have no idea. Sorry I can’t help.


#6

Can you recreate the error yourself or does the code run clean when you run it?

Can the player recreate the error?
What platform are the playing on?
Where did they purchase the game?
Have they done anything to alter the game files?


#7

Grasping at straws here, but the only possibility I can think of (however unlikely this may be) is the chance that there is one particular death scene neglecting to set save_flag properly to “restore” before loading savegame. However, since the example code provided does not show an actual *else for the *if / *elseif save_flag = lines, it’s not clear what would result from save_flag currently having a value of “” at this point, instead of either “save” or “restore”.


#8

I considered the same thing, but each scene ending is separated at the bottom so I could easily keep track of them, and they are all identical. Also in chapter 3 there are only like 4 possible endings because the different paths have only just started to permanently separate.

I asked for more info from the person who reported the error, but I never got a reply. My only hope at this point is that I have found playing other peoples games that if I play through multiple times without restarting the app I often get errors that seem odd. I have found just restarting the app solves the problem in those cases, so perhaps it’s the same issue.


#9

Unless you suddenly get a flood of error reports saying the same thing, I think you’ve hit the nail on the head there. Very occasionally I’ll get error reports from the Vendetta demo saying something like…

Error: line 34: increasing indent not allowed, expected 0 was 1

…when the line in question is actually a blank line, with no indentation of its own, and with little or no indentation near it. Errors like this are simply inexplicable as 999 times out of a thousand it works perfectly fine.