I STRONGLY Recommend you download and play the demo first but that's just me:
The first step in creating a custom menu is to first think of a design concept for the menu. If you're as graphically challenged as I, that's probably going to be the hardest part of the entire process. For now, lets go with a very simple design:
Brilliant, isn't it?
Now that we have the basic design down, let's make our final products. For a menu such as the one I'm making, you'll need a Background image, a Menu image, and a cursor image:
Now, we simply save the images and import them into the Pictures folder. If you don't know how to do that, please stop reading this tutorial, as it'll probably confuse you.
Now go into the game editor and let's begin!
A word of warning: In order to do this properly, you'll need to edit a few of the built in scripts. But as long as you know how to copy and paste, it shouldn't be a problem. Go to the Script Editor. (Again, if you don't know how to do that, stop reading this tutorial) Find the scripts labeled “Scene_Item”, “Scene_Skill”, “Scene_Equip”, “Scene_Status”, and “Scene_End”.
In each of these scripts, find the line that says “ $scene = Scene_Menu.new(X)” where “X” is a number. (Press CTRL+F to open the Find window) Replace the whole line with “$scene = Scene_Map.new”.
Now we can get started on the actual event.
If you're making an event that the player can access at any time, I strongly recommend you use common events.
For one menu, you'll need two common events. Name the first one “Custom Menu Check”. Set it's trigger to Parallel, and set it's condition to a switch you aren't using. Name the switch “Custom Menu Check” as well.
Under this common event, insert a wait of seven frames, and then a conditional branch that checks to see if the player is pressing the “B” button (X, Zero, or Esc. On the keyboard). Under the conditional branch, insert a sound effect to let the player know he's pressed a button. Then insert Move Route command that will make the player do nothing repeatedly. Then call the pictures you made onto the screen in this order: Background, Menu, Cursor. Set the menu and the cursor to the locations necessary for your own design. Next set the Custom Menu Check switch off, and turn another switch you're not using on. Name that switch “Custom Menu”.
The page should now look like this:
Now make another common event. Name it “Custom Menu”, set it's trigger to Autorun, and set the condition switch to the “Custom Menu” switch you made a few moments ago. Now that you have all the pictures set, it's time to make our first label! Name the label whatever your first menu option is. In this case, “ITEMS”.
Now set a wait of 5-7 frames.
Insert conditional branches that check for the following, and in this order:
Player is pressing the Down button
Player is pressing the Up button
Player is pressing the C button
Player is pressing the B button
Now we'll get to work filling up thos conditional branches. Under the first branch- the one that checks to see if the down button is being pressed-- create a label named after your next menu item. Let's call it “EQUIP”. Now insert a wait of 5-7 frames. use the move picture command to move the cursor to the coordinates of your next menu item. Also, insert a sound effect to accompany this move, if you want.
Under the conditional branch that checks for the C button, we'll have to do some minor scripting. The script command that calls a scene is:
$scene = Scene_*****.new
where the asterisks are substituted with the name of the scene. Since the first menu option is for the item menu, we'll use the script command “$scene = Scene_Item.new”.
I've included a list of common scenes below:
After the script command, insert a “Jump to Label” command that will jump back to the “ITEM” label.
Under the conditional branch that checks for the “Up” button, insert a sound effect, and move the cursor to the above option, (In this case, it would be the last one). Then insert a Jump to Label command named after the last menu option. (END).
Under the conditional branch that checks for the B button, insert a sound effect, then a Set Move route command that will make the player do nothing. Make sure “Repeat Action” is unchecked! Now erase all the pictures you used for the menu, turn the Custom Menu switch OFF, and turn the Custom Menu Check switch ON. Under the final “Else”, insert a Jump to Label command that will jump back to the “ITEM” label.
The screen should now look something like this:
Congratulations! If you only have one menu option, you've actually done more than you need to! But if you have more than one option like most of us, you've only completed one section. The good news? The rest is the exact same thing you've done above. Start by inserting a new label-- “EQUIP” in this case. Then a new conditional branch that checks for the “Down” button, and then do everything you've just done.
My instructions are probably extremely confusing, (Not that you're not bright, I just can't explain things very well) so again, I STRONGLY recommend you play the super amazing demo, then look at the comments in the events to get a better understanding.
DOWNLOAD THE DAMN DEMO.