TamFey

Villager
Member
Joined
Oct 26, 2015
Messages
8
Reaction score
24
First Language
German

Timed Button Attacks v1.2.0


TamFey


Introduction:


This plugin adds a minigame similar to Dance Dance Revolution or Stepmania to the combat system. It changes the way skills and items work in combat. Instead of just starting an animation and an effect, skill/items will start a small minigame, where icons appear on the top part of the screen. These icons move downwards and when they reach a certain area, the player has to press the arrow keys. The plugin will then start different animations and effects depending on whether the player hit the button correctly or not.


Features:

  • Add an active component to your battles.

  • Use any PNG you want as a timed button.

  • Easy customization.

  • Use notetags on equipment to change button speed.

  • Use Yanfly's Action Sequence notetags to create the hit/miss effects.



Screenshots:




The system in action





Preview for asset pack 2





Notebox example




How to Use:

Create timed buttons with this notetag:

<tba [type] [icon] [birthtime] [speed] [hitEffect] [missEffect]>
This notetag adds a button with the specified parameters to a skill/item.
[type] - 'up', 'down', 'left' or 'right'- determines the column that the button will appear in.
[icon] - the icon that is used for the button. (i.e. ArrowUp)
NOTE: Icons have to be located in the '/img/system/' folder of your project.
[birthtime] - The number of frames the game is going to wait before spawning the button. time is measured from the start of the action. (60 frames = 1 sec)
[speed] - The number of pixels the button is going to move every frame.
[hitEffect] - the ID of the skill that is used when the player hits the button.
[missEffect] - the ID of the skill that is used when the player misses the button.
IMPORTANT: Skills/items with at least one of these notetags will not process action sequence notetags of the type 'whole actions' and 'target actions'.



Example:

<tba up ArrowDown 110 3 5 11>
This notetag will create a button in the 'up' column. The button will have the icon 'ArrowDown'. It will be spawned 110 frames after the action started (~1.85 sec). It will move 3 pixels per frame. When the player hits it correctly, skill #5 will be used, else skill #11 will be used to determine its effect.



Randomness:

You can add randomness to the spawntimes of buttons by adding 'rX' at the end of the notetag, where X is a positive integer.


Randomness Example:


<tba down ArrowDown 1 2 4 12 r60>
this button will spawn sometimes between frame 1 and frame 61 of the attack.



Modify the speed of timed buttons with this notetag (only for equipment):

<tba speed [operator] [value]>
Equipment pieces with this notetag modify the speed of all buttons as long as they are worn.
[operator] - 'increase', 'decrease', 'divide' or 'multiply'. - determines how the speed will be modified.
[value] - determines how big the effect of the modifier is.
NOTE: No matter how many modifiers are applied to a button, its speed can't become lower than 1.



Speed modifiers don't apply to skills with the following notetag:

<tba no modifiers>



Set up the hit/miss effects for your skills by using Yanfly's Action Sequence notetags. This plugin uses the 'target actions' to determine the effects of timed buttons.


More information on Action Sequences here: http://yanfly.moe/2015/10/11/yep-4-action-sequence-pack-1/



Demo:

Get the demo here.


Note: The demo uses v1.0.0 of the plugin. Make sure to get the newest version below.



Plugin:

Get the plugin here. This version doesn't work anymore. Check @Badab0um11 's post on page 3 for an up to date version.



Important Notes:


This plugin requires Yanfly's Battle Engine Core to work.


You should also get the Action Sequence Packs, since this plugin uses them to determine the effects of timed buttons.


Terms of Use:


This plugin and and all the assets in the asset packs are free for use with both non-commercial and commercial RPG Maker games.


Feel free to adapt/modify/redistribute the plugin as long as you provide proper credits.


Credits:

  • TamFey

  • Thanks to Yanfly for the awesome battle engine



Changelog:


v1.2.0:

  • Added the possibility to change the direction that buttons travel.

  • Added mouse/touch input.

v1.1.0:

  • Added the possibility to randomize button spawntimes.

  • Fixed issues with displaying the combo variables.

v1.0.1:

  • Fixed issues with enabling/disabling the plugin.



View attachment TamFeysTBAAssetpack1.zip


View attachment TamFeysTBAAssetpack2.zip
 
Last edited:

beenbaba

Slowly getting there
Veteran
Joined
Apr 28, 2015
Messages
289
Reaction score
160
First Language
English
This is very cool, nice work! I'm sure you'll get a lot of love for this :)
 

Ghost of Christmas Kloe

The Icecream Princess
Veteran
Joined
Nov 15, 2015
Messages
1,548
Reaction score
967
First Language
English
Primarily Uses
RMMZ
Woah! This plugin is very impressive! I'm sure many people will love it!


Now all I need to do is make a dance skill / minigame!


Is there anyway to turn it on and off? Like it is funtioning then a plugin command and it is disabled then another command to switch it back on? So we could do a sort of "Now your attacks use dance power" and a "Now your attacks are normal" sort of thing?
 

Moe_Lester13

Veteran
Veteran
Joined
Nov 22, 2015
Messages
72
Reaction score
11
First Language
English
This looks really awesome.


Just one question, similar to the above ones. Is it possible to activate and deactivate this Plugin with Plugin Commands?


For example, to have a skillset with Duel like attacks that require these Timed Button Inputs, which then affects the end damage of the attack. 


But have the Plugin only activate for that particular skillset?


Anyway, keep up the good work :)
 

nightdragon

Veteran
Veteran
Joined
Mar 24, 2012
Messages
92
Reaction score
6
First Language
English
Primarily Uses
Will this work in a front view battle system?
 

TamFey

Villager
Member
Joined
Oct 26, 2015
Messages
8
Reaction score
24
First Language
German
Yes, it also works in a front view battle system. Here's an old screenshot from my game that shows what that would look like.
 

Drake Aran

Veteran
Veteran
Joined
Sep 14, 2014
Messages
10
Reaction score
1
First Language
Italian
Really cool! Thank you!


I think your plugin has great potential! May I also suggest some potential add-ons to it?


Moghunter made these plugins for ACE and I think they were really cool too... it would be awesome if you could add something similar to your plugin as well!


This plugin creates chains of SKILLS with the use of combos: https://atelierrgss.wordpress.com/rgss3-active-chain-commands/


And this plugin used to trigger a single skill (very cool for powerful skills): https://atelierrgss.wordpress.com/rgss3-blitz-commands/


Unrelated to the battle system, there's also a similar system used outside of battle for things like minigames: https://atelierrgss.wordpress.com/rgss3-chain-commands-m/


Well, hope you get interested in those plugins as much as I did! In the meantime, good job for what you've already done! ;)
 

brunovisk2

Veteran
Veteran
Joined
Jun 19, 2013
Messages
53
Reaction score
43
First Language
Portuguese
Primarily Uses
Nice plugin Tam Fey! It will fit well in some skills for a "bard" like class xD


By the way, it's very similar to Moghunter FF Theatrythm plugin, but instead of his, it's for battle system xD


thanks a lot
 

Baerthe

Design Person
Veteran
Joined
Feb 12, 2016
Messages
154
Reaction score
44
First Language
English
Primarily Uses
RMMV
Amazing.


Can it interpret randomized numbers for the time to appear?
 

TamFey

Villager
Member
Joined
Oct 26, 2015
Messages
8
Reaction score
24
First Language
German
@Drake Aran: I only took a quick look at the scripts you postet, so I might be wrong, but you can do something similar to the blitz-commands by using combo variables (part of my plugin). About the other plugins: I'll see what I can do, but I can't promise anything, sorry.


@brunovisk2: I'm glad you like my plugin :)


@Baerthe: Thanks! The plugin only recognizes Integers for the spawntime. Sadly, that means no randomized patterns.
 

Baerthe

Design Person
Veteran
Joined
Feb 12, 2016
Messages
154
Reaction score
44
First Language
English
Primarily Uses
RMMV
hmm I might be able to fix that for you @TamFey


I'll look through the script and see if it is possible to swap in randomness! Because, as mentioned, mog's "rhythm" minigame is very random and is a similar concept; so it should not be too hard. :)


EDIT: I have done some fuddling... But i tested it out and it, of course, did not work. But I might be on to something....


function getRandom(min, max) {
return Math.random() * (max - min) + min;
}
var birthtime = getRandom(10, 900);




You could have a random function then assign it to a var then add that to the interger set in the parm,
 
Last edited by a moderator:

TamFey

Villager
Member
Joined
Oct 26, 2015
Messages
8
Reaction score
24
First Language
German
The new update is out!


Version 1.0.1 fixes issues the plugin had with enabling/disabling.


I also released the second asset pack! It includes arrows, swords, shields and bombs in various colors.


@Baerthe Random patterns doesn't seem like a bad idea. I'll try to include it in the first big update. I just have to find a way to implement it without making the notetags unnecessarily long (since they're already pretty long).
 

Baerthe

Design Person
Veteran
Joined
Feb 12, 2016
Messages
154
Reaction score
44
First Language
English
Primarily Uses
RMMV
Can you time it with the music tempo?

YOU could. I do not think it would be wise to script that, it would make it VERY long. But if you take the music you want into some editor and look at its beats per minute, you could line it up.
 

Baerthe

Design Person
Veteran
Joined
Feb 12, 2016
Messages
154
Reaction score
44
First Language
English
Primarily Uses
RMMV
So, sort of bumping, but I wanted to let you know of some issues i came across!


I figured out randomizing it, by the way with some issues...


          var birthtime = parseInt(Math.randomInt(256) + parseInt(RegExp.$3));
          var v = parseInt(Math.randomInt(5) + parseInt(RegExp.$4));


Could also try using


Math.floor(Math.random() * 255 + 1);


 
Will randomize spawn and speed PER skill PER play, not each time used.


and also:
Combo disable text doesn’t work
Combo doesn’t disappear after winning


Also screenshot of how cool it is....Example.png
 
Last edited by a moderator:

TamFey

Villager
Member
Joined
Oct 26, 2015
Messages
8
Reaction score
24
First Language
German
Version 1.1.0 is out!


The new version adds the possibilty of random spawntimes and fixes issues where disabling the display of combo variables didn't work.


@BaertheThat looks awesome! I'm glad to see that my plugin is of use for other people :)
 

Sereth

Degibeta Team
Veteran
Joined
May 31, 2014
Messages
14
Reaction score
38
First Language
English
Primarily Uses
I can't tell you how excited I am for this plugin. Thank you so much for putting this together! I plan on using it with my husband who is a music teacher to help teach rhythms to his students.
 

Drackomordain

Villager
Member
Joined
Apr 23, 2014
Messages
21
Reaction score
5
First Language
English
Have you thought about expanding to include the controller style (A) (B) (X) (Y) buttons as well as the directional arrows.  I envision a single horizontal bar with a generic "Press Now" icon such as a square or circle that the player will time they're button presses too.  Insanely excited about the potential of options this could provide for making combat more interactive.  Well done, well done.


If you want I could do some mock ups of what I tried to describe.
 
Last edited by a moderator:

Latest Profile Posts

Wanted to look through job ads and now I spent about an hour laughing about the website of a spiritual healer looking for a Marketing and IT guy. Call me oldfashioned, but I think that "healing of deceaseds" comes a little late.
Workin' hard! Wish I was hardly workin'...
One of these days, I will have no more errors.
The tutorial streak is going on, learn something about cave edits today!
(And possibly in a few days even more, stay tuned ;) )
Something is working in my game, and I have no idea how or why. It wasn't working yesterday. But it is now.
So we're just gonna...move on, and never, EVER, touch that passive again, lest it break.

Forum statistics

Threads
129,916
Messages
1,206,238
Members
171,112
Latest member
joefantana
Top