Current Script Requests- Help With RPG-Style Scripts
This is not a script request. (Although if anybody wants to create one of these or can point me or someone else to a place where these already exist that would be cool.) As the title says, whenever I'm trying to add a feature to my quests, these days I often turn to scripting for the answer.
Sadly, I know only the most basic of scripting and even things that seem like they should work fall short of my goals. I can look over a header file, or an existing script and get a good sense of how it is supposed to work but putting that into practice is usually hit or miss. Often when I look for the sort of thing that I want to achieve; I don't find anything in the database or on the forums which meets my desires. Occasionally, I can create my own or combine existing ones to do new things.
I decided to create this because it would give me (and anybody else who is looking for a specific script but can't seem to find it) a place to post the scripts they'd like to see or use in their game but don't currently have. Also, I think that why you want it is important too since asking for a script or help with one can begin to bother people since many things have been requested repeatedly. It is clear that many times people don't know that certain scripts exist or how to use them. (I know that's true in my case.)
Scripts are very neat, but when you have trouble with them; the best way to figure out what you're doing wrong is to ask for help in the script request forum. There's a chance you won't get an answer (I don't always). but it doesn't hurt either. Many scripts exist on the forums that aren't in the database. That is another reason I wanted to make this thread. Don't know if there is a certain script but don't want to create a thread asking for it? Here's the first tips I can give you.
1. Search the database listing of scripts. All of them.
2. At the bottom of the forums page is a listing for the Old Script Database. There's some stuff there that never made it into the main database for some reason. What you want might be there.
3. What are you trying to do and why? Is it similar to something that already exists? Can your request be summed up in a few words (like combine scripts)? At the top of each page is the search box. The subjects it brings up might not be relevant, but then again they might.
4. Still stumped? Ask!
Just to be clear, I'm not offering to create any scripts though I have gained a good knowledge of what scripts exist and how best to find them. Remember the rules about bothering people about scripts. Using them is a work in progress, even for people who have been doing it for years. Don't assume you'll master scripts overnight. I am no expert myself, just someone who has seen a lot of requests for similar things.
Please learn how to compile scripts before trying to add these. A simple rule of thumb is that any constants, booleans, floating numbers or other stuff that will need to be used repeatedly by numerous things is declared 1st (after header files like std.zh). The order of other things doesn't always matter, but keeping each script type in a separate area is useful. Also, be sure to comment anything you don't understand or create a file with instructions on how to set up each script just to remind yourself.
Here are some popular script requests and the answers(to the best of my knowledge)to them:
Shovel script- This is based on an item and Link Tile Modifiers. If you don't know what they are and how to use them, then you'll probably have a lot of trouble setting this up. Each one will be specific to your game.
Custom Bosses/Enemies- The easiest script I've found to use is called Big Enemy DX, in combination with a script called Bossmaker. Other than those, ghost.zh can make some really neat custom enemies but is much harder to set up. If you want a custom foe and don't know how to create it, I'd suggest trying out these scripts and learning how to use them. More complicated foes will probably require a specific script request. (But even then, you may not get results.)
Hole/Lava Script- There are at least three different versions of this that I've seen. One is by Mero, one by MoscowModder and the third I'm not sure about. (Or even if it exists.) They can be a little finicky since the documentation doesn't always detail how to set them up.
Combining Global Scripts- this depends on what you have. All Global scripts start like this.
global script globalscript{ //This name is yours to change at will. void run(){
The one that is usually worked with is the active. Anything that needs to be established before your loop begins is next, followed by the start of your while(true) loop. Next are any functions that come before Waitdraw(). The best way to determine if yours needs to go there is to look at the original script and see where that function is in that global script. After that are more functions, followed by a Waitframe() and the end of the while loop. Spacing your loops helps you to tell where each one begins and ends.
Moving Platform/Solid FFCs- Mero recently released code that is designed for this function. I haven't tested it myself yet, but look for the topic Solid FFCs beta.
True Power Bracelet- see the note on the Shovel. I haven't tried either of these due to my reluctance to tackle Link Tile Modifiers.
That's the most common examples that I can think of right now. If you can think of a script request you've seen a lot and where to find the best solution to that issue, let people know.
Now here's the other half of why I created this thread. I have a few ideas for things which scripts might be able to do (or there are scripts that already do this and I don't know about them). These are things I'd like to see or use.
Whip/True Grappling Beam- this is mostly something that bothered me about sideview gravity areas. You can't latch onto a grapple point and swing across a gap like Indiana Jones or Samus in Metroid. Instead you just go straight across. Can this be done? Who knows... but I think there are some who would be interested.
Variable Lens of Truth- let's face it, the Lens of Truth doesn't do much. I've seen one script that causes the Lens to trigger secrets, but that would be troublesome if there are more than one type of secrets in the room or you could use it in other areas. So my idea is to have secrets that are triggered only while using the Lens of Truth. Also, the Lens always creates a circle around Link. Why not some other shape, like a triangle with the point centered on Link?
Multiple Items/Scripted Triggers- You can make extra swords. If you want, you could even make extra versions of nearly every item in the game. But doing that serves almost no purpose when you can't easily create secrets that can only be triggered by that item. So, a trigger that would detect you had the item and activate secrets when you hit it with it. Then, making a more powerful hammer; new bow, boomerang, hookshot, etc. items would actually serve a useful purpose.
Scripted Layers- You can change a layer via secrets, but what about through scripting? Not just scrolling the layer,.but altering the whole thing. Perhaps switching the layer from one source to another. Or altering its Cset. Perhaps making it flash. Great for cutscenes.
Multiple Water Types/Boot Types- I've seen some script for multiple types of boots protection, but not for flippers. I don't remember where the first is anymore, sadly. With these, you could have different types of damage and water barriers that would require the acquisition of these items to progress.
Deactivate FFC/Script- Doing something causes an FFC to be removed from a certain screen or the script that FFC runs to no longer be run. This be useful if at one point you had lava that used a script then later you wanted to deactivate it. I think I've seen something on this, but I haven't been able to find it.
There are a few more I think that I can come up with, but that's good enough for now. So, any thoughts on common scripts people want and which ones are best, as well as scripts you'd like to have or use?
Edited by ywkls, 09 April 2016 - 03:39 PM.