function runscript()
	if (getflag(FLAG_REUNITED) == FLAG_OFF) then
		wait(30);
		camera(47, 47);
		wait(30);
		sound("door", 3);
		createnpc("mouse1", 47, 43);
		setanimtemplate("mouse1", ANIM_STAND_LEFT);
		wait(50);
		setanimtemplate("mouse1", ANIM_STAND_RIGHT);
		wait(10);
		setanimtemplate("mouse1", ANIM_STAND_LEFT);
		wait(10);
		setanimtemplate("mouse1", ANIM_STAND_RIGHT);
		wait(10);
		setanimtemplate("mouse1", ANIM_STAND_LEFT);
		wait(30);
		speaker("mouse1");
		say("||Man...|| this place is the dumps,|| and this whole upside down thing is getting pretty annoying too.");
		say("||I should've just buzzed off when that blue jerk told me to.|| But I guess I couldn'tve known he was going to push me off that cliff.");
		say("||||I'm just glad I landed on that pig cop...|| Knocked him straight unconscious long enough for me to steal his money,|| nyeh| heh!");
		wait(10);
		say("||||Speaking of money,|| I wonder how much I can get for this thing...");
		sound("weaponswitch", 3);
		createnpc("brokendevice", 47, 42);
		wait(50);
		say("Too bad it broke when I fell.");
		wait(10);
		sound("weaponswitch", 3);
		destroy("brokendevice");
		wait(100);
		say("||Guess, I'll just have to find someone to fix it then,|| won't I? || Nyeh| heh| heh| heh!");
		say("||||Smell ya later.||||||/n...Wait, who am I even talking to?");
		say("||||I'm outta here.");
		wait(10);
		walktoxspeed("mouse1", 48, 2);
		wait(10);
		explode(48, 43);
		sound("swiftjump", 3);
		jump("mouse1", -10);
		wait(25);
		restartcamera();
		wait(50);
		destroy("mouse1");
		setflag(FLAG_REUNITED, FLAG_ON);
		wait(10);
		doscript("end-of-demo");
	end
end