This is the REAL Item-4, but only Version 0.5 of it. Copied-and-pasted from PureZC:

Well, this is my "secret script". Yes... Warp randomly across the screen now! Problems? It generally places you around the middle of the screen on the first few uses, but after that, it works PERFECTLY. Ignore the combo stuff for now- I haven't made code for them yet. But I have plans for them.... Because I don't want to reveal their usage yet, I shall erase any mention of what they do so you can't expect them. And now, the script. So far, only variable you should change is Magic, which, as you should know, is what holds the value for the amount of Magic the script should take away. DO THIS IN FULL CONTAINERS, AS THERE IS A BUG IN ALL BUILDS SO FAR THAT MAKES YOUR MAGIC METER ENDLESSLY LOOP IF YOU TRY TO USE ANYTHING LESS THAN A VALUE OF 32.
Code:
// Warp Machine- When used, this Item will warp Link to a random location on the current screen. If used on certain combos, however, this
// item will warp you to a specific location on the current screen, or to a new screen altogether, depending on the combo you're on.
// Variables:
// Magic- Magic required to use, in 32nds of a Container.

// LinkXOld- Link's X-coordinate before warping. Leave this alone.
// LinkYOld- Link's Y-coordinate before warping. Leave this alone, too.
// LinkXY- Self explanatory.
// RandomX- Randomized X-position. Changing this has no effect on anything. :P
// RandomY- Randomized Y-position. Leave this alone.
// RandomXY- Stay away from this.

import "std.zh"
item script Warper
{
	int Magic = 128;
	int ComboO1 = 0;
	int ComboO2 = 0;
	int ComboO3 = 0;
	int ComboOE = 0;
	int ComboOT1 = 0;
	int ComboOT2 = 0;
	int ComboOT3 = 0;
	int ComboONS1 = 0;
	int ComboONS2 = 0;
	int ComboONS3 = 0;
	int ComboD1 = 0;
	int ComboD2 = 0;
	int ComboD3 = 0;
	int ComboDE = 0;
	int ComboDT1 = 0;
	int ComboDT2 = 0;
	int ComboDT3 = 0;
	int ComboDNS1 = 0;
	int ComboDNS2 = 0;
	int ComboDNS3 = 0;
	int LinkXOld = 0;
	int LinkYOld = 0;
	int LinkXY = 0;
	int RandomX = 0;
	int RandomY = 0;
	int RandomXY = 0;

	void run()
	{
		if (Link->MP >= Magic)
		{
			LinkXOld = Link->X;
			LinkYOld = Link->Y;
			RandomX = Floor(Rand(1) * 241);
			RandomY = Floor(Rand(1) * 161);
			float remainder = RandomX % 16;
			if (remainder <= 8)
			{
				RandomX = RandomX - remainder;
			}
			else
			{ 
				RandomX = RandomX + 16 - remainder;
			}
			float remainderY = RandomY % 16;
			if (remainderY <= 8)
			{
				RandomY = RandomY - remainderY;
			}
			else
			{
				RandomY = RandomY + 16 - remainderY;
			}
			RandomXY = (RandomY & 240)+(RandomX>>4);
			LinkXY = (LinkYOld)+(LinkXOld);
			if (Screen->ComboD [LinkXY] != ComboO1 || Screen->ComboD [LinkXY] != ComboO2 || Screen->ComboD [LinkXY] != ComboO3 || Screen->ComboD [LinkXY] != ComboOE || Screen->ComboD [LinkXY] != ComboOT1 || Screen->ComboD [LinkXY] != ComboOT2 || Screen->ComboD [LinkXY] != ComboOT3 || Screen->ComboD [LinkXY] != ComboD1 || Screen->ComboD [LinkXY] != ComboD2 || Screen->ComboD [LinkXY] != ComboD3 || Screen->ComboD [LinkXY] != ComboDE || Screen->ComboD [LinkXY] != ComboDT1 || Screen->ComboD [LinkXY] != ComboDT2 || Screen->ComboD [LinkXY] != ComboDT3 || Screen->ComboD [LinkXY] != ComboONS1 || Screen->ComboD [LinkXY] != ComboONS2 || Screen->ComboD [LinkXY] != ComboONS3 || Screen->ComboD [LinkXY] != ComboDNS1 || Screen->ComboD [LinkXY] != ComboDNS2 || Screen->ComboD [LinkXY] != ComboDNS3)
			{
				if (Screen->ComboS [RandomXY] != 0)
				{
					Link->X = LinkXOld;
					Link->Y = LinkYOld;
				}
				else if (Screen->ComboS [RandomXY] == 0)
				{
					Link->X = RandomX;
					Link->Y = RandomY;
					Link->MP -= Magic;
					Quit();
				}
			}
		}
	}
}
If you feel taunted by the fact that I left the varaibles themselves in, then good. Let's see you ponder about what my plan could be for them....

And remember.....

IT'S A SECRET TO EVERYBODY.