Is there a way to make a "spamming button" minigame in RPG Maker VX ACE?

Joined
Dec 2, 2022
Messages
7
Reaction score
0
First Language
English
Primarily Uses
RMVXA
Hello!

(I am relatively new to RPG Maker, so there are a lot of things I'm still figuring out.)

So, I recently came across this video () on YouTube of someone who made a "cage breaking" minigame where you had to press and hold the correct direction button in order to fill up a meter to be able to escape. I love this concept, and want something similar in my game.
However, I have something a little different in mind. I would like a mechanic that shows a picture, and tells you to rapidly press a certain button in order to escape from a monster's grasp; like the monster grabbing the player's leg and the player struggling to escape.

Is there any way to do this in RPG Maker VX ace? If so, would it need a script, or could it be done just through commands? If it needs a script, could I have a rundown on how scrips work (or at least how I can paste it into the game), and if there's a script or plugin I could use for this?

(If the button spamming isn't, then could someone show me how top recreate the cage game's meter and mechanic?)

I would super appreciate the help! Thank you! :kaoluv:
 

LucaBicono

Veteran
Veteran
Joined
May 14, 2015
Messages
84
Reaction score
78
First Language
English
Primarily Uses
RMVXA
It is absolutely possible in VXA without any scripting! I can't post any screenshots at the moment, but I remember enough of how it's done to give you a basic rundown.

So, what you'll first need to do is to set up some variables, for now let's call the variables 'Mash', and 'Mash Max'. 'Mash Max' will be set to a number that the player needs to reach by mashing whatever button you decide to use. Let's say for our purposes, we go with 100, but it can really be any arbitrary number. 'Mash' will be the number that the player is currently at; at the start of the sequence, it should equal zero.

Next, set up a Loop command, and place all of the following within the loop.

In a conditional branch on the fourth tab, select whatever button you'd like the player to press. Add a number to the 'Mash' variable; in this case, let's go with adding 10, and execute any other functions you want to have happen when the button is pressed; for example, calling or moving a new picture.

If you want the 'Mash' variable to decrease if the player isn't pressing the button, select 'Set handling when conditions do not apply', and after the Else, subtract a number from 'Mash' that is less that whatever you have set to add to it.

In a separate conditional branch underneath that one, make sure you set it so that if 'Mash' is less than zero, the variable is instead set back to zero. This will ensure that the number won't drop below zero into the negatives.

Set another conditional branch underneath that, checking to see if 'Mash' is greater than or equal to 'Mash Max', and if it is, you execute whatever action you want to have happen, in most cases it would mean triggering a switch. the If you're confining all of this to an event, you can just set it to trigger a self switch. Remember also to use the Break Loop command, or you may run into problems. Likewise, if you called any picture commands, make sure you erase them, or else they'll just stick around.

Finally, underneath that but before the Loop's 'Repeat' function, use the Wait command to wait at least 1 frame.

I haven't set up anything like this in a while, so it wouldn't surprise me if I missed anything, but to my knowledge that should be everything you need. If anyone else notices something I missed, feel free to correct me!
 
Joined
Dec 2, 2022
Messages
7
Reaction score
0
First Language
English
Primarily Uses
RMVXA
It is absolutely possible in VXA without any scripting! I can't post any screenshots at the moment, but I remember enough of how it's done to give you a basic rundown.

So, what you'll first need to do is to set up some variables, for now let's call the variables 'Mash', and 'Mash Max'. 'Mash Max' will be set to a number that the player needs to reach by mashing whatever button you decide to use. Let's say for our purposes, we go with 100, but it can really be any arbitrary number. 'Mash' will be the number that the player is currently at; at the start of the sequence, it should equal zero.

Next, set up a Loop command, and place all of the following within the loop.

In a conditional branch on the fourth tab, select whatever button you'd like the player to press. Add a number to the 'Mash' variable; in this case, let's go with adding 10, and execute any other functions you want to have happen when the button is pressed; for example, calling or moving a new picture.

If you want the 'Mash' variable to decrease if the player isn't pressing the button, select 'Set handling when conditions do not apply', and after the Else, subtract a number from 'Mash' that is less that whatever you have set to add to it.

In a separate conditional branch underneath that one, make sure you set it so that if 'Mash' is less than zero, the variable is instead set back to zero. This will ensure that the number won't drop below zero into the negatives.

Set another conditional branch underneath that, checking to see if 'Mash' is greater than or equal to 'Mash Max', and if it is, you execute whatever action you want to have happen, in most cases it would mean triggering a switch. the If you're confining all of this to an event, you can just set it to trigger a self switch. Remember also to use the Break Loop command, or you may run into problems. Likewise, if you called any picture commands, make sure you erase them, or else they'll just stick around.

Finally, underneath that but before the Loop's 'Repeat' function, use the Wait command to wait at least 1 frame.

I haven't set up anything like this in a while, so it wouldn't surprise me if I missed anything, but to my knowledge that should be everything you need. If anyone else notices something I missed, feel free to correct me!
Thank you so much!!! This is going to be incredibly helpful!! :D
Do you know if there's any way to make it happen randomly? Similarly to how you can set troops to regions and they randomly attack you? (This I've tried to look up and it seems like I'm going to need a script. Are there any scripts already out there for this sort of thing?)
Thank you again! :)
 

LucaBicono

Veteran
Veteran
Joined
May 14, 2015
Messages
84
Reaction score
78
First Language
English
Primarily Uses
RMVXA
No problem, glad to be of help ^^

For having it happen randomly, I'm assuming you mean just happening anywhere on the map while the player is walking around. For that, I recommend using Himeworks' Region Events script. This allows you to set up a single event, and then set down Region Tiles that will trigger the event.

What you'll want to do is, in an event set to 'Player Touch', set up a variable, let's call it 'Mash Trigger', and set it so that it lands on a random number between two integers. The smaller the difference between the two numbers, the more frequent it will occur, and the larger the difference, the less frequent it will occur. Then, in a conditional branch that checks if it lands on a specific number, have it activate the button mash sequence.
 
Joined
Dec 2, 2022
Messages
7
Reaction score
0
First Language
English
Primarily Uses
RMVXA
No problem, glad to be of help ^^

For having it happen randomly, I'm assuming you mean just happening anywhere on the map while the player is walking around. For that, I recommend using Himeworks' Region Events script. This allows you to set up a single event, and then set down Region Tiles that will trigger the event.

What you'll want to do is, in an event set to 'Player Touch', set up a variable, let's call it 'Mash Trigger', and set it so that it lands on a random number between two integers. The smaller the difference between the two numbers, the more frequent it will occur, and the larger the difference, the less frequent it will occur. Then, in a conditional branch that checks if it lands on a specific number, have it activate the button mash sequence.
Is there a way you could give me a rundown on how scripts work? I've tried copy and pasting, but I don't think I was doing it right. Is there a simple way to explain it? Or would I need to watch a video covering it?
 

LucaBicono

Veteran
Veteran
Joined
May 14, 2015
Messages
84
Reaction score
78
First Language
English
Primarily Uses
RMVXA
Most scripts typically come with their own individual instructions in the documentation at the top of the script itself. The one thing that all scripts have in common, is that they need to be placed below 'Materials' and above 'Main' in the script editor. The script editor is the icon located directly to the left of the musical note icon at the top of the program.
 

Latest Threads

Latest Posts

Latest Profile Posts

That moment when I am listening to another instructor teach and I am thinking…I have been doing this for almost 30 years…I know this material…I teach this material…and you are confusing the crap out of me…let alone the students. What the actual $&@#! are you talking about? :eek:
Help me make a choice. Which one makes more sense?
A. Range style 1.pngDiamond shape
B.Range style 2.png Square shape
I created a skill that can only be used if there are enemies within the player's range. When the player's range is 2, which one do you think is more appropriate to describe the range area?
Just once I would like to see some innocent person stumble upon a body in a crime show and instead of scream they sigh and just say, "Found another one."
Can we get like a RPGM VXA Pro edition with all the limits gone!!
I drew @TheoAllen 's Cecilia~

yVLlTmK.png

Forum statistics

Threads
128,360
Messages
1,193,880
Members
168,852
Latest member
xSeggy
Top