POR_AutoSkipMessage

Discussion in 'JS Plugin Releases (RMMV)' started by Poryg, Jan 26, 2019.

  1. Poryg

    Poryg Dark Lord of the Castle of Javascreeps Veteran

    Messages:
    4,021
    Likes Received:
    10,173
    Location:
    Czech Republic
    First Language:
    Czech
    Primarily Uses:
    RMMV
    POR_AutoSkipMessage, v.1.1.0
    Author: Poryg

    Introduction
    I don't think I need to introduce this plugin.
    Its purpose is simple, but powerful.
    Skipping (or rather closing, but you can skip them as well if you read too slowly :D) messages automatically after certain time (or rather not necessarily waiting for the user to click it off).
    Of course I didn't want to interfere with the default message window functionality, so I didn't remove the option to use your action button to close the message.
    But now you can implement several things:
    • close time variant on the amount of characters/spaces in the message text. Very useful for video recording and for dubbed messages!
    • Minimal close time for special cases where the message is too short for the above case to be relevant.
    • Time elapsed when the window is forced to close regardless of the amount of characters in the message. However, to not interfere with too long messages, this is active ONLY when the close time based on characters is 0!**
    • Local settings for one message via escape tags. Read help for more info.
    • Possibility to turn the plugin on and off via plugin commands, meaning you can turn it on for cutscenes and off for regular play!
    **Setting force time through message's escape tags will override all settings for the current message.

    I tried my best to make the plugin compatible with Yanfly message core, extMessagePacks and MessageMacros. However, I can't guarantee flawless compatibility. There are countless escape tags the program needs to convert, some of which generate words/characters that need to be kept, some of which don't and have to be removed to not artificially increase the length of a message. So it may cause slowdown of your game if you use them, especially in case of ExtMessagePack 2! I can remove these patches, but if I do, these plugins will cause artificial increase of the message length and would artificially increase the time per character. So for now I have opted to keep them in.


    Get the plugin here
    https://github.com/Poryg1/RPG-maker-MV-small-plugins

    Terms of use
    MIT license. Free for commercial and non-commercial use. Credits appreciated, but not mandatory. Sharing and editing allowed. Just don't steal my credit for the plugin!

    Credits to Yanfly for the huge amounts of code I had to copy/convert for my plugin to be compatible with her plugins.

    Changelog
    1.1.0 - fixed a bug where the message would stall after the time ran up if another message was to pop up afterwards
     
    Last edited: Jan 26, 2019
    #1
  2. OmnislashXX

    OmnislashXX Veteran Veteran

    Messages:
    597
    Likes Received:
    3,682
    Location:
    Maryland
    First Language:
    English
    Primarily Uses:
    RMMV
    Best of all, It's free.
     
    #2
    Parallax Panda and ct_bolt like this.
  3. Poryg

    Poryg Dark Lord of the Castle of Javascreeps Veteran

    Messages:
    4,021
    Likes Received:
    10,173
    Location:
    Czech Republic
    First Language:
    Czech
    Primarily Uses:
    RMMV
    Yeah, if we strip the yanfly compatibility patches it's not even 200 lines of code, how was I supposed to monetize such a small plugin?
     
    #3
    Parallax Panda and ct_bolt like this.
  4. EthanFox

    EthanFox Veteran Veteran

    Messages:
    328
    Likes Received:
    239
    First Language:
    English
    Primarily Uses:
    RMMV
    Thanks for making this! I just tried it and whilst it skipped the dialogue, it was causing problems where my dialogue was stalling during cutscenes (one box would vanish and the next one wouldn't correctly appear). Sorry to be super-vague, just it's been a long day and it's after midnight; I'll get you more concrete repro steps over the weekend.
     
    #4
  5. Poryg

    Poryg Dark Lord of the Castle of Javascreeps Veteran

    Messages:
    4,021
    Likes Received:
    10,173
    Location:
    Czech Republic
    First Language:
    Czech
    Primarily Uses:
    RMMV
    Understood. I'll take a look once I'm at home as well. Had no problems, but it's true that I haven't done a thorough testing.

    EDIT: Bug fixed. Please download the updated version.
     
    Last edited: Jan 26, 2019
    #5
  6. EthanFox

    EthanFox Veteran Veteran

    Messages:
    328
    Likes Received:
    239
    First Language:
    English
    Primarily Uses:
    RMMV
    Thanks a bunch!
     
    #6
  7. Parallax Panda

    Parallax Panda Got into VxAce ~2014 and never stopped... Veteran

    Messages:
    718
    Likes Received:
    1,046
    Location:
    Fukuoka, Japan
    First Language:
    Swedish
    Primarily Uses:
    RMMV
    This plugin seems very promising and I’ve been looking for something like it for a MV-VN project, since “auto-skip” is a common VN functionality.

    Thanks for making this. I’ll try it out tomorrow.

    [EDIT; seems to work very well. Have not fine-tuned it but no problems so far.]
     
    Last edited: Nov 25, 2019
    #7
  8. kako05

    kako05 Veteran Veteran

    Messages:
    98
    Likes Received:
    4
    First Language:
    Australian
    Primarily Uses:
    RMMV
    Would it be possible to add an option to the options menu to specify auto message speed?
    Also, would you consider making a fast-forward command? To skip text as with shift but stop the command once the message ends or plugin command is called? Using galvs buttons that would cover all basics visual novel comnands :)
     
    #8
  9. Ossra

    Ossra Formerly Exhydra Veteran

    Messages:
    913
    Likes Received:
    658
    First Language:
    English
    Primarily Uses:
    RMMV
    @Poryg Just wanted to let you know that Game_Interpreter.pluginCommand was aliased, but not called. Any plugin placed above AutoSkipMessage attempting to make use of that function will be unable to do so.
     
    #9
    Parallax Panda likes this.
  10. Parallax Panda

    Parallax Panda Got into VxAce ~2014 and never stopped... Veteran

    Messages:
    718
    Likes Received:
    1,046
    Location:
    Fukuoka, Japan
    First Language:
    Swedish
    Primarily Uses:
    RMMV
    @Poryg
    I can confirm that there's a compatibility problem with this plugin if it's not placed in the correct order (up top).

    I'd also like to request an addition to this plugin:

    Would it be possible to add a parameter in the plugin manager (true/false) which if turned to "true" adds an option to the in-game menu called "Auto-Skip" which you can turn ON/OFF. Bonus points if another parameter in the plugin manager allows you to rename what the option that appears in the in-game options menu will be displayed as.

    Adding something like this would make the plugin a useful inclusion in any project, as it would give the player an additional option of how they'd want to read the text. Just like Yanfly's "message speed" plugin is is useful in any project.
     
    #10
  11. Poryg

    Poryg Dark Lord of the Castle of Javascreeps Veteran

    Messages:
    4,021
    Likes Received:
    10,173
    Location:
    Czech Republic
    First Language:
    Czech
    Primarily Uses:
    RMMV
    Fixed.

    Nevertheless, I don't think I'll add the true/false thingie in option menu. This plugin is not structurally suited for it.
    It doesn't matter whether through escape tags, through plugin commands or through plugin parameters, the message close timers are fixed and cannot be changed. And I could add some more options to change the default options, but these would not influence the ones set through plugin commands and notetags. And since everyone reads at a different speed, for someone the default can be too fast, for someone it can be too slow. And now... How to deal with it?
    Adding a multiplier is not feasible. Too small multipliers potentially tick off messages before they even display as a full, especially since the plugin does not bother with checking for \. and other time slowing thingies. And too large multipliers are good for small messages, but for large messages they will inevitably not be needed, because the longer the message is, the proportionally faster you will read it. So the player will click longer messages off by themselves... Or lose them when unexpected distractions appear.
    I could add a feature that will preparse the text to see if there are any \. or other time slowers, but that is code inefficient and can generate lag, because you're essentially parsing the text 2 times. And asynchronous parsing on map/battle load is no good either, the plugin will not be compatible with MVs older than 1.5.2.
    The only feasible way that comes to my mind is, the plugin would need to influence the scroll speed of the text too. But that's already introduced in Yanfly plugins, which are used quite heavily, so that would not make sense.
    So I don't think I'm going to do that.
     
    #11

Share This Page