Prompt to press certain button a la Indigo Prophecy

● ARCHIVED · READ-ONLY
Started by Vallar 13 posts View original ↗
  1. Hello everyone, 

    Recently I have been trying to do something like this but it doesn't seem to work well. The idea was to create a system similar to that in the game Indigo Prophecy (or Fahrenheit in some countries). So when the player gets to a certain part of the game, he is no longer under control of the character and has to press certain buttons at certain points. If he does, he succeeds and the next sequence happens, if not he fails and is transferred outside of the area he is on to try again. 

    I found a similar system but only for combat combos. But I didn't want to show off the entire sequence just 1 key at a time and when the player hits, cool, if not that is it. Aside from that, I don't want to put the player into the battle sequence, I'd like him to stay on the map and these prompts would come up similar to the heart, light bulb, angry, and all of these emots.

    Scenario for further explanation:

    Player enters a house, is found by a mob. He then is given a chance to press "Left" to escape the mob's jump on him. If succeeded, then he is given another button "Down". If he succeeded another button appears, and so on. At anytime if he fails twice, he would be transferred outside of the house to try again.

    Is there an easy way to do this with events only (as I know nothing about scripting)?

    Thank you very much in advance :)
  2. Well you could probably do it with events, but that would suck.

    Why not try some scripts ;) it's fun to learn!

    Anyway, check out Moghunter, he/she has a script for something like this. Check out this link.

    http://www.atelier-rgss.com/RGSS/System/ACE_SYS02.html

    It isn't too hard to use, download his demo (yes I know everything is in portugese in it, just put it into google translate).

    Play the demo and see if you can find the chain action event (it is on the upper left door in the initial area).

    Then look in the scripts section and find the script called Mog_Chain_Commands.

    Those are the things you need to look at. See if you can figure out how to use them, and if you have any trouble lemme know!
  3. Ohh, that is a nifty one. I have found his master demo and got lost within the multitude of stuff he had and thought it is only in combat... that looks like it might actually work. 

    Thank you very much. I'll give it a go and see if I can edit it, if not I'll post here again. :) Thanks.
  4. Your description sounds like Quicktime Events.
  5. I think that might be the name, not sure. But I did a search and the only thing that comes up is some system made for RPG VX and not Ace. It seems no one ported that to Ace or at least attempted to make a similar simple system :/ 

    Unless you know of something I don't...
  6. Vexeno said:
    Then look in the scripts section and find the script called Mog_Chain_Commands.

    Those are the things you need to look at. See if you can figure out how to use them, and if you have any trouble lemme know!
    OK, I have managed to get a hold of the script and I think I understand how it works in the general sense. I was able to make it do only 1 button press at a time (though I am sure what I am doing is really crude).

    Here is where I am stuck at the moment, I don't know how to tell the event that is running the script that the player has failed the button press and consequently should do something. 

    For example, the current setup I have now is that the player needs to press Left, Up, Down, Left, Left each button press separate (not like the combo in the script). I was able to do that using multiple script calls with wait time between them. But if the player fails any of them I don't know how to tell that event that the player failed the press and something else needs to execute. 

    Any idea how to do that?

    Thank you very much in advance.
  7. I double checked through the script and with some testing I think I figured out how it worked.

    The number you assign to the script call is associated with a switch.  So:

    If you start the script with chain_commands(30), and the player succeeds, then switch 30 is turned on.

    The way I would do it is set a conditional branch below each call:

    Conditional Branch : (switch 30==ON){

    }else{

    Do something to reset the scene.

    }
  8. I tried that just now... didn't work.

    I had a setup where 

    Conditional Branch : (switch 30 ==ON)

      Post text = "You succeeded"

    Else 

      Post text = "You failed"

    I even thought the number in the script that precedes the sequence (in the default script 5 is the first number) is the switch number (so switch number 5 and the 30 in the script is just 1/2 a second as in 30 frames). Turns out it it I am mistaken. So neither work (neither switch 30 nor switch 5). 

    It doesn't matter what I do, it is always failed (whether I succeed or fail).

    Another thing, always after the sequence of pressing ends, the character's first movement is a jump to the direction. So if I fail/succeed the sequence and try to move, it jumps for the first step and the rest is normal movement. 
  9. For getting it to work, I'd try fiddling around with the demo some more and see what works and what doesn't.

    As for the jump, try control f in the script and see if you find a command that says jump, like this one:

    $game_player.jump(0,0)

    Then remove it and see if it does what you want.
  10. I see... thanks I'll try and see how far I can get. Thanks for the help :D
  11. OK, I have been fiddling around with the script for sometime. I finally was able to identify which part runs when the player fails the sequence and which part runs when the user succeeds. 

    My problem is... it seems that the consequences (of failing or succeeding) are universal. Which means, if the player failed in one of the sequences the failure script will run no matter his location or what is going on. Is there a way to make it more specific? Like if let's say I have 10 of these events across my entire game. How do I tell the script to do this failure event at location 1 while run this event at location 2, etc... 

    Is there a way to do that?
  12. For the failure event, set it to turn on if switch x is turned on, and then set then set it up so that when the player touches the event it runs whatever you want it to.


    That what you're looking for?
  13. Thank you very much. Yes, I think that did the trick... got something working and hopefully should resolve all issues.