What do the run-time script errors mean?
In some cases, GAME might show you a big red script error. Here is an explanation of most possible run-time script error messages. Most of these error messages will never be displayed unless something very serious like file or memory corruption occurs, but a few of them can be triggered by mistakes in scripts.
- 1 Errors indicating a mistake on your part
- 1.1 Script # exceeds maximum size by #%
- 1.2 Failed to load (type) script #, interpreter overloaded
- 1.3 Failed to load (type) script #, script heap overflow
- 1.4 Failed to load (type) script #
- 1.5 Script # does not exist
- 1.6 division by zero
- 1.7 Script # is in an unsupported format
- 1.8 encountered clean noop
- 2 Errors indicating corrupt data or an engine bug
- 2.1 Interpretloop encountered noop
- 2.2 While fell out of bounds, landed on #
- 2.3 For fell out of bounds, landed on #
- 2.4 If statement overstepped bounds
- 2.5 While statement has jumped the curb
- 2.6 For statement is being difficult
- 2.7 Illegally Suspended Script
- 2.8 Script # became stateless
- 2.9 Illegal Wait Substate
- 2.10 stnext encountered noop # at # in #
- 2.11 Illegal kind # # in stnext
- 2.12 Unsupported math
- 2.13 Illegal statement type
- 2.14 Script # corrupt
- 3 See Also
Errors indicating a mistake on your part
Script # exceeds maximum size by #%
This can only happen if one of your scripts is really really big. If one of your scripts is this large you probably generated it with a computer program! Break it up into smaller pieces and call them one after the other.
Failed to load (type) script #, interpreter overloaded
This error means that you have reached the limit on the number of scripts running at once (currently 128). This means that either you have a recursive script which tried to recurse too deeply, or scripts are piling up without terminating. See Why does my on-keypress script freeze/produce errors when I hold down a key? for the later problem.
Failed to load (type) script #, script heap overflow
This error message means that the program has run out of space to store local variables and arguments. It is unlikely you will ever see this error. If you do, it probably means you are have a run-away recursive script, or your scripts are piling up without terminating, and also that you are using lots of local variables in your scripts.
Failed to load (type) script #
This error message is usually preceded by another error message that will give you the reason why the attempt to load the script failed. The "type" will tell you how the program was attempting to trigger the script, for example, map-autorun, NPC, after-battle, etc.
Script # does not exist
This error message means that the program tried to run a script, but it could not even find the script's data file in the RPG file. See Script error! Script (scriptid) does not exist.
division by zero
When I was in school, my teachers would always tell me that it was impossible to divide a number by zero. I always asked "Why not?". It wasn't until college that I found a teacher who was capable of giving me a good answer to that question, and when he did, the answer went right over my head. So I decided to take their word for it. If the math-people of the world say it cannot be done, then I am not going to argue with them.
Script # is in an unsupported format
The script was compiled with a version of HSpeak that this version of GAME.EXE doesn't support. This means you need to upgrade to the latest version to play the game.
encountered clean noop
A clean noop is a deliberate no-operation command that you can put into your script on purpose with the noop command. The only use of this command is as a way to stop the script interpreter and access the script debugger.
Errors indicating corrupt data or an engine bug
These errors would probably indicate a bug in the engine. Please report it! It may also be possible for them to be caused by corrupt script data or by using mismatched versions of the Game player, HSpeak, and Custom.