Re: Gameboy-Zelda Style Bottomless Pits/Lava Script
I guess I encountered some odd bug with this script in The Fort Knights. Somehow I died while Link disappeared after I fell down a pit but before Link reappeared on the surface. The result? When Link resurfaced, he was invisible. The only way to remedy this was to fall down the pit again.
Quote:
Originally Posted by Joe123
Do I not need to work about the invisible LTM then?
I hope this isn't what I was talking about, and therefore I would look like an idiot... ;)
Re: Gameboy-Zelda Style Bottomless Pits/Lava Script
Quote:
Originally Posted by
Amaster42
Nope. Definitely a non-zero transparent combo. I'm stumped.
Well, I made a few minor changes to the script between last using it and posting it up, so I'll go and check it again but I don't think I could've broken it.
Quote:
I guess I encountered some odd bug with this script in The Fort Knights. Somehow I died while Link disappeared after I fell down a pit but before Link reappeared on the surface. The result? When Link resurfaced, he was invisible. The only way to remedy this was to fall down the pit again.
Oh yeah, I've fixed that one.
Quote:
Quote:
Do I not need to work about the invisible LTM then?
I hope this isn't what I was talking about, and therefore I would look like an idiot...
Funny, I meant to put 'worry' there, not 'work'.
Anyway, at the moment the script requires making Link invisible via LTM, but _L_ was suggesting another method.
He didn't reply though, so at the moment, LTM still.
Re: Gameboy-Zelda Style Bottomless Pits/Lava Script
Well, step by step heres what I do:
1.)Open Scripts.z
2.)Set the 5 variables at the top of the script.
3.)Save and Quit
4.)Open up ZC and my quest.
5.)Go to "Import ZScript"
6.) Import and Compile
7.) Assign to slot 4.
8.)Go to FFC 5.
9.)Set the combo ot a non-zero blank.
10.) Assign it script 4
11.) Set the arguments.(For the record, the only one I set is the combo number)
12.)Save and quit
13.) Open ZC and my quest.
14.) Walk on the combos. Nothing happens.
15.) Open ZC. The FFC is blank. WTH?
If it matters, my pit combo is entirely blank property wise.
Re: Gameboy-Zelda Style Bottomless Pits/Lava Script
You set the combo number?
And what number are you setting there?
The Combo ID number of a combo that looks like a pit?
Don't be doing that.
What you want to do is make all of your pits have the combo type number (so, 35 for centre statue) that is set in that box.
Centre Statue is default.
So don't make your pit combos blank propertywise, and don't set an absurdly high value in that box, because it ain't a combo ID.
That doesn't solve the dissapearing FFC problem though.
Hrm.
Re: Gameboy-Zelda Style Bottomless Pits/Lava Script
Ohhhhhhhhh...
I get it now. That makes sense. I had the two confused. Off to test.
EDIT: She works! As for the reseting, well I had to similar test screens set up, and on only one had I set it to a non-zero. There's the problem.
Re: Gameboy-Zelda Style Bottomless Pits/Lava Script
And now Mark 2:
Code:
const int linkfalling = 0; // set here the first tile of your 5 tile Link Falling animation
const int linklava = 0; // set here the first tile of your 5 tile Link Drowning animation
const int fallingsfx = 0; // set here the SFX that plays when Link falls
const int lavasfx = 0; // set here the SFX that plays when Link drowns in lava
ffc script hole{
void run(int lava, int warpx, int warpy, int combotype, int tile){
int sfx = fallingsfx;
if(warpx == 0 && warpy == 0){Waitframes(5); warpx = Link->X; warpy = Link->Y;}
if(tile == 0){tile = linkfalling;}
if(combotype == 0){combotype = 35;}
if(lava != 0){if(tile == linkfalling){tile = linklava;}sfx = lavasfx;}
int i; int x; int y; bool falling;
while(true){
falling = false;
while(Screen->ComboT[ComboAt(Link->X+8, Link->Y+8)] != combotype || Link->Z > 0 || Link->Action == LA_FROZEN) Waitframe();
i = 0;
while(Screen->ComboT[ComboAt(Link->X+8, Link->Y+8)] == combotype && Link->Z == 0 && Link->Action != LA_FROZEN && i < 5){
i++;
if(i==5) falling = true;
Waitframe();
}
if(falling){
Screen->ClearSprites(3);
Game->PlaySound(sfx);
x = Link->X; y = Link->Y;
for(i=0;i<40;i++){
Waitframe();
Link->Action = LA_DROWNING;
if(lava == 0) Screen->DrawTile(2, x, y, tile+Floor(i/8), 1, 1, 6, 1, 0, 0, 0, 0, true, 128);
else Screen->DrawTile(2, x, y, tile+Floor(i/8), 1, 1, 6, 1, 0, 0, 0, 0, true, 128);
}
Link->X = warpx; Link->Y = warpy;
Link->Action = 0;
Link->HP -= 8;
Game->PlaySound(19);
}
}
}
}
No need for silly Link Tile Modifiers anymore!
All other set up is the same though.