The Help Thread
The Help Thread
So, since this project seems to be "a thing" now, and there's plenty of people who've applied to make dungeons, I think it's only fair and square to start a help thread in order to help those out who have questions about the engine, userscripts, and so on.
Please check the ZCWiki, the FAQ and the 2.5 tutorial first before asking any questions in here!
If you're an experienced user or otherwise know the answer to a question posed in this thread, please take just one or two minutes to help the newer ones here - it'd be really appreciated!
-------------------------------------------------------------------------------------
That said, I didn't make this thread purely out of chivalry - I have a question myself, concerning the classic Zelda fall-down pits.
How do you implement them?
I can't seem to find a combo that hurts Link AND warps him back to the entrypoint of a given screen, all the empty-space ones only warp him, but don't hurt him. Is there some way to change the properties of a combo so that it warps AND hurts Link (perhaps even shows a falling animation)?
Thanks in advance for your answers.
Please check the ZCWiki, the FAQ and the 2.5 tutorial first before asking any questions in here!
If you're an experienced user or otherwise know the answer to a question posed in this thread, please take just one or two minutes to help the newer ones here - it'd be really appreciated!
-------------------------------------------------------------------------------------
That said, I didn't make this thread purely out of chivalry - I have a question myself, concerning the classic Zelda fall-down pits.
How do you implement them?
I can't seem to find a combo that hurts Link AND warps him back to the entrypoint of a given screen, all the empty-space ones only warp him, but don't hurt him. Is there some way to change the properties of a combo so that it warps AND hurts Link (perhaps even shows a falling animation)?
Thanks in advance for your answers.
Last edited by Aposke 11 years ago, edited 1 time in total.
Re: The Help Thread
That's a scripted combo. The script can be found here. There's multiple scripts in there. The one you probably want is the ffc one because combining global scripts can get complicated.Aposke wrote:That said, I didn't make this thread purely out of chivalry - I have a question myself, concerning the classic Zelda fall-down pits.
How do you implement them?
I can't seem to find a combo that hurts Link AND warps him back to the entrypoint of a given screen, all the empty-space ones only warp him, but don't hurt him. Is there some way to change the properties of a combo so that it warps AND hurts Link (perhaps even shows a falling animation)?
Thanks in advance for your answers.
And here's a tutorial on how to import scripts.
- raekuul
- D&C 112:13
- Posts: 1855
- Joined: 15 years ago
- First name: Pokota
- Pronouns: he/him/his
- Location: Deti Plains
- Contact:
Re: The Help Thread
I plan on using sideview rooms with sideview gravity to force the player to get the Roc's Feather before heading out to the Boss Room. Only, how do I work the ladders? Or can I fake this with combos and no sideview gravity?
The room from which the player will be entering
The middle room
The third room
The room from which the player will be entering
- AlexanderXCIII
- Posts: 0
- Joined: 11 years ago
Re: The Help Thread
Two questions: First, is it possible to tie shutters to trigger flags, i.e. have an arrow switch that opens the shutters in a room? I've managed to simulate the effect I want with secret flags, but it'd still be nice to know if it's possible with shutters.
Second, I've been trying to set up bottomless pits using the script that Moosh linked, but it's not working. So far I've compiled the script successfully (multiple times), assigned them to the FFC and global slots (the second "active" slot in the case of the latter), set up combos and flags and whatnot accordingly (I've even tried both placing the flags manually and tieing the flags to their respective combos), but all that happens is Link walking over the pits with no ill effect.
I bet that this all boils down to something stupidly obvious I'm missing.
(It might be worth mentioning that my latest attempts at compiling failed because some of the constants in one of the .zh files were already declared...)
EDIT: I've ditched the script for now and replaced all my pits with water tiles as a temporary solution. It looks bad but functionally, it works for now.
Second, I've been trying to set up bottomless pits using the script that Moosh linked, but it's not working. So far I've compiled the script successfully (multiple times), assigned them to the FFC and global slots (the second "active" slot in the case of the latter), set up combos and flags and whatnot accordingly (I've even tried both placing the flags manually and tieing the flags to their respective combos), but all that happens is Link walking over the pits with no ill effect.
I bet that this all boils down to something stupidly obvious I'm missing.
(It might be worth mentioning that my latest attempts at compiling failed because some of the constants in one of the .zh files were already declared...)
EDIT: I've ditched the script for now and replaced all my pits with water tiles as a temporary solution. It looks bad but functionally, it works for now.
Last edited by AlexanderXCIII 11 years ago, edited 1 time in total.
Re: The Help Thread
As far as I know, it's not possible with shutters, unless you want to do something like shoot switch -> block appears -> push block to open door. ...Actually, hold that thought. Perhaps a script could do it. Lemme investigate that and I'll get back to you.AlexanderXCIII wrote:Two questions: First, is it possible to tie shutters to trigger flags, i.e. have an arrow switch that opens the shutters in a room? I've managed to simulate the effect I want with secret flags, but it'd still be nice to know if it's possible with shutters.
EDIT: Alright, it seems that what you could do is have a script check for if the flags were triggered, and if so, set all the shutter doors in the room to D_OPENSHUTTER with Screen->Doors[]. I'm not entirely sure how to check if the flags were triggered, though. Might need to use one of the Script combo types, have the trigger change a combo to that, then check if it exists and open the doors that way. Sadly, it seems that may be too complex, especially compared to just using secret flags. :/
Scripts, unfortunately. I don't know why the devs didn't code them in themselves, but they didn't. There's a popular script to make the sideview ladders work, though. Seems really well-made, from my experience. Lemme go get it for ya.raekuul wrote:I plan on using sideview rooms with sideview gravity to force the player to get the Roc's Feather before heading out to the Boss Room. Only, how do I work the ladders? Or can I fake this with combos and no sideview gravity?
EDIT: http://www.purezc.com/forums/index.php? ... ntry761921 Here you go! Sideview ladder script. :)
By the way, I also recommend checking out PureZC for Zelda Classic help. They've got a lot of people willing to help people solve their problems, along with some tutorials and a forum dedicated to scripts! Could be useful.
Re: The Help Thread
I've had the same problem.AlexanderXCIII wrote:Second, I've been trying to set up bottomless pits using the script that Moosh linked, but it's not working. So far I've compiled the script successfully (multiple times), assigned them to the FFC and global slots (the second "active" slot in the case of the latter), set up combos and flags and whatnot accordingly (I've even tried both placing the flags manually and tieing the flags to their respective combos), but all that happens is Link walking over the pits with no ill effect.
I compile the script, assign it to an FFC, specify its size and location, and loaded the script into the active slot, just in case (although I'm 99% sure that's not what is intended). Still, Link doesn't fall, respawn or lose hearts.
Anyone know what we're doing wrong?
Re: The Help Thread
What does the error say? The compiler will usually puke out a message telling you what line it broke on and why. Give me the message and I'll see if I can't debug it for you.raekuul wrote:Riolu180: I can't seem to get that sideview ladder script to import/compile.
-
- Banned
- Posts: 0
- Joined: 11 years ago
Re: The Help Thread
I was having a go at making a Cave of Ordeals/Pit of Trials type level. It seems to be working okay except for some reason the door to leave the first room with octoroks in it (Map 2, Screen 77) just doesn't work - it opens but Link can't walk through it to the next room. It's programmed the same way as all the previous doors which worked so I have no idea. I've attached the .qst file.
Re: The Help Thread
It's because it's screen 77. x7 is the last screen available in dungeons. Basically, the reason you can't go through is because to the game, that is the edge of the available world, and it will not let you through. You have three options:
-Make the map an Overworld-type map so every screen is available
-Change the map layout to avoid going over that edge
-Make another DMap, set it to the right half of the map, and have all screens that cross the boundary between x7 and x8 do a Scrolling warp to the dmap for each half
-Make the map an Overworld-type map so every screen is available
-Change the map layout to avoid going over that edge
-Make another DMap, set it to the right half of the map, and have all screens that cross the boundary between x7 and x8 do a Scrolling warp to the dmap for each half
- raekuul
- D&C 112:13
- Posts: 1855
- Joined: 15 years ago
- First name: Pokota
- Pronouns: he/him/his
- Location: Deti Plains
- Contact:
Re: The Help Thread
Function 'comboat' is undeclaredRiolu180 wrote:What does the error say? The compiler will usually puke out a message telling you what line it broke on and why. Give me the message and I'll see if I can't debug it for you.raekuul wrote:Riolu180: I can't seem to get that sideview ladder script to import/compile.
<edit: see later post>
Last edited by raekuul 11 years ago, edited 1 time in total.
Re: The Help Thread
Add this line to the top of the script:raekuul wrote: Function 'comboat' is undeclared
import "std.zh"
and that should fix that error. I have no idea why that script was posted without it... Let me know if any other errors pop up.
- raekuul
- D&C 112:13
- Posts: 1855
- Joined: 15 years ago
- First name: Pokota
- Pronouns: he/him/his
- Location: Deti Plains
- Contact:
Re: The Help Thread
Okay I have no idea what I'm doing here.
This is what I've saved as SCRIPT Ladder.txt
This is what the editor spits out when I try to import the script.
It does that whether or not std.zh is in quotes or not
I was able to compile it using Scripts > Compile ZScript, but I don't know what to do with it from there.
This is what I've saved as SCRIPT Ladder.txt
It does that whether or not std.zh is in quotes or not
I was able to compile it using Scripts > Compile ZScript, but I don't know what to do with it from there.
Re: The Help Thread
As far as I understand it, you need to Compile the script and then assign it to a Freeform Combo (or an item or event). Then you go to "Screen -> Freeform Combo", choose the FFC you've assigned the script to, and edit its X and Y-coordinates in order to be on the screen where you want it to be.raekuul wrote:I was able to compile it using Scripts > Compile ZScript, but I don't know what to do with it from there.
That's how far I've gotten, but none of the scripts work for me, either.
Re: The Help Thread
Hmmm... It's probably the spacing of it. It looks like the post I linked to mangled the script. When I compiled it, it failed a few times until I removed the spaces that got put in the if statements. I'm including a .zip containing the .z file for the script with this post. Please try it and tell me if it works.raekuul wrote:Okay I have no idea what I'm doing here.
This is what I've saved as SCRIPT Ladder.txtThis is what the editor spits out when I try to import the script.
It does that whether or not std.zh is in quotes or not
I was able to compile it using Scripts > Compile ZScript, but I don't know what to do with it from there.
EDIT: I forgot one thing: Change the constant at the top of the file to be either 768 or 769; it's currently set to the wrong tile for this tileset!
Re: The Help Thread
Sorry, but all the "improved" script that you linked to and uploaded just now does is crash my game. I'm currently using the original script from http://www.purezc.com/forums/index.php? ... ntry756210 and, while I'm still none the wiser as to how to actually get it to work, at least it doesn't crash my game.
Re: The Help Thread
Hm, strange. Oh well, I actually didn't know about THAT script. I suppose that one should be used instead.Aposke wrote:Sorry, but all the "improved" script that you linked to and uploaded just now does is crash my game. I'm currently using the original script from http://www.purezc.com/forums/index.php? ... ntry756210 and, while I'm still none the wiser as to how to actually get it to work, at least it doesn't crash my game.
Have you edited anything in the script at all? If not, change the value of the constant at the top. It's set to what is a poundable stake in the current tileset; 768 or 769 will do the trick.
Re: The Help Thread
...because the waitframe is misplaced. DERP. If you move it under the } it's above, it'll work. What's happening is that it's a while loop that never ends, and the game does nothing until it hits that waitframe, which, at its current position, it never will until you touch a ladder, which will never happen if you're not already on one... So sorry!raekuul wrote:Zelda Classic now hangs when I get on the ladder enter that room.
EDIT: I just checked the one by Moosh that was linked earlier, and it doesn't let you go down, for some reason; the one I fixed does, provided you move the waitframe. ...Actually, lemme go ahead and do that:
Code: Select all
import "std.zh"
const int CT_SIDEVIEWLADDER=142; //Combo Type 142 = Script 1; Set a Combo to the Script 1 combo type to make it work like a sideview ladder
ffc script Ladder
{
void run()
{
while (true)
{
int underlink=ComboAt(Link->X+8, Link->Y+15);
if (Screen->ComboT[underlink]==CT_SIDEVIEWLADDER)
{
Link->Jump=0;
if (Link->InputUp && Screen->isSolid(Link->X+1, Link->Y-1) == false && Screen->isSolid(Link->X+8, Link->Y-1) == false && Screen->isSolid(Link->X+14, Link->Y-1) == false )
{
Link->Y-=1;
}
else if (Link->InputDown && Screen->isSolid(Link->X+1, Link->Y+1) == false && Screen->isSolid(Link->X+8, Link->Y+1) == false && Screen->isSolid(Link->X+14, Link->Y+1) == false )
{
Link->Y+=1;
}
}
Waitframe();
}
}
}
Re: The Help Thread
Right. Simplest thing to do is just change the combo it uses away from 0 (or it won't do anything), give it the Ladder script to run, and hit "ok". Position on the screen doesn't matter, so its default position of 0,0 can be left alone and it'll always work.raekuul wrote:So I still need the FFC somewhere on the screen? OK
-
- Muwha!
- Posts: 141
- Joined: 13 years ago
Re: The Help Thread
http://www.purezc.com/forums/index.php? ... ntry830067
Apparently there's a test file in this post by a member, but I've not downloaded it myself. Might be of use for the sideview ladder.
Apparently there's a test file in this post by a member, but I've not downloaded it myself. Might be of use for the sideview ladder.
Re: The Help Thread
Okay, so the ladder script is a complete piece of shit.
It works fine walking up and down, but when I want to exit the ladder sideways it doesn't work most of the time. At some places it DOES work, but it seems completely arbitrary and is generally pretty much unusable in this state. Other ladder scripts I've tried are either outdated or crash the game.
It works fine walking up and down, but when I want to exit the ladder sideways it doesn't work most of the time. At some places it DOES work, but it seems completely arbitrary and is generally pretty much unusable in this state. Other ladder scripts I've tried are either outdated or crash the game.