PDA

View Full Version : Having a few problems with ZC 2.5



Binx
04-26-2013, 04:00 PM
So, I'm working on a quest in 2.5 and I keep running into problems, the most pressing of which, right now are that I can't get any music to play in ZQuest, but the SFX play just fine, and in the "Level 9 Entrance" room type, even though there's a guy and string in the room, the invisible wall isn't popping up, so, even without the triforce, I can just walk right past him. I'm not sure what I'm doing wrong here.

Also, on a different note, is there a way to make a custom boss (without scripting) that is essentially the same as Ganon, but without the need for a special room type?

Binx
04-26-2013, 10:06 PM
Another "issue" (Read: problem resulting from me being a noob): is there a way (without scripts) to set different items of the same class to different areas of the subscreen? Seems a waste to have to find a script to just duplicate an existing item, and ideally, I don't want to use any scripts (because I am terrible with them and have never been able to get one to work).

For the record, what I'm trying to do is to separate HP, MP and HP/MP potions into separate slots, so up to 3 different potions can be carried.

CJC
04-26-2013, 10:37 PM
So, I'm working on a quest in 2.5 and I keep running into problems, the most pressing of which, right now are that I can't get any music to play in ZQuest, but the SFX play just fine, and in the "Level 9 Entrance" room type, even though there's a guy and string in the room, the invisible wall isn't popping up, so, even without the triforce, I can just walk right past him. I'm not sure what I'm doing wrong here.
It sounds like you disabled the rule that makes the 'guy' block the top half of the screen. I'm going to pop into ZQuest real quick and see if I can find it (expect an edit soon)
EDIT: That rule does not seem to exist, and now that I've tried it I too am experiencing issues with Midi playback in ZQuest, both in the audio menu and in the options menu.
I don't have an answer for this at the moment. I'm going to page through the help file.

EDIT EDIT: Checked, and something had muted my sound card's synthesizer, which is why the Midis would not play. Turned it back up and it worked fine, though I don't know what turned it off. Maybe you're experiencing a similar issue.



Also, on a different note, is there a way to make a custom boss (without scripting) that is essentially the same as Ganon, but without the need for a special room type?
Unfortunately not. Ganon is hard-wired into the room type, so you can't copy his pattern without building something from scratch. You can, however, place multiple 'Ganon' rooms in your quest without issue (...I think). To keep him from dropping the Big Triforce item, don't put it in the room.


Another "issue" (Read: problem resulting from me being a noob): is there a way (without scripts) to set different items of the same class to different areas of the subscreen? Seems a waste to have to find a script to just duplicate an existing item, and ideally, I don't want to use any scripts (because I am terrible with them and have never been able to get one to work).

For the record, what I'm trying to do is to separate HP, MP and HP/MP potions into separate slots, so up to 3 different potions can be carried.
There is a quest rule that says keep old items, but having multiple potions is tricky business. You'll need to create three different item classes for your potions, with each referring to a particular 'slot'. And without scripts, your shops will need to sell potions for one specific slot (a shop could carry Green Potion 1, for example, but if your Bottle 2 is empty it would not be filled by Green Potion 1, as it is a separate item class).
With scripting (or string control codes) you can check which bottles are already full and then add the new potion to the correct empty bottle.

Binx
04-26-2013, 10:43 PM
Well, the Ganon issue is that I need 4 separate and visually different enemies that behave basically like Ganon, but would have different HP, CSets, etc. So, it basically sounds like I just need to bite the bullet and learn how to use scripting... On the bright side, I seem to remember seeing some pretty awesome item scripts being shared, too.... could add an extra dimension to the gameplay.

I can't see any rule for guys blocking the screen anywhere in the rules list.


EDIT: Yeah, the synth was muted. Dunno how that happened. It fixed the problem. Thanks! :)

ANOTHER EDIT: Oh, yeah, I had intended the three Potions to be completely different items from the start, one slot would be the MP potion (Blue), one would be the HP (red) and one would be the HP/MP (purple), the empty bottles would each correspond to a specific potion, but I couldn't find a way to duplicate the item class without scripting, so, yeah.... Anyone know where I can find a good scripting tutorial?

Zim
04-27-2013, 01:34 PM
import std.zh;
int HS;//Has Spawned.
void ES(int a, int b, int c,int d,int e,int f, int g) //ES stands for Enemy Spawn
{
if(Game->GetCurScreen()==d&&Game->GetCurDMap==e&&HS==f)
{npc En=Screen->CreateNPC(a);En->X=b;En->Y=c;}
if(Screen->NumNPCs>0)
{HS=g;
if(Link->HP==0){HS=f;}//This line is so that if Link dies on the screen HS returns to it's previous state so
//Ganon will spawn again if Link fails to defeat him.
}//resets HS to g, so that 1)Ganon won't spawn twice,
//2)so that HS can be reused on a different screen AFTER this num is changed.
//this function places NPC #A at coordinates (b,c) on Screen d of DMap e if HS is equal to f.
}

global script GANON
void run()
{
while(true)
{
ES(78,64,64,1,2,0,1);//Ganon's Enemy # is 78,
//so this script would Spawn Ganon at (64,64) x,y, on Screen 1, Dmap 2, while HS==F, resets HS to numeral g, and back to f if Link fails.
Waitframe(); //Waitframe is a must usually, or the game will freeze.
}
//the void ES itself could also fit into this space instead of out of the global script, making it exclusive to the global, which is not optimum
//if the scripter likes to use voids inside of other voids that aren't in the global itself.
}

Zim
04-27-2013, 01:39 PM
As for the guy thing, you could always just layer a block of invisible tiles with the solid collision on layer 1 of whatever you're screen is.

http://www.shardstorm.com/ZCwiki/ZScript
Here is the most thorough tutorial and manual for the ZScripting aspect of Zelda Classic there is to my knowledge.

Zim
04-27-2013, 01:52 PM
Also, I might add that I haven't read that wiki for years, and it might be outdated when it comes to some of the functions actual state currently, I don't even feel like checking right now, so if the compiler gives you any error messages, as it used to for me sometimes using that reference manual, there is a help menu built into the ZScript buffer when actually on the page where the scripting is written itself via the F1 button that has all the updated versions of the functions as they are in the newest build of 2.5.

Binx
04-27-2013, 03:12 PM
Cool, thanks a lot. Yeah, I've been reading the wiki, and Saffith's tutorial on PureZC, but this stuff is a bit over my head, still.

EDIT: Also, it appears that I misdiagnosed the level 9 guy issue. The problem seems to be that all guys, as well as their fires, are being placed on layer 0, so link's just walking right over them. I thought I remembered a rule about that somewhere, but I can't seem to find it...