Disable plugins on certain maps or via plugin command?

● ARCHIVED · READ-ONLY
Started by Clownia 4 posts View original ↗
  1. I'm trying to implement a character selection (after this tutorial: [embedded media])
    that works with an invisible character moving between the choices. This works fine so far (although I've got a feeling that this is kinda overcomplicated), but I want to use the vector based Altimit Movement plugin ingame. With this plugin enabled, this character selection doesn't really work anymore.

    Now I'm wondering if it's possible to turn a plugin OFF on certain maps - here the character selection screen/map?

    Of course I'd prefer an easier character selection by just pressing "arrow Left, arrow Right" to switch between character options, but I'm new to rpg maker and don't know much about javascript - so I wanted to see if I can get this to work first.

    edit: Oh okay, sorry - looks like it isn't possible (https://forums.rpgmakerweb.com/inde...ible-to-turn-plugins-on-and-off-ingame.72559/).

    So hopefully I find another way for that character selection. :(
    If you could give me any hint for that, I'd be happy, too.
  2. I've moved this thread to Plug-In Support. Thank you.



    It's only possible to turn off a plug-in at specific times if the maker of the plug-in put that functionality into the plug-in. Otherwise it is equivalent to trying to replace a transmission while the car is still running.
  3. Thank you - I wasn't sure if that's a plugin-specific problem now or rather rpg maker, because this would concern plugins in general and not just this one.
  4. This should technically be pretty easy to do. For example, if the plugin in question rewrite the method of Game_Map that performs character movement, you can retain the old method and check if a switch is turned off. Like this (pseudocode because I don't have RPGM atm):

    Code:
    var oldMethod = Game_Map.prototype.updateMovement;
    GameMap.prototype.updateMovement = function () {
        if ($gameSwitches.getValue(SWITCH_ID)) {
              // use new movement code
        } else {
            oldMethod.call(this);
        }
    }

    EDIT: Well, I looked at the code and it should still be doable but the code is pretty complex so you'd have to be really careful to make sure to put a condition around every single override. Definitely a lot of work and you'd have to test everything to make sure it works, but it shouldn't be TOO hard to do.