For the past year or so, there have been various incidents where people requesting scripts have innocently pushed the wrong buttons for people that would normally be happy to help out. This has ranged from people just being far too vague to people being extremely impatient.
This topic has been made to help reduce the number of those incidents and to give people new to requesting scripts an idea of the information people are looking for when they answer your request. While there is no guarantee that people will answer your request, you can hopefully improve your chances by following the guidelines in this thread.
Is a script request even necessary?
So you've been working in ZQuest when you suddenly come upon an awesome idea. It isn't immediately apparent how to do it, so the obvious answer to this is scripting, right? Time to make a script request!
Hold up there, friend! You really shouldn't just jump in and immediately start requesting stuff. There are several things you should try before requesting a script.
- Check to see if ZQuest can do it without scripting! This cannot be stressed enough. ZQuest can do a lot without scripting. Sure, it isn't as clean sometimes, but it can still do a lot. For instance, scripting can definitely make a boomerang trip a switch, but that's just as possible to do using secret combo flags in ZQuest.
- If you are not sure ZQuest can do it, ask in ZQuest Editor Help before making a script request. We won't bite if you ask things that seem obvious. There is not (as of the time of writing this) a comprehensive ZQuest Tutorial for 2.50, so we fully expect questions.
- Check the Script Database to see if there is not already a script you could use.
- Search the request forum to see if someone has not already made such a request and had it answered.
- Ask yourself if you need this feature. There is a difference between want and need. If you just want a script for the sake of having scripting or something flashy rather than enhancing the framework or presentation of your quest, then you really do not need the feature.
General Script Request Guidelines
If none of the above has worked out, it's probably time to ask for a script. But before you just create a new thread saying "I want this script. Make it happen," there are a few things you need to keep in mind.
- People that answer requests are volunteers! This means that you cannot force them to answer your request. It's a sad fact, but your requests won't always be answered. But if you are nice and informative, you will be more likely to hook someone to help you.
- Patience is a necessity. If you are not patient, people will either ignore you or get really annoyed at you. You do not want this, so please just be patient.
- You need to be informative about what you want. What actions should happen? When should the script be running? What types of graphics do you want the script to use? What types of input values would you prefer to have? Do you have any examples illustrating what you want to happen such as a video? Do not just assume everyone knows what you are talking about! "I'd like the magic beans from Ocarina of Time" looks like it would detail pretty much everything necessary, but it's actually really vague for scripter purposes. Being informative improves the chances of someone looking at your request instead of writing it off as uninteresting or vague.
- You need to be polite. The fastest way to make someone not answer your request is to USE ALL CAPS AND YELL AT THEM TO DO IT BECAUSE IT HASN'T BEEN DONE YET, get angry at them for asking you questions about how you want it to work, suddenly proclaiming yourself a scripting master by assuming the problem you are having is with everyone else instead of something you are not understanding, or just flat out ignoring advice. The last two things are especially troublesome and they will definitely annoy people since if you are making a script request, you are clearly not a scripting master.
- Please don't hound individual script creators by private messages and other means with script requests. Script requests are answered based on interest. You may not like the fact that <insert popular scripter here> is not answering your request, but that's just tough luck. Script requests are answered by volunteers. If you don't want volunteers to answer your request, then you are only hurting yourself. Who knows, maybe you'll get surprised and <insert popular scripter here> will be interested with your public request or maybe <insert new scripter here> will come out of nowhere and blow your mind with exactly what you want?
- Making generic "please apply to be my private scripter" topics will just make people angry. "Hey, I'm making a super secret project and need a full time scripter, but I won't give you any details. Send me a message if you are interested" is a big no-no. The script request forum is for requesting scripts, not requesting scripters. If you want to "hire" someone, you basically need to already know them and ask them personally. If you make such a vague recruitment topic, the staff will probably close it and possibly even delete it really fast.
You basically need to be patient, informative, and polite. If you cannot do those things and it starts getting annoying, the staff will probably start closing your request threads. We really do not want to do that, so please just show some common courtesy.
Custom Enemies and General Script Complexity
It may not seem like it, but some scripts are more complex to create than others. Custom Enemies (including bosses) are the most obvious example of complex scripts. These scripts often involve programming a rudimentary AI, working with additional script libraries such as ghost.zh, more complicated setup procedures, more time to create, and such.
When requesting custom enemies, it is especially important to be as thorough as possible in describing what you want. Do not assume that people will automatically know how to go about something just from a name drop from one of the Zelda games.
Let's take this example:
I thought the Gleeok from OoS was really cool, can someone script it for my quest please?
While this seems like a reasonable request, it's not. It's extremely vague and leaves a lot up to the imagination and research of the scripter. While this might seem fine, it's the difference between the scripter giving your request a shot or not. At best, this request will have someone jumping in to ask for more information. At worst, this request will be ignored for being so vague about what it wants.
Here is a better example of how to word a custom enemy request:
I thought the Gleeok from OoS was really cool, and I'd really like it in my quest.
I'm using these graphics for the boss: http://www.spriters-...zoos/sheet/8956, and I've already ripped them into my quest.
I want my Gleeok to have two phases of attack.
In the first phase, he'll have two heads coming from the body with the wings, and they'll be vulnerable to the sword. They should shoot out fire which deals two hearts of damage to Link, and each head should take 6 hits from the sword before coming off. When a head comes off, I want it to fly round the bottom of the room and shoot fireballs at Link.
After Link kills both heads, I want the Gleeok to use the bony tiles and chase Link round the room.
If it's not going to be too hard to script (I don't know because I don't script myself), maybe this one could jump up and fall on the floor, which would paralyze Link if he's not jumping at that point?
This one should take 10 hits, but it would only deal 1 heart of damage to Link if it touches him.
Thanks very much!
While you may still get questions about specific behaviors, this is enough for a scripter to just start scripting it if they are interested instead of being tied up on details.
Outside of custom enemies, you should keep in mind that not every request is as simple as it might seem. So to be on the safe side, give as many details as you can think to give!
Finally, remember to be patient! If you are not patient with script requests that are more complex, you are even more likely to get some flak or no response at all.
- Index of some common header files (.zh) that are imported into various scripts, but not included with ZC (such as ghost.zh)
- Setting up your ZScripts If you have never used a script before, check out this tutorial.
- Scripting Tutorials
- A guide for how to combine Global Scripts in ZScript. Take a look at this if someone makes a global script for your request. Note that the example might not work since this is a dated topic, but the general concept hasn't changed.