Check if two buttons are being pressed at once?

Status
Not open for further replies.

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
285
First Language
Portuguese(BR)
Primarily Uses
RMMV
I'm trying to add gamepad support to a game of mine, but due to how limited the amount of buttons on it is, and the fact that I added extra commands to the game(such as fire, drop things,etc) I need a system capable of detecting two buttons pressed at once( and/or one being hold then the other being pressed).

I tried creating an alias for the Scene_Map.updateScene that would check when two buttons are pressed at once, but doesn't seem to work(It detects individual button presses, but not multiple at once). Any ideas?

My code so far:

Code:
var keyconfig_alias = Scene_Map.prototype.updateScene;
   Scene_Map.prototype.updateScene = function() {
     keyconfig_alias.call(this);

       if (!SceneManager.isSceneChanging() && ($gameMap._mapId==1 || $gameMap._mapId==5)) {

       if (Input.isTriggered('weapon')||(Input.isTriggered('fire') && Input.isTriggered('ok'))) {
        ///use weapon

        if(weapondelay===0 && chatopen===false){

            $gameTemp.reserveCommonEvent(2);
        }


    }
     if ((Input.isTriggered('shield') || (Input.isTriggered('fire') && Input.isTriggered('cancel'))) && chatopen===false) {
         ///equip shield
        $gameTemp.reserveCommonEvent(3);
    }
    else if((Input.isTriggered('potion') || (Input.isTriggered('fire') && Input.isTriggered('menu'))) && chatopen===false){
        ///consume potion
        $gameTemp.reserveCommonEvent(7);
    }
    else if((Input.isTriggered('dropweapon') || (Input.isTriggered('drop') && Input.isTriggered('ok'))) && chatopen===false){
        ///drop weapon
        $gameTemp.reserveCommonEvent(8);
    }
    else if((Input.isTriggered('droppotion') || (Input.isTriggered('drop') && Input.isTriggered('cancel'))) && chatopen===false){
        ///drop heal
        $gameTemp.reserveCommonEvent(10);
    }
    else if((Input.isTriggered('dropshield') || (Input.isTriggered('drop') && Input.isTriggered('menu'))) && chatopen===false){
        ///drop shield
        $gameTemp.reserveCommonEvent(9);
    }
          
       }
   };
 

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
1,556
Reaction score
1,031
First Language
EN
Primarily Uses
RMMV
Maybe try Input.isPressed() instead of isTriggered()? I think isTriggered is a single-frame thing, fired when the button is initially pressed down. For comparison, the Conditional Branch check (event command) uses isPressed. Relevant code can be found in rpg_core.js, under Input. :)
 

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
285
First Language
Portuguese(BR)
Primarily Uses
RMMV
Maybe try Input.isPressed() instead of isTriggered()? I think isTriggered is a single-frame thing, fired when the button is initially pressed down. For comparison, the Conditional Branch check (event command) uses isPressed. Relevant code can be found in rpg_core.js, under Input. :)
That worked perfectly, thank you!
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
21,866
Reaction score
11,072
First Language
English
Primarily Uses
RMVXA
[closed]IgnoreMe[/closed]
 
Status
Not open for further replies.

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

Latest Threads

Latest Posts

Latest Profile Posts

Me : "Wearing glasses is annoying."
*put out glasses*
Also me : "Keep mistaking 0, 6 and 8."
oh god, a new version of RPG Maker is coming soon already....
So a new RPG Maker has been teased on RPG Maker Web's Twitter. Hmm...
So in my stream for the No Travel Game Jam, I mentioned we were going to do a teaching make a game from beginning to end series of streams, but it had to wait on an announcement I couldn't make yet before I could start... Keep your eyes on our twitter tonight.
Surprise extra Text Adventure session! Feel free to drop by!

Forum statistics

Threads
98,122
Messages
949,444
Members
129,399
Latest member
lerry678
Top