Come on guys, he's got undeclared constants in that script.


At the top of your script file, copy in this:
Code:
import "std.zh"
It needs to be at the top of all script files to load in some number constants that the system uses.
The script was referencing them, but it didn't know where they were.

Make sure you keep all your scripts in the same file too, that's quite important.

EDIT: Oops, you put it in there already.
Missed that, sorry.

Code:
import "std.zh"

ffc script signpost{
	void run(int m){
		while(true){
			while(Link->X < this->X - 8 || Link->X > this->X + 24 || Link->Y < this->Y || Link->Y > this->Y + 24 || Link->Dir != DIR_UP || !Link->InputL || Link->Z != 0){
				Waitframe();
			}
			Link->InputL = false;
			Screen->Message(m);
			while(Link->X >= this->X - 8 && Link->X <= this->X + 24 && Link->Y >= this->Y && Link->Y <= this->Y + 24 && Link->Dir == DIR_UP){
				Waitframe();
			}
			Screen->Message(0);
		}
	}
}
Try that.