After some search and a lot of trial and error, I found out that what I'm attempting is called a "Evented Menu". Which is rather a good solution for those who cannot write scripts and can do
WONDERS if you are familiar with switches, variables and some script calls. The basic problem with Evented Menus is that they don't pause the game, leading to a rather awkward result. (Everything in a parallel process and autorun still runs and so do events mid-process).
For everyone interested in making an Evented Menu I found a kinda unorthodox solution but it works just fine!
1. Create your Evented Menu as you would if it was a normal common event, without worrying about the pause. It will be much easier to correct mistakes that way.
This is a simple example, it's easy to do tons of impressive work.
2.You need the
Scene Interpreter Script and
Scene Event Animations by Tsukihime. Install them as instructed.
3.For pausing the game you are going to use the scene base used by the default Menu Screen too. The difference is that you will remove all the commands from the menu so they don't interfere with your own. Go to the Script Editor and follow these
instructions. Careful, now that the menu is nice and clean you cannot unpause it (for now).
4. On the top of your Evented Menu's page, put the comment: <run scene: current> to activate the scripts. Now, your Menu can still update even if all other events are paused!
5. Now it's time to align the button input of the two Menus.
Disable Menu Access by the simple command at any point in the game that you want (I personally disabled the access from the beginning of the game). Now, right under the comment on your common event, put the
Open Menu Screen command. See
here.
6. If you try to open your menu at this point it will activate normally. There are two issues:
- When you press your assigned button to close the Menu (I suppose that in most cases that button is Esc) the menu will close as desired but you will be stuck at the Scene Base of the Default Menu.
- If you are using any of the default windows (open Item Menu, Save Menu, Load Menu etc.) your Main Menu will continue to accept button input on parallel with the new one. That is because Tsukihime's Script basically allows for running common events in ANY scene.
7. The first issue is easily fixed thy putting the script call: SceneManager.goto(Scene_Map) in the end of your menu. See
here.
8. The second issue is kinda tricky. We need to pause the process of the Main Menu and a very effective way to do it is a simple
loop lock!
9. Of course, you will want to activate the switch in order to break the loop and continue the process of the Main Menu. What you want is to activate the menu the moment the scene window closes. For that to happen you need
to locate WHERE on the Script Editor your Window Scene closes. Most (if not all windows) close with the command "return_scene" We locate the definition of the
command in Scene_Base.
10. You will now need to write a conditional that dictates that if the command to close the window comes from a Scene you want closed, your switch must be activated. The best way for someone who doesn't now scripting to do that, is to use a conditional that has to do with the scene you are currently on. See
here. If done correctly, every time you close that window, the switch is also turned on and breaks the loop.
11. To warp it up, you have to decrease
these values in the second Tsukihime script to 1 (If they are high, they may cover some of your other Scene Windows.
If done correctly, you will have a beautiful menu that is only limited by your ingenuity. If you still face problems, there are people much more experienced than I (and I'm sure I'm making this overly complicated), but feel free to contact me and I will do what I can.
A HUGE thanks to lemongreen and Tsukihime who put up with the constant questions of this rookie and supported me.