User Tag List

Results 1 to 5 of 5

Thread: LTTP Wistle

  1. #1
    Octorok
    Join Date
    Jan 2008
    Age
    32
    Posts
    129
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    939
    Level
    10
    vBActivity - Bars
    Lv. Percent
    63.52%

    LTTP Wistle

    I have attempted to recreate the LTTP wistle.
    http://www.mediafire.com/download.php?vnkmwy1mjzm
    Everything does work (sure it needs to be polished up)but it seems that Link lose the flute item when he goes to an another screen in the forbidden forest...
    And it doesn't do that when Link is in Town...

    Help?
    Build 901 btw.

  2. #2
    Lynel
    ZC Developer
    pkmnfrk's Avatar
    Join Date
    Jan 2004
    Location
    Toronto
    Age
    37
    Posts
    1,248
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    3,142
    Level
    18
    vBActivity - Bars
    Lv. Percent
    10.46%

    Re: LTTP Wistle

    If you're asking for help, I would need a copy of the script...
    Tale of the Cave - a web comic - Updates Monday, Wednesday, Friday
    ZC Tutorials - Tutorials and Script Library - Updated July 30, 2008
    ZeldaGuard - Corruption in my save files? It's more likely than you think!
    I do script requests!

  3. #3
    Octorok
    Join Date
    Jan 2008
    Age
    32
    Posts
    129
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    939
    Level
    10
    vBActivity - Bars
    Lv. Percent
    63.52%

    Re: LTTP Wistle

    Code:
    import "std.zh"
    /////////////LTTP Wistle Script Constants//////
    const int BirdDataRight=23718;
    const int BirdDataLeft=23720;
    const int LinkOcarinaData=23801;
    const int LinkShadow=632;
    int warpx;
    int warpy;
    bool wistle;
    bool bird1;
    bool bird2;
    bool bird4;
    
    void ScreenIsWavy(int numframes)
    {
        while(numframes>0)
        {
            Screen->Wavy=50;
            numframes-=numframes;
            Waitframe();
        }
    }
    ffc script WistleWorldSelection
    {
        void run(int maxworlds)
        {
            int cursor;
            while(true)
            {
                Link->InputStart=false;
                if(Link->InputUp)
                {
                    Game->PlaySound(64);
                    Link->InputUp=false;
                    Waitframe();
                    cursor-=1;
                }
                if(Link->InputDown)
                {
                    Game->PlaySound(64);
                    Link->InputDown=false;
                    Waitframe();
                    cursor+=1;
                }
                if(cursor<0)cursor=0;
                if(cursor>maxworlds)cursor=maxworlds;
                if(cursor==0)this->Y=0;
                if(cursor==1)this->Y=48;
                if(Link->InputA)
                {
                    Link->InputA=false;
                    Waitframe();
                    if(cursor==0)
                    {
                        bird4=true;
                        warpx=40;
                        warpy=112;
                        Link->Warp(0,66);
                        Quit();
                    }
                    if(cursor==1)
                    {
                        bird4=true;
                        warpx=120;
                        warpy=112;
                        Link->Warp(3,81);
                        Quit();
                    }
                }
            Waitframe();
            }
        }
    }
    
    ffc script LinkIsFrozen
    {
        void run()
        {
            while(true)
            {
                Link->Action=3;
                Waitframe();
            }
        }
    }
    item script LTTP_Wistle_Action
    {
        void run()
        {
            wistle=true;
        }
    }
    
    global script slot2
    {
        void run()
        {
            int birdy;
            int birdx;
            int rate;
            int shadowy;
            int ratex;
            int ratey;
            int realratex;
            int realratey;
            bool IsTaken;
            while(true)
            {
                int x=Link->X;int y=Link->Y;
                int currentScreen=Game->GetCurScreen();
                int currentDScreen=Game->GetCurDMapScreen();
                int currentMap=Game->GetCurMap();
                int currentDmap=Game->GetCurDMap();
                ////////////LTTP Wistle Script//////////
                if(wistle)
                {
                    Game->PlaySound(33);
                    int i;
                    while(i<40)
                    {
                        Link->Action=LA_DROWNING;
                        Screen->DrawCombo(3,x,y, LinkOcarinaData, 1, 1,6, 1, 0, 0, 0,0, 0, true, 128);
                        i++;
                        Waitframe();
                    }
                    Link->Action=3;
                    wistle=false;
                    bird1=true;
                }
                if(bird1)
                {
                    birdy=y-16;
                    while(birdx<=Link->X)
                    {
                        Screen->DrawTile(1,birdx, birdy+16,LinkShadow, 1, 1,7, 1,0, 0, 0,0, true, 64);
                        Screen->DrawCombo(3,birdx,birdy,BirdDataRight,1, 1,7, 1, 0, 0, 0,0, 0, true, 128);
                        birdx+=2;
                        Waitframe();
                    }
                    Link->Action=LA_NONE;
                    bird1=false;
                    bird2=true;
                }
                if(bird2)
                {
                    birdx=Link->X;birdy=Link->Y-16;
                    IsTaken=true;
                    rate=1;
                    shadowy=Link->Y;
                    while(IsTaken)
                    {
                        Link->Action=LA_HOLD1LAND;
                        birdx+=2;
                        birdy+=rate*-2;
                        Screen->DrawCombo(3,birdx,birdy,BirdDataRight,1, 1,7, 1, 0, 0, 0,0, 0, true, 128);
                        Screen->DrawTile(1,birdx, shadowy,LinkShadow, 1, 1,7, 1,0, 0, 0,0, true, 64);
                        Link->X=birdx;Link->Y=birdy+16;
                        if (birdx>=232||birdy<=0)IsTaken=false;
                        Waitframe();
                    }
                    bird2=false;
                    ScreenIsWavy(120);
                    Link->Warp(4,7);
                }
                if(bird4)
                {
                    ScreenIsWavy(120);
                    birdx=warpx;
                    birdy=warpy;
                    shadowy=warpy+16;
                    Link->Action=0;
                    while(bird4)
                    {
                        birdx-=2;
                        Screen->DrawCombo(3,birdx,birdy,BirdDataLeft,1, 1,7, 1, 0, 0, 0,0, 1, true, 128);
                        Screen->DrawTile(1,birdx, shadowy,LinkShadow, 1, 1,7, 1,0, 0, 0,0, true, 64);
                        if(birdx<0)bird4=false;
                        Waitframe();
                    }
                }
                //////////END//////////////
                Waitframe();
            }
        }
    }
    Also, it was all included with the file...

    And I'm not even sure if it is a Zscript problem... It seems like a bug to me.

  4. #4
    Lynel
    ZC Developer
    pkmnfrk's Avatar
    Join Date
    Jan 2004
    Location
    Toronto
    Age
    37
    Posts
    1,248
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    3,142
    Level
    18
    vBActivity - Bars
    Lv. Percent
    10.46%

    Re: LTTP Wistle

    Well, that is a very nice script. And, it's not the problem.

    The town uses the "Active Subscreen (Dungeon Map)" subscreen, while the forest uses "Active Subscreen (Triforce)". The triforce subscreen is not set up properly, and the whistle is not connected to anything! So, as soon as ZC tries to update it, it goes "bzuh", and kicks it off the menu.

    I modified the triforce subscreen so the whistle had proper settings, and suddenly, it worked again. The settings I used:

    Position: 4, Up Select: 0, Down Select: 0, Left Select: 3, Right Select: 5

    And, it worked like a charm!

    (side note: you have some under-combo issues in the forest you may want to take a look at)
    Tale of the Cave - a web comic - Updates Monday, Wednesday, Friday
    ZC Tutorials - Tutorials and Script Library - Updated July 30, 2008
    ZeldaGuard - Corruption in my save files? It's more likely than you think!
    I do script requests!

  5. #5
    Octorok
    Join Date
    Jan 2008
    Age
    32
    Posts
    129
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    939
    Level
    10
    vBActivity - Bars
    Lv. Percent
    63.52%

    Re: LTTP Wistle

    Hehe. I feel like a total noob now. :p

    Thanks. :)

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social