Code:
const int ClimbingFlag = 99;
const int Gift1Data = 53040;
const int Gift2Data = 53041;
const int Gift3Data = 53042;
const int Gift1Cset = 7;
const int Gift2Cset = 8;
const int Gift3Cset = 9;
const int booktile = 705;
const int LinkStandingOneHand = 33;
const int LinkStandingTwoHands = 32;
const int BookSecretSound = 60;
const int BookItemId=123;

ffc script masterswordsign
{
    void run(int m, int m2)
    {
        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->InputA)
            {
                Waitframe();
            }
            Link->InputA = false;
            Screen->Message(m);
            Waitframe();
            if (Link->Item[32]==true)
            {
                float x; float y;
                Link->Action=3;
                Link->X=x; Link->Y=y;
                Link->X=240;Link->Y=0; //Link disappears. :)
                Screen->DrawTile(3, x, y, LinkStandingTwoHands, 1, 1, 6,0,0,0,0,0, false, 128); //The tile where Link hold up two hands doesn't appear...doesn't appear... :(
                Screen->DrawTile(3, x, y+16, booktile, 1, 1,6, 0, 0, 0, 0,0, false, 128);//the tile of the book doesn't appear... :(
                Waitframes(180);
                Screen->Message(m2);//the message shows up :)
                Waitframes(180);
                Game->PlaySound(BookSecretSound);//we can hear the sound :)
                Screen->DrawTile(3,x-16,y+16, Gift1Data, 1,1, Gift1Cset,0,0,0,0,0,false,128); //Three stones are supposed to be above Link head but unfortunately they don't appear... :(
                Screen->DrawTile(3,x,y+16, Gift2Data, 1,1, Gift2Cset,0,0,0,0,0,false,128);
                Screen->DrawTile(3,x+16,y+16, Gift3Data, 1,1, Gift3Cset,0,0,0,0,0,false,128);
                Screen->Rectangle(5, 0, 0, 300, 200, 0, 0, 0, 0, 0, true, 128);
                for (int radius=200;radius==64;radius--) //I wanted to black out the screen and make a transparent circle that is diminished in size so we can see Link just like in LTTP (when he enters a house for example), but that part is ignored completely... :(
                {
                    Screen->Circle(5, x, y, radius, 0, 0, 0, 0, 0, true,64);
                }
                    ffc mastersword=Screen->LoadFFC(2); //I wanted that the master sword appear in the air, then moves down and stops at Link->Y-16 but that part is also ignored completely... :(
                    while(Screen->NumItems()==0)
                    {
                        int yM;
                        for(yM=mastersword->Y;yM==Link->Y-16;mastersword->Vy=1){}
                        Screen->CreateItem(6); //that would make appear the master sword just under Link but didn't worked...
                        Link->X=x;Link->Y=y;
                        Quit();
                    }
            }
            else
                {
                    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);
                }
        }
    }
}
It is like the sign script, but when you've got a specific object, an another message appear. Just like when in LTTP when you read a sign with the book. And just like in ocarina of time, if you have the three stones, they show up above Link's head and then it gives you the master sword... but didn't work... but it isn't buggy so I'm sure it can be fixed easily...