Jump to content

Photo

I need some help here.


  • Please log in to reply
21 replies to this topic

#1 EnnonFenom

EnnonFenom

    Why, must I clean out Old Lady Simmon's Cave?

  • Banned
  • Real Name:Eric Dethel

Posted 30 December 2007 - 05:08 PM

Ok I am making a Deku tree, and I got the animation tiles of him opening his mouth. What I need help with is figuring out how I can set him up were he waits to open his mouth until the string is finished, then his mouth stays open after it opens all the way. (sort of link the regrowing shrubs/bushes.)

#2 TetriTek

TetriTek

    Wizard

  • Members
  • Real Name:Joshua Johnson
  • Location:Clinton

Posted 30 December 2007 - 06:48 PM

you will probably need to use 'next' combos. dont know exactly how to go about doing the waiting part. maybe use a timed warp or somthing. or when you press down, he goes to the next screen, in which he opens his mouth.

#3 Twilight Knight

Twilight Knight

    Tell all with glee, Argon's on PureZC

  • Members
  • Real Name:Sven
  • Location:Rotterdam, NL

Posted 30 December 2007 - 07:14 PM

Is this like: Link hears him talkin' and then he opens his mouth for him? Well solution:
While he is talking, let him keep his mouth shut (akward statement). When he is gonna say that he opens his mouth for link, warp link to another screen where he shows an animation of his mouth getting open and then stays open (animate the tile and then cycle it to the last tile (with his mouth fully open) so it won't restart) and let him talk meanwhile. When he is done, let link move freedomly into direct warps, surrounding him, which warp him to a screen where the Tree has his mouth open. Now you have to use boss triggers and side warps. Link should be able to walk back to the entrance of the Tree his "valley". His valley should be an interior Dmap(cave) set on a level(10 or higher). Make the latest cutscene with the Tree a boss room. Make the entrance of the valley the Boss trigger room, by making it a boss room as well and use the enemy trigger. Place secret combos in the entrance screen which link to a entrance screen which is part of a new DMap which is a overworld type, and must exist out of 2 screens if you use ZC2.10 or 1 if you use the latest builds............
Now I simply don't get further myself. :S I'm stuck in my own solution.

#4 EnnonFenom

EnnonFenom

    Why, must I clean out Old Lady Simmon's Cave?

  • Banned
  • Real Name:Eric Dethel

Posted 30 December 2007 - 07:30 PM

Thanks Tk I will try that.

#5 Joe123

Joe123

    Retired

  • Members

Posted 31 December 2007 - 05:09 AM

Right, now this is an art I was getting quite slick back when I was working on Overworld Adventures, so I shall try and give an explanation that fits the latest builds.

First, obviously, you need to have duplicate screens.
What you'll need to do (well, short of scripting, did you want to script it? I could help with that if you want) is:
On the screen before the Deku Tree, have direct warps to a duplicate of that screen, that run like a barrier across that you have to walk into.
The duplicate takes you to the Deku Tree saying the string.
After he says the string, have Link walk onto a Direct Warp combo, which will warp him to the screen where the Deku Tree opens his mouth (so that it cycles and stays open obviously)
Where Link is standing on that screen, have him be on a 'Trigger (Sens. Permanent)' combo, and have the Room State Carryover for that room remove the Direct Warps in the first room, so that when Link enters that room, he won't be warped.

And you just need to have it so that when he leaves the Deku Tree again he enters the new screen, obviously, rather than the old two.

It is possible that you might be able to glean some information from the subject here (unpassworded), I did have a few similar scenarios to that with the appearing bridges, although it was mostly on remote screens and didn't involve strings.

Also, this script might be of use to you:
CODE
ffc script a_combo{
    void run(int dly){
        if(dly == 0){dly = 3;}
        int combo = ??;// all you need to do is replace the '??' here with an 'autowarp' combo
        while(true){
            dly--;
            if(dly>0){}
            else{
                if(Link->InputA){
                Link->InputA = false;
                this->Data = combo;
                }
            }
        Waitframe();
        }
    }
}

What it does is, after a string is played, warp Link when he presses 'A' for the last time, rather than having to use all of that direct warp nonsense.
You need to have the quest rule Messages Freeze All Action checked though.

And be wary that it warps Link via the screen's appropriate Sidewarp, not tile (that's how autowarps work), and that if you want him to stay at the same (x,y) coordinates on the new screen, you have to check the screen flag 'Direct Autowarp'

#6 Twilight Knight

Twilight Knight

    Tell all with glee, Argon's on PureZC

  • Members
  • Real Name:Sven
  • Location:Rotterdam, NL

Posted 31 December 2007 - 05:42 AM

Yes, Joe's solution is better.
Thanks for it BTW, because I need this kindoff stuff in my own quest too.^^

#7 EnnonFenom

EnnonFenom

    Why, must I clean out Old Lady Simmon's Cave?

  • Banned
  • Real Name:Eric Dethel

Posted 31 December 2007 - 07:30 PM

QUOTE(Joe123 @ Dec 31 2007, 02:09 AM) View Post

CODE
ffc script a_combo{
    void run(int dly){
        if(dly == 0){dly = 3;}
        int combo = ??;// all you need to do is replace the '??' here with an 'autowarp' combo
        while(true){
            dly--;
            if(dly>0){}
            else{
                if(Link->InputA){
                Link->InputA = false;
                this->Data = combo;
                }
            }
        Waitframe();
        }
    }
}


Ok I tried that but I got errors this is what I tried:
CODE

import "std.zh"
ffc script a_combo{
    void run(int dly){
        if(dly == 0){dly = 3;}
        int combo = ??;// all you need to do is replace the '??' here with an 'autowarp' combo
        while(true){
            dly--;
            if(dly>0){}
            else{
                if(Link->InputA){
                Link->InputA = false;
                this->Data = combo;
                }
            }
        Waitframe();
        }
    }
}

And I also tried :
CODE

import "std.zh"
ffc script a_combo{
    void run(int dly){
        if(dly == 0){dly = 3;}
        int combo = 'autowarp';
        while(true){
            dly--;
            if(dly>0){}
            else{
                if(Link->InputA){
                Link->InputA = false;
                this->Data = combo;
                }
            }
        Waitframe();
        }
    }
}

But with both I get error screens Say unexpected syntax on line five, If it is possible could you write the whole code were I dont have to change anything or add any thing, please?

Edited by ennonfenom, 31 December 2007 - 07:31 PM.


#8 Joe123

Joe123

    Retired

  • Members

Posted 31 December 2007 - 08:57 PM

Oh.

Make an autowarp type combo in the combo editor, where the tile is transparent.

Check the combo ID number of that combo, and replace the '??' in the script with that number.

That's all you need to do.

#9 EnnonFenom

EnnonFenom

    Why, must I clean out Old Lady Simmon's Cave?

  • Banned
  • Real Name:Eric Dethel

Posted 01 January 2008 - 02:34 PM

Oh ok, I was kinda thinking that way after I posted last time, I will go and do that thanks.


Edit: Ok so I got it to work, but I had to chand the auto warp to direct warp. But there is one problem:
No matter what guy I pick for the string, I get the tile I used for the warp showing up on the Deku tree:
IPB Image How would I fix this?

Edited by ennonfenom, 01 January 2008 - 07:15 PM.


#10 Joe123

Joe123

    Retired

  • Members

Posted 01 January 2008 - 07:26 PM

Ahh, you edited and I missed it.

I'd send this back in the PM, but I've only got a few posts to go now =P

Why should changing what Guy the string uses get rid of that tile?
The script has nothing to do with the string, what is says is:
Wait for 3 frames (which is long enough for the string to start and stop all action), then when Link presses A, warp him.

You changed the combotype to direct warp? icon_eek.gif

And it works like that?

Really?

It shouldn't...


Well, unless you've put the ffc where Link is?
Are Link and the ffc where that piece of grass is?


And if you just make the combo transparent then you shouldn't have any problems.

#11 EnnonFenom

EnnonFenom

    Why, must I clean out Old Lady Simmon's Cave?

  • Banned
  • Real Name:Eric Dethel

Posted 01 January 2008 - 07:32 PM

QUOTE(Joe123 @ Jan 1 2008, 04:26 PM) View Post

Ahh, you edited and I missed it.

I'd send this back in the PM, but I've only got a few posts to go now =P

Why should changing what Guy the string uses get rid of that tile?
The script has nothing to do with the string, what is says is:
Wait for 3 frames (which is long enough for the string to start and stop all action), then when Link presses A, warp him.

You changed the combotype to direct warp? icon_eek.gif

And it works like that?

Really?

It shouldn't...
Well, unless you've put the ffc where Link is?
Are Link and the ffc where that piece of grass is?
And if you just make the combo transparent then you shouldn't have any problems.

Well at first I tried it the way you said, and the string would not come up and it auto warped me to screen 80 ( thats not were I set the warp up for) So I switched it to a d-warp and It worked. So for making the combo transparent, How would I make the combo transparent and still look right? Will it work on layers? icon_freak.gif

Edited by ennonfenom, 01 January 2008 - 07:33 PM.


#12 Joe123

Joe123

    Retired

  • Members

Posted 01 January 2008 - 07:37 PM

QUOTE(ennonfenom @ Jan 2 2008, 12:32 AM) View Post

Well at first I tried it the way you said, and the string would not come up and it auto warped me to screen 80 ( thats not were I set the warp up for) So I switched it to a d-warp and It worked.


CODE
ffc script a_combo{
    void run(int dly){
        if(dly == 0){dly = 5;}
        int combo = ??;// all you need to do is replace the '??' here with an 'autowarp' combo
        while(true){
            dly--;
            if(dly>0){}
            else{
                if(Link->InputA){
                Link->InputA = false;
                this->Data = combo;
                }
            }
        Waitframe();
        }
    }
}


Try that one, with an autowarp type combo.
You'll need to set the screen's sidewarp, not tilewarp though, because autwo warps use the sidewarp.

QUOTE(ennonfenom @ Jan 2 2008, 12:32 AM) View Post

So for making the combo transparent, How would I make the combo transparent and still look right? Will it work on layers? icon_freak.gif


Why would it not look right if you made the combo transparent?
Do you understand ffcs?

They're drawn on layer 0.5 as per default, if you make it transparent it'll just show the combo you placed beneath it.
You can make them be drawn on a higher layer, with the 'draw over' function.

#13 EnnonFenom

EnnonFenom

    Why, must I clean out Old Lady Simmon's Cave?

  • Banned
  • Real Name:Eric Dethel

Posted 01 January 2008 - 07:52 PM

(LOL, I am going to get you to 1k, with asking of you help icon_sweat.gif )
QUOTE(Joe123 @ Jan 1 2008, 04:37 PM) View Post

Try that one, with an autowarp type combo.
You'll need to set the screen's sidewarp, not tilewarp though, because autwo warps use the sidewarp.

Thats How I set it up the first time!
QUOTE(Joe123 @ Jan 1 2008, 04:37 PM) View Post

They're drawn on layer 0.5 as per default, if you make it transparent it'll just show the combo you placed beneath it.
You can make them be drawn on a higher layer, with the 'draw over' function.

No I really don't under stand ffc's icon_sweat.gif And I for sure don't know how to use the 'draw over' function? So how do I use the 'draw over' function?


#14 Joe123

Joe123

    Retired

  • Members

Posted 01 January 2008 - 08:01 PM

QUOTE(ennonfenom @ Jan 2 2008, 12:52 AM) View Post

Thats How I set it up the first time!

No I really don't under stand ffc's icon_sweat.gif And I for sure don't know how to use the 'draw over' function? So how do I use the 'draw over' function?


Oh well, you better keep it how it is then if it's working.

And urm.
Well, don't worry too much about not understanding ffcs I suppose.

They're sort of like freeform sprites, so they aren't on a layer.

And you don't need to use 'draw over', it's just a check-box in the ffc's data, that makes it appear above Link.

QUOTE(ennonfenom @ Jan 2 2008, 12:52 AM) View Post

(LOL, I am going to get you to 1k, with asking of you help icon_sweat.gif )


Why thankyou Mr. Fennom =P

#15 EnnonFenom

EnnonFenom

    Why, must I clean out Old Lady Simmon's Cave?

  • Banned
  • Real Name:Eric Dethel

Posted 01 January 2008 - 08:41 PM

Well This not working this way, I went to data>ffc> made sure that the script was loaded All I saw that was there is draw over so I checked it and also me changed the tile to a transparent one, and still the grass tile is showing up there, So I am just going to do it with out the script oh well icon_shrug.gif


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users