Help - Search - Members - Calendar
Full Version: A way to introduce button combinations?
RPG RPG Revolution Forums > Game Engines > RPG Maker 2000 / 2003
chessplayerjames
Hi, I was wondering if it would be possible to make a character have to do different button combo attacks? Some examples:

1. Have to press a button repeatedly enough times within the given amount of time to do a super attack.
2. Have to press different buttons, and when you mess up, the attack is completed.
3. Have to press the arrow keys in a clock-wise direction for a set amount of time.
4. Have to press a certain button at the certain time.
5. Something similar to Ratchet and Clank Up Your Arsenal where you have to press a combination of buttons and you get a score based on how you did (where you have to talk tyraneese).


Are any of the previous ideas feasible in RPG Maker 2003? I tried something similar to that, but I couldn't get it to work. Or, would I just have to stick with RPG Maker XP/VX? I like 2003 the most (with the built in ATB system and ability to play moves), but I really want to add some more FUN to my games. Can I do this? If so, how would I do it?

Thanks in advance for any help.
Night5h4d3
Wow, it has been a long time since I last used 2k3.. I don't think you can use this in the default battle system, but with events - in regards to #1, make a parallel process event for this:
CODE
<>label 1
<>wait 0.1 sec
<>key input (wait until key pressed)     # first attack here
<>key input (wait until key pressed; store duration in a variable)
<>conditional branch: duration <= 3  [change this to however long you want the delay, I think it's in tenths of seconds]
   # second attack
   <>key input (wait until key pressed; store duration in a variable)
   <>conditional branch: duration <= 3  [repeat the key input and conditional branch for as many times you want the combo]
       # third attack
       <>
   : End
   <>
: End  
<>jump to label 1  # failed to press in time



Edit-

#2 is quite similar:

CODE
<>label 1
<>wait 0.1 sec
<>key input (wait until key pressed, any key)
<>conditional branch: key pressed == N  # the first key of the combo
  <> # put another input wait, and conditional branch if the correct key is pressed, in the end, include final ultra combowhatnot
: Else Handler
  <> # conditional here if any other combo-able key had been pressed, if not, end attack
: End  
<>jump to label 1  # failed sequence, start again


#3 is basically #2, just allow key input for directionals only, disable player movement, and in each of the conditionals, check if the next number of the clockwise is pressed (if that makes any sense)

#4 is a bit tricky, have a variable increment in a parallel process, have a input processing that waits for a key, and then when pressed store that incremented variable to a second variable. Then include a conditional if that second variable is equal to the certain time delay (probably in 10th's second) that you wanted the player to press.
OR, include something where you have a 'NOW' pop up, and then start incrementing a variable in a parallel process. Then check for input processing, wait for key, and store the incrementing var in another variable. Finally, check if that variable is below the maximum time you want them to have to press said key (again, probably in 10th's seconds)
chessplayerjames
Wow, thanks for all of the help! laugh.gif I'm going to try it now, and I'll edit if it works.


EDIT: Is there a way to make this work in battle? No matter what I do, it freezes my ATB in battle, and then nothing ever happens, even when I press the button fast enough. If there is a way to make it work in battle, how would I do that?

Thanks again for your help!

EDIT2: Also, above, you mentioned "conditional branch: key pressed == N # the first key of the combo" only the conditional branch (as far as I know, and unless I missed something when I just checked.....) doesn't have key input processing. Is there another step involved or something? Also, I have another question. Is there a way to make an ability that only hurts CERTAIN enemies, but not one, and not all either?
Kazesui
The reason why the battle freezes is because the key input wasn't made for use within the DBS. It's not impossible though, but you will have to call a common event with key inputs to do so, and you are not allowed to use "wait until key pressed", as it's what freezes the battle.

So what you'll need to do is to put up a loop and a variable counting the time to make sure you exit the loop if you spend too long trying, and you'll have to find nifty ways of checking for correct / invalid inputs as well.

To only hurt certain enemies, you'll have to event that in into each monster group as well, probably making up your own damage algorithms and stuff as well and damaging them directly with "change monster hp". I don't think this will show damage done in numbers, so if you want to do that as well, you'll probably have to do it with battle animations. Neddless to say, you're in for a lot of work if you want all of this to work in a functional way
chessplayerjames
Hmm, this is probably really easy, and I think a good idea, if it'll work.

What if I make an event that ends the battle (with some way to keep track of monster's HP), then the button combinations are allowed? For example, Sora, Donald, and Goofy (heroes/party members) are fighting Marluxia (the enemy/monster), and Sora does a command that requires button input. What if, I make a variable or something recording Marluxia's HP, then an event that ends the battle, then button input is allowed, and then the battle starts again, with Marluxia's health starting at what it should, and then his HP drops a given amount? Do you think that would work? If not, would should I change?

Thanks for any and all help!


EDIT: I toyed around with it, and as it turns out, the above can be done. It does, however, require that I make certain events happen for EVERY monster group. I also need a lot of variables to make the monster's HP remain the same and then change....if that makes any sense. Also, if I do a battle, and then I do a command that requires button input, and damages all monsters a fixed amount, then the battle loads up again and some monsters die, then I do that command again, and then all of the monsters appear again (only they are hurt more when the numbers show up).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.