[RMXP] HOW TO MAKE A BASIC CUSTOM MAIN MENU?
Posts
Pages:
1
I apologize in advance, as this might be somewhat of a broad question!
To get right to it, I would like to make a very simple custom menu for my game. Specifically, a new Main Menu. (Not the Title Menu.) Ideally, I would like the menu to only take up a portion of the screen and leave the remaining play area still visible, rather than filling the entire screen.
My game only features a single character, and will not include items, equipable gear, or even skills. The menu doesn't even need to offer a way to quit or load your game, as those functions will be handled elsewhere. The only things I need this menu to display are:
1) The main character's name
2) The main character's class
3) The main character's stats
So, I suppose the real meat of the question here is... is there a way to have the player press a button and call up a window of a specified width, height, and coordinates, and have it display the information I listed? Can the default main menu be customized to this extent, or would this menu functionally just be a fancy message window? (Which I would be cool with!)
If at all possible, I'd like to avoid using a user-made script, as I wouldn't need all the features something like that might offer. But, if there's no way around it, that's fine too.
Again, sorry if the question is a little broad, or if I didn't provide enough information. If I wasn't clear enough about something, just ask and I'll gladly specify!
Thanks!!
To get right to it, I would like to make a very simple custom menu for my game. Specifically, a new Main Menu. (Not the Title Menu.) Ideally, I would like the menu to only take up a portion of the screen and leave the remaining play area still visible, rather than filling the entire screen.
My game only features a single character, and will not include items, equipable gear, or even skills. The menu doesn't even need to offer a way to quit or load your game, as those functions will be handled elsewhere. The only things I need this menu to display are:
1) The main character's name
2) The main character's class
3) The main character's stats
So, I suppose the real meat of the question here is... is there a way to have the player press a button and call up a window of a specified width, height, and coordinates, and have it display the information I listed? Can the default main menu be customized to this extent, or would this menu functionally just be a fancy message window? (Which I would be cool with!)
If at all possible, I'd like to avoid using a user-made script, as I wouldn't need all the features something like that might offer. But, if there's no way around it, that's fine too.
Again, sorry if the question is a little broad, or if I didn't provide enough information. If I wasn't clear enough about something, just ask and I'll gladly specify!
Thanks!!
I'm not 100% sure that this will work, since I don't have a copy of XP to test it on but...
You could try disabling the menu in the script editor. Next, you have a common event check if the menu button is pressed. If it is, you run a script call that simply brings up the actor status screen.
I figure that you'll have to modify the script for the status screen too, since by default it selects the last actor chosen from the menu (this will cause errors, since you have nothing selected in the current setup). Have it so that it selects the first member of your party instead. You can also modify the appearance of the status window here, if you like.
Again, I can't give you much aside from theories, since I don't have XP. Maybe someone here who does can confirm this.
You could try disabling the menu in the script editor. Next, you have a common event check if the menu button is pressed. If it is, you run a script call that simply brings up the actor status screen.
I figure that you'll have to modify the script for the status screen too, since by default it selects the last actor chosen from the menu (this will cause errors, since you have nothing selected in the current setup). Have it so that it selects the first member of your party instead. You can also modify the appearance of the status window here, if you like.
Again, I can't give you much aside from theories, since I don't have XP. Maybe someone here who does can confirm this.
LockeZ
I'd really like to get rid of LockeZ. His play style is way too unpredictable. He's always like this too. If he ran a country, he'd just kill and imprison people at random until crime stopped.
5958
The default main menu can't be customized to any extent without scripts. Normally, if you want your menu to be different from the default menu at all, you need to script it.
That said... what you want is actually completely noninteractive so it's technically not a "menu" and therefore is pretty easy to do without any scripting.
You don't need a script to disable the normal menu. There's an event command that does that. It's called "Disable Menu" or something, and I think it's on the last page. Then you just need a common event set to run as a parallel process, make it run at all times, and in it put a conditional branch checking to see if the player presses Esc. (Actually, I think as long as this parallel process is running, the normal menu won't be openable anyway, even if it's not disabled.)
In this conditional branch you will put your menu. You could use Show Picture to make a larger window but honestly... it's unnecessary for the small amount of info you want to show. It would be much more straightforward to just use a regular message box for this.
You can store the hero's stats in variables, and then use the \V[#] tag in the message box to write the values of those variables. For example, if you store the hero's current HP in variable 10 and the hero's max HP in variable 11, you could make one of the lines in the message box look like this:
HP: \V[10] / \V[11]
The hero's name can be shown with \N[1], assuming it's the first hero in the database. \N[2] for the second hero. If the player can change characters, store the hero's ID in variable 14, and use \N[\V[14]] to show the name of the hero whose ID is stored in that variable. (Or use whatever variable you want, if you're using variable 14 for something else.)
Showing the hero's class is a little trickier, you might have to install CCOA's message system, a script that lets you customize your text boxes more. Alternately, just use a series of conditional branches to show different text boxes depending on the hero's class.
That said... what you want is actually completely noninteractive so it's technically not a "menu" and therefore is pretty easy to do without any scripting.
You don't need a script to disable the normal menu. There's an event command that does that. It's called "Disable Menu" or something, and I think it's on the last page. Then you just need a common event set to run as a parallel process, make it run at all times, and in it put a conditional branch checking to see if the player presses Esc. (Actually, I think as long as this parallel process is running, the normal menu won't be openable anyway, even if it's not disabled.)
In this conditional branch you will put your menu. You could use Show Picture to make a larger window but honestly... it's unnecessary for the small amount of info you want to show. It would be much more straightforward to just use a regular message box for this.
You can store the hero's stats in variables, and then use the \V[#] tag in the message box to write the values of those variables. For example, if you store the hero's current HP in variable 10 and the hero's max HP in variable 11, you could make one of the lines in the message box look like this:
HP: \V[10] / \V[11]
The hero's name can be shown with \N[1], assuming it's the first hero in the database. \N[2] for the second hero. If the player can change characters, store the hero's ID in variable 14, and use \N[\V[14]] to show the name of the hero whose ID is stored in that variable. (Or use whatever variable you want, if you're using variable 14 for something else.)
Showing the hero's class is a little trickier, you might have to install CCOA's message system, a script that lets you customize your text boxes more. Alternately, just use a series of conditional branches to show different text boxes depending on the hero's class.
@LockeZ:
I've been testing your method out and it works great! The only problem with it is that the player has the freedom to press Shift (the button I set it to) at any time to trigger the event, including while they're in the middle of dialogue with an NPC. This causes the Show Picture portion of the event to trigger, while the accompanying message has to wait until the current message ends.
Is there another "If" clause I can use that only allows the player to trigger the event if no other dialogue is on-screen?
EDIT: ...WAIT! I can just use variables, can't I? Hah! Finally starting to figure this mess out.
Thanks again, by the way! This is the second time you've helped me out of a jam!
I've been testing your method out and it works great! The only problem with it is that the player has the freedom to press Shift (the button I set it to) at any time to trigger the event, including while they're in the middle of dialogue with an NPC. This causes the Show Picture portion of the event to trigger, while the accompanying message has to wait until the current message ends.
Is there another "If" clause I can use that only allows the player to trigger the event if no other dialogue is on-screen?
EDIT: ...WAIT! I can just use variables, can't I? Hah! Finally starting to figure this mess out.
Thanks again, by the way! This is the second time you've helped me out of a jam!
Pages:
1














