Evented Image Menu

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
2,895
Reaction score
1,029
First Language
Dutch
Primarily Uses
RMMV
I have no idea if this already exist, but this image based menu has "1" downside at the moment.

1) This Event need to be placed in every single map, but otherwise, fully functioning.

The good side of this event, its unique and you can style the buttons how you want it.
You need however need some pre-require a few things before we start.

1) 5 button images (5 button on 1 images, and which has 1 selected)
Place those in the /img/picture/ folder
Buttons.png
2) the following Plugins is required
- YEP_CoreEngine
- YEP_ButtonCommenEvent
- YEP_StopMovementEvents
- Galv_ImageCache (or other Preloader)

3) - 1x Switch (Switch is used to call the Main Menu)
- 1x Variable (Variable is used to read the index)

When you got all of it and setted up, than you are ready to follow along.

Let's get started shall we.

Step 1:
Go to "Database -> Common Events"
Choose an open slot and put in "Main Menu OPEN/CLOSE or anything you can refer to it.
Explanation:
The condition branch check if Main Menu is ON or OFF.
When ON, Control Switches Main Menu Toggle = OFF
Else
When OFF, Turn Control Switch is ON
The Variable Reads the Index, so we reset it to 0 (this way, the 1st button is always selected)
The Plugin Command: RevertButton Cancel is there whenever you press X button.
This refer to the plugin YEP_ButtonCommonEvent.js
CE Setup.png

Go to the plugin manager and double click ButtonCommonEvents and set up the X button to the
Common Event ID number (show below)
BCE setup parameter.png
Your ID can be 6 if you place it there, or if its 10, put to on its value.

Step 2:
Next we create 2 events here, both on auto run, but slightly different.
We start with the setup on the autorun to control Menu Access as follow
Explanation:
First we place Change Menu Access to disable, to disable the standard menu compleetly.
After we use Galv_ImageCache to load the images before we use them.
this to avoid andy flashing/flickering for the first time we use it.
Call the button as simple like B1, B2, B3 etc) (sample)
Than we use a Self Switch A = ON and make page 2 with A switch on, and leave black.
Make sure its on Button Action on this page or it will freeze the game

Autorun start up.png

Step 3:
The next event is set to auto run as well, but only work when Main Menu is called.
Explanation:
Put the Switch on Main Menu Toggle or however you call it and make sure its on Autorun.
This has only 1 page, but the downside here at the moment is, this event need to be placed on
every single map where you want to call this menu or it wont work, Unfortunatly,
you cant make it a parallel process so I dont found a way to make that work at this point.
Autorun on Map.png

The first this we setup is calling the Button Images
but on the top, we use StopEventMovement Plugin Command to stop movement around the map.
and place a conditional branch to call the variable Index (depends how you name it) and put it on 0
below End, repeat the proces for all the buttons you use, Index 1 for the 2nd button, Index 2 for the 3rd,
Index 3 for the 4th button and so on (you can go on as many buttons you have)
Step 1 images.png

Next we check if the button down, up is being pressed and make it loop if it reach the 5th button.
We check the button by a conditinal branch scrip call: Input.isTriggered('up') and Input.isTriggered('down')
This also work with condition branch Button "button" is pressed from the drop down menu.
If you use 8 buttons, make sure you put 7 to make it loop.
in case you want a SE (Sound Effect), place it below Control Variable -=1 and +=1 (this is optional)
Step 2 index.png

Next we make sure when OK is pressed, the button go to the selected scene.
When we make a conditional branch here, we use a script call: Input.isTriggered('ok')
and inside we check when the button index is pressed we made with the images.

change Text with the script calls or plugin command for the scenes:
Example: SceneManager.push(Scene_Item); to go to the item menu
or when SceneManager.push(Scene_Equip); to go to the equip scene

Repeat this proces for all your buttons in the same condtional branch (above the last "End")
Step 3 next scene.png

Lastly, we make the Cancel so we can close the menu.
While we use 1 image, we erase 1 image, if you have separated images more then 1, erase them all.
but if you use 8 images, than use a scriptcall instead: for (var i = 1; i <= 100; ++i) {$gameScreen.erasePicture(i);}

The Control Switches Main Menu Toggle = OFF and we use 2 Plugin commands
Plugin Command: AllowEventMovement make sure the events runs again that we stopped before.
Plugin Command: SwitchButton Cancel make sure the button X works again, if you don't use this,
you can not call this menu again.

Other buttons like A, B, Q might not work, but when X is the precious menu and cancel, it works best here.

Step 4 Exit.png

You make sure if you go into scenes or multiple choice, you need to Revert back cancel button first
or a choice to cancel is because X wont work for cancel as long its bind to the common event.

Plugin Commands : RevertButton Cancel and SwitchButton Cancel are needed to use the cancel button as normal.
if you revert in the beginning, make sure to switch back to call the menu again.

Use any shape of button and selectable and REMEMBER to put this event on EVERY MAP for it to work on the map
where your actor/player is.

You can download the Sample to see how it works.

I hope you like this tutorial :)
Got suggestions or a way to improve?
Let me know and what you think.
 
Last edited:

bazrat

Pixel Game Maker MV
Veteran
Joined
Oct 15, 2018
Messages
241
Reaction score
176
First Language
English
Primarily Uses
Other
Yea its a clean idea and works on most projects. One thing to know that this method doesn't pause the game in the sense that going into the menu does (it doesn't call a new scene basically). So if you use things like galvs projectiles and a projectile is mid air when you go to access menu it will still continue. The event will stop shooting (because of the Autorun) but any projectiles already in air will continue. Yes, you can have it to where accessing the menu clears all projectiles but then players would be accessing menu before you get hit xD

Otherwise, I prefer this way for menus!
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
2,895
Reaction score
1,029
First Language
Dutch
Primarily Uses
RMMV
@bazrat I agree on the pause part, if used in ABS you need pause command, but i didn't found any of that matter
at the moment, because the way the normal menu is called have that make some kind of snapshot.

If you are able to know how, let me know so I can improve it as well.
another thing I forgot to mention and later reconized is that you cant exit the menu after you go to a scene.
To make this work, you need to paste under the scene you go into into every button a plugin command
of "RevertButton Cancel" to make sure yo ucan exit with the X button.

The autorun itself doesn't stop events normally but its the plugin command that does it.
 

bazrat

Pixel Game Maker MV
Veteran
Joined
Oct 15, 2018
Messages
241
Reaction score
176
First Language
English
Primarily Uses
Other
Oh thats right autorun only stops players, so use to yeps plugin almost always intertwined xD

I've heard before the pause/snapshot feature is in the creating of a new scene. I haven't looked into it much myself, we ended up getting a custom menu because we needed the pause feature.

 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
2,895
Reaction score
1,029
First Language
Dutch
Primarily Uses
RMMV
Nice abs system, I love it and want to use it, but kinda hard though :)
I hope to figure out the pause part so I will update the post.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c

Forum statistics

Threads
105,857
Messages
1,017,018
Members
137,563
Latest member
MinyakaAeon
Top