The Pick Screen allows the player to take a more in depth look at the items on a shelf, in a drawer, in someones head, etc. The player will be able to select each item and depending on how you event it, it can be a message, a choice, animation, sound effect, or just about anything else you can do with eventing.
Most of the items are just proxies. The only thing that is used are the item’s name and icon. Proxy item’s function is limited to what can be done with events, which isn’t very restrictive, but doesn’t allow you to use all the features that are unique to items, unless you know how to call them with script calls, but I don’t know many of those and if anyone knows them I’m sure people would appreciate it if you commented with what they are and what they do.
This uses Formar0153’s Improved Item Processing (IIP) script. Read the script before going on. It will take you longer to click and download the script than it will take to read it so, please, do so.
Here’s a video of the Pick Screen followed by the Item Menu Screen in game, keep in mind that I made a bare bones example, without that many special features, because this is simply suppose to be a template for how to create them, not what to do with them. I will leave the details to you.
In the example the player is looking at a bookshelf. The event for the bookshelf calls the common event and then does video related stuff that isn’t important. You don’t have to use a common event, you should probably just put it in the event where it is needed, but I did so for convenience when making this tutorial.
First, we need to set up the items:
The Red, Silver, Orange, and Blue Books items all contain <itemp 5> and <itemp 6> which the IIP script uses to determine which items show up when the CAT variable is set to the appropriate value. Remember that only the name and icon matter for these because they aren’t intended to be in the party’s inventory.
The Area Journal uses the <itemp x> tag as well, but since this will actually go in the player’s inventory you will want to fill in all the Basic Settings section in whatever way is appropriate for your game. If they can use the item normally then fill all the other boxes in appropriately. I set this item to important items and availability to never because it won’t be used from the standard item menu.
Old Note item doesn’t have a picture, but it is set up like a regular item because it doesn’t appear in the Pick Screen it is simply added by events.
Then, we need to set-up the script:
The IIP script isn’t changed in any significant way, but I wanted to point out a couple things.
- I’ve added 5 = “description,” 6 = “description,” and 7 = “description.” I only did this so I would have a place to keep track of what each value of the CAT variable meant.
- At the bottom it says VARIABLE_CAT = 2 and like it says above it this sets the id of the variable you want to use with this script.
Finally we set up the Pick Screen itself. Here’s the full common event:
So this seems kinda long, right? Most of it is just Display Choices and Display Text event commands, these are completely optional. I just like giving the player extra information. Let’s look at the important parts:
Now I’ll explain each section:
- Clear the ItemSelection variable, because you should always clear the variable to ensure nothing happens if the player cancels. If it’s evented so that the player can’t cancel, then this is not necessary.
- Change the CAT variable to match the <itemp x> tags we used for the items.
- Add the items to the players inventory.
- Display Text immediately before using the Item Selection Processing event command and choosing variable Item Selection as the variable to store the items id number in.
- Remove the items from players inventory before exiting the menu.
This is option adds the ability to return to player to the Pick Screen instead of exiting each time they look at something and allows them to exit the Pick Screen when they press the cancel key.
This is simple, but effective:
- Put the Label at the point you want it to begin processing again. In this case I put at the beginning.
- With the variable Item Selection cleared each time, if the player cancels the player will exit the Pick Screen, but if the player picks anything else it will loop back to the Label.
This option adds the ability to have an item in an item you select from the Pick Screen:
The Conditional Branch: [Old Note] is present will check whether you have gotten the item Old Note:
- If the player has the Old Note item then it will display the message or whatever you have it do.
- If the player doesn’t it adds the Old Note item to their inventory.
This option combines with the previous to show a new item on the Pick Screen, and then remove that item and add it to the parties inventory.
Remember how the Red Book item along with its different versions and the Area Journal item all had the tag <itemp 6> this is where it comes in to use:
- If the player has the Old Note item and the Area Journal item then nothing happens, but if the player doesn’t have the Area Journal item in their inventory then it changes the CAT variable to 6 and adds the Area Journal item to their inventory.
- With the CAT variable at 6 the player can now choose the Area Journal item (id 9).
- If the player chooses to take the Area Journal item then using the Jump to Label: Skip AJ to avoid removing the Area Journal item from the players inventory.
- But if the player chooses not to take the Area Journal item then the Conditional Branch: Variable [0002:CAT] == 6 removes the Area Journal item from the players inventory.
- You can use category five (5) as a general category since you decide which items are added to each Pick Screen.
- If you can use a lot of different conditions so experiment.
- If your going to add an item that isn’t unique (like potions) then you will have to create a proxy version so that the amount in the players inventory doesn’t show up in the Pick Screen. Checking to make sure they don’t exceed the maximum in the players inventory further complicates this.
If you need clarification on any part of this or have questions feel free to ask.