HMS: Choice Display Mode

By default, when you present players with a set of choices for them to select, the choices will be displayed in a window separate from the message window.

However, what if you wanted to present your choices differently in certain situations?

Here is an example of how the choices normally look. They appear on the side, separate from the window.


This plugin allows you to display the choices in-line with your messages, with the option to switch between the default display method and the new display method.

With this plugin, you can have your choice selection look like this:




Plugin: download here (right-click, save-as).

Related Plugins

This plugin is compatible with all of my other choice-related plugins:


Download ths plugin and place it in the “plugins” folder in your project’s “js” folder. Then open your Plugin Manager (F10), double-click an empty row, and select the HIME_HMSChoiceDisplayMode plugin.

Once it is in your list of plugins, turn the plugin on.


Choice Display Mode

There are two ways to display choices

1. Default
2. Embedded

Default mode means the choices will be displayed outside of the message as usual.
Embedded mode means the choices will be displayed inside the message.

In the plugin parameters, you can choose the default choice mode


Change Display Mode

You can also change the display mode during the game. To switch between modes, use the script call

HMS.setChoiceMode( MODE )

Where MODE is one of

  • Default
  • Embed

All choices displayed after will use the specified mode.


Choice Indentation

When the choices are embedded in the message window, you can choose how much indentation they will have in the plugin parameters.

By default, it is 36 pixels.

VX Ace


Plugin: download here


There are two choice display modes:

:default - the default way where choices are shown separately
:embed - choices are shown in the message window

In the configuration, you can choose which mode will be used by default.
You can use script calls to change the mode as well

$game_message.choice_display_mode = :embed
$game_message.choice_display_mode = :default

You can also set the indentation, which is the number of pixels that all choices, in embed mode, will be indented by. This may be useful if you plan to have all choices indented, but don’t want to manually do it yourself.

Note: this script does not handle what happens if you have too many choices to display, but not enough room.

You may also like...

185 Responses

  1. Kouta says:

    Cool plugin. To bad that incompabilaty with Galv’s Message Styles.

  2. Anonymous says:

    Is there a way to make this compatible with Victor Engine’s ‘Arrow Cursor’ plugin? The custom cursor doesn’t display on embed choices.

  3. Emanzi says:

    HMS ChoiceDisplayModes does not work in RPG MAKER MV 1.6.2. Please see this forum post for details. Thanks .

    Rpg Maker MV forum post

  4. John says:

    When using ‘Embed’, I notice if the message and/or show choices is too long (aka exceeds the default 4 row height limitation of the message box), the player has to use the down arrow key to scroll through the available choices.

    Is there anyway for the message box to extend in height to accommodate, so the player doesn’t have to scroll and can see all the text and choices in one message box?

    I know with YanFly’s message core you can increase default message rows from 4 to ‘x’, but I’m wondering if it’s possible only for this specific situation?

  5. Dungeonmind says:

    Getting an error when inputing a number cannot read property “y” of null. It only happens with your plugin.

  6. Temple Pate says:

    I can’t get the plugin to switch. If i set it as the default to be embed it works. But if i run the script it seems to be successful but doesn’t change.

  7. Dahlys says:

    Hi, I need some help with your plugins. This plugin doesn’t seem to work with hidden choice conditions. Disable choice works. I have large choice box enabled as well.

    TypeError: Cannot read property ‘y’ of null
    at Window_ChoiceList.numVisibleRows (/D:/RPG%20Maker/Project/js/plugins/HIME_HMSChoiceDisplayMode.js:195)
    at Window_ChoiceList.Window_Command.windowHeight (rpg_windows.js:1315)
    at Window_ChoiceList.updatePlacement (rpg_windows.js:3853)
    at Window_ChoiceList.updatePlacement (/D:/RPG%20Maker/Project/js/plugins/HIME_HMSChoiceDisplayMode.js:155)
    at Window_ChoiceList.makeCommandList (/D:/RPG%20Maker/Project/js/plugins/HIME_HiddenChoiceConditions.js:178)
    at Window_ChoiceList.Window_Command.refresh (rpg_windows.js:1436)
    at Window_ChoiceList.Window_Selectable.setTopRow (rpg_windows.js:824)
    at Window_ChoiceList.Window_Selectable.setBottomRow (rpg_windows.js:851)
    at Window_ChoiceList.Window_Selectable.ensureCursorVisible (rpg_windows.js:1227)
    at (rpg_windows.js:795)

  8. Schade says:

    This is completely unrelated to the plugin– how are you displaying the names above the characters heads? Looks neat!

    • Hime says:

      Plugin used to display names of events above the event sprite. I wrote that one for video purposes but there’s probably one publicly available by another author.

  9. razlem says:

    undefined is not a function in rpg maker 1.3.4
    i turned off all my plug-ins 🙁

  10. Shadowflame says:

    How are you doing the cool little underline? In the video it’s replacing the the standard highlight box for the choice options. Is is part of this plugin or another one?

  11. Jetsada S. says:

    I use RGPMV version 1.3 (now upgrade to 1.3.4).
    I found HIME_HMSChoiceDisplayMode is incompatible with YEP_MessageCore. It makes YEP’s MessageWidth command disable.
    By the way, I can force it to work by script: $gameSystem._messageWidth = x;

    While YEP_MessageCore make embedded command by HIME_HMSChoiceDisplayMode disable, and I can not force it by any script that I know.

    Would you help?

  12. Erick says:

    Hello, i have a problem with this plugin; i dont know why but in a decision event it gives me a error and is just when i use the “Embed” mode, in default mode dont give me error.. The error that displays is the following:
    “Cannot read property “y” of null”
    and in the console displays this:
    TypeError: Cannot read property ‘y’ of null
    at Window_ChoiceList.numVisibleRows (/C:/Users/Fabiola/Documents/Games/Proyecto%202/js/plugins/HIME_HMSChoiceDisplayMode.js:195)
    at Window_ChoiceList.Window_Command.windowHeight (rpg_windows.js:1309)
    at Window_ChoiceList.updatePlacement (rpg_windows.js:3847)
    at Window_ChoiceList.updatePlacement (/C:/Users/Fabiola/Documents/Games/Proyecto%202/js/plugins/YEP_MessageCore.js:885)
    at Window_ChoiceList.updatePlacement (/C:/Users/Fabiola/Documents/Games/Proyecto%202/js/plugins/HIME_HMSChoiceDisplayMode.js:155)
    at Window_ChoiceList.start (rpg_windows.js:3831)
    at Window_ChoiceList.start (/C:/Users/Fabiola/Documents/Games/Proyecto%202/js/plugins/HIME_HMSChoiceDisplayMode.js:146)
    at Window_Message.startInput (rpg_windows.js:4437)
    at Window_Message.update (rpg_windows.js:4309)
    at Window_Message.update

  13. Anonymous says:

    Terrible news. Crashes with MV 1.3.3 as soon as the title screen appears.

  14. Anonymous says:

    This causes an error in RPG Maker MV 1.3.1 when run on an iOS device. Removing line 208: “delete WindowLayer.prototype._canvasClearWindowRect;” fixes it, although I don’t know what impact that may have on IAVRA compatibility.

  15. Izeck says:

    I’m a pest, I know. Sorry lol.

    When i use this it makes the choices appear outside of the text box. Is there a way to change the offset?

Leave a Reply

Your email address will not be published. Required fields are marked *