Large Choices

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
 
The Show Choice event command allows you to present players with a set of options that they can choose from. Depending on their selection, your event would respond according to their choice.
 
By default, RPG Maker provides you with a maximum of 6 choices when you create Show Choice commands. This means that, at anytime, you may present up to 6 choices.
 
However. what happens if you would like to display 7 choices? Or 8? Maybe more? You would need to come up with a method that will allow players to view all selections, but at the same time work around the 6-choice limitation.
 
Rather than having to figure out how to do that, this plugin makes your job easier by directly allowing you to create choice selections with more than 6 options:
 

 
Need more than 6 choices? Download the plugin and try it out!
 

For more information and downloads, go to HimeWorks
 ​
You may also be interested in the following plugins:

This is my first javascript plugin so I will need to look at how to clean it up a bit.
Hopefully it works on all platforms.
 
Last edited by a moderator:

Silent Darkness

Robomage
Veteran
Joined
Nov 28, 2013
Messages
2,284
Reaction score
322
First Language
English
Well, if they don't work, i'm sure you'll figure out how to fix em. Scripting is something you seem to be quite good at.

Also, I can see that fruits are now going to be a recurring joke, aren't they? : D

EDIT: Actually, Tsuki, wouldn't it make more sense to just have a pre-made .js file, instead of the old standard of putting text in?

Especially since there isn't a script editor in MV anymore?

EDIT2: ....whoops. I see. I left-clicked instead of right-clicking....
 
Last edited by a moderator:

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
Well, if they don't work, i'm sure you'll figure out how to fix em. Scripting is something you seem to be quite good at.


Also, I can see that fruits are now going to be a recurring joke, aren't they? : D


EDIT: Actually, Tsuki, wouldn't it make more sense to just have a pre-made .js file, instead of the old standard of putting text in?


Especially since there isn't a script editor in MV anymore?


EDIT2: ....whoops. I see. I left-clicked instead of right-clicking....
I think depending on browser settings, the file won't be downloaded automatically.


I have provided a note for download instructions just in case.


I'm not sure if there's a way for me to force users' browsers to download it directly, but I don't know if that would be ideal either.


So I'll just let the browser figure out what their owner wants.
 
Last edited by a moderator:

Silent Darkness

Robomage
Veteran
Joined
Nov 28, 2013
Messages
2,284
Reaction score
322
First Language
English
Or you could put a thing in the forum post saying that if a file download doesn't take place when you left-click, right-click and hit save as, or something similar.
 

Blue001

Veteran
Veteran
Joined
Jan 13, 2014
Messages
231
Reaction score
111
First Language
English
Primarily Uses
RMMV
Since you are basically just stitching the choices together, Is there a way to make this work with IF statements tossed into the mix?

So...

Show Choices

1. Option 1

IF X Switch is on

Then

Show Choices

1. Option 2

Else

IF Y Switch is on

Then 

Show Choices

1. Option 3

Else

This way we could have a dynamic list of options based on switches?

You would likely have to add a function to 

"Start Choice List"

and

"End Choice List"

so it stitches all choice lists in between those, after evaluating the if/then/elses.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
Since you are basically just stitching the choices together, Is there a way to make this work with IF statements tossed into the mix?


So...


Show Choices


1. Option 1


IF X Switch is on


Then


Show Choices


1. Option 2


Else


IF Y Switch is on


Then 


Show Choices


1. Option 3


Else


This way we could have a dynamic list of options based on switches?


You would likely have to add a function to 


"Start Choice List"


and


"End Choice List"


so it stitches all choice lists in between those, after evaluating the if/then/elses.
For conditions, I was thinking of going the same route as what I did in Ace for choice options


But that required you to make script calls and may not be as user-friendly. However it's definitely compact if you figure out how to make your script calls.


One possible solution I have thought of is, like you said, to use conditional branches.





You could then have "hide" conditions, "disable" conditions, and so on, using a combination of a comment followed by a conditional branch.


But I'm not sure how that would work out in practice.


It might be cleaner to just say this





Thoughts?


I like the idea of wrapping conditional branches around show choices as well.





But then it gets a bit complex when you want to mix and match different special options.
 
Last edited by a moderator:

Silent Darkness

Robomage
Veteran
Joined
Nov 28, 2013
Messages
2,284
Reaction score
322
First Language
English
Honestly, the Ace method of script calls was just fine when I tinkered around with it.

Although now, you may want to use Plugin Command, not script call.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
Honestly, the Ace method of script calls was just fine when I tinkered around with it.


Although now, you may want to use Plugin Command, not script call.
Do you have any thoughts on how users would specify it in a plugin command?
 

Blue001

Veteran
Veteran
Joined
Jan 13, 2014
Messages
231
Reaction score
111
First Language
English
Primarily Uses
RMMV
I assumed Plugin Commands were for calling static commands (IE: Open Custom Menu) that a plugin developers adds themselves for a user to call when needed, and not something the end user can alter to fit their needs.

As for how you could do conditionals, I would say make it as user friendly as possible. I liked the option the third image you showed. Not sure what you mean by mix and match... The event list may get long if you have a lot to check and change based on the situation, but I feel like it would still work. You would still need a way to start and end a choice list, so the engine understands when you want it to stop gathering options in case you need to add another non-connected choice list in the same event page.
 

Wavelength

Pre-Merge Boot
Global Mod
Joined
Jul 22, 2014
Messages
4,698
Reaction score
3,960
First Language
English
Primarily Uses
RMVXA
Congrats on (what looks like) your first MV Plug-in!  This was definitely one of the scripts I was hoping you'd port over (along with the insanely useful Page Conditions, Large Script Command, and other Options scripts).  Thanks for all you do for us game makers! :D
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
I assumed Plugin Commands were for calling static commands (IE: Open Custom Menu) that a plugin developers adds themselves for a user to call when needed, and not something the end user can alter to fit their needs.
What I mean is, you might for example say

disable_choice 1 switch 2 trueAnd I would take those inputs and then determine what to do with it.plugin command isn't suitable for writing formulas because it assumes arguments are separated by spaces.

While this would work, I would have to provide a list of all the possible conditions you might want to make, which simply isn't possible because you could come up with arbitrary conditions like "actor 1 and actor 2 in party" or any combination of conditions.

So I'd stick with script calls because then users can figure out what they want to say without any intervention on my part.

As for how you could do conditionals, I would say make it as user friendly as possible. I liked the option the third image you showed. Not sure what you mean by mix and match... The event list may get long if you have a lot to check and change based on the situation, but I feel like it would still work. You would still need a way to start and end a choice list, so the engine understands when you want it to stop gathering options in case you need to add another non-connected choice list in the same event page.
The choice options script for example provides 4 different types of "choice options" (or settings) based on a custom condition:

1. Disabling a choice

2. Hiding a choice

3. Changing Text

4. Changing Color

So you might want to disable a choice, and use a custom disable color. Or you might want to disable a choice, and provide a custom text to go with it.

Or perhaps you want a choice to be hidden when switch 1 is ON, but disabled when switch 2 is ON.
 

Blue001

Veteran
Veteran
Joined
Jan 13, 2014
Messages
231
Reaction score
111
First Language
English
Primarily Uses
RMMV
Do it whatever way you can. Honestly, as long as the function exists I would be happy. :)

I've always enjoyed your scripts. Keep up the amazing work!
 

wrigty12

Veteran
Veteran
Joined
Jan 11, 2014
Messages
533
Reaction score
77
First Language
English
Primarily Uses
When using this script, when ever you select a choice, then go back to the same event and open the choices again, the LargeChoices adds the 2nd "block" of choices AGAIN to the bottom of the list. It keeps adding it as many times as you open the choices.

Ex:

{Activate Event}

Hello! Please Choose One:

[Choices]

Red

Blue

Green

Yellow

White

Black

7th Choice

8th Choice

9th Choice

{Activate Event Again}

Hello! Please Choose One:

[Choices]

Red

Blue

Green

Yellow

White

Black

7th Choice

8th Choice

9th Choice

7th Choice

8th Choice

9th Choice
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
When using this script, when ever you select a choice, then go back to the same event and open the choices again, the LargeChoices adds the 2nd "block" of choices AGAIN to the bottom of the list. It keeps adding it as many times as you open the choices.
I thought I had addressed the issue when I first saw it while testing, but when I looked at my code again the changes weren't there.

I've updated the plugin with a version that corrects this.

Code in question for anyone that is interested:

Code:
/* IMPORTANT If we don't clone this, we will modify the event permanently */this._list = this._list.clone()
Needs to be a deep-clone. Something like

Code:
/* IMPORTANT If we don't clone this, we will modify the event permanently */this._list = JSON.parse(JSON.stringify(this._list))
 
Last edited by a moderator:

JJ Sonick

Villager
Member
Joined
Feb 23, 2013
Messages
23
Reaction score
4
First Language
English
This will be very useful, thanks!

.....

So I'd stick with script calls because then users can figure out what they want to say without any intervention on my part.


The choice options script for example provides 4 different types of "choice options" (or settings) based on a custom condition:

1. Disabling a choice
2. Hiding a choice
3. Changing Text
4. Changing Color

So you might want to disable a choice, and use a custom disable color. Or you might want to disable a choice, and provide a custom text to go with it.

Or perhaps you want a choice to be hidden when switch 1 is ON, but disabled when switch 2 is ON.
I think having those options would be great, and agree that having them activated by script calls sounds like the best method for flexibility.
 

andai

Veteran
Veteran
Joined
Oct 19, 2014
Messages
54
Reaction score
25
First Language
English
Primarily Uses
It's always nice to have the option of having more options. =) Thanks, Hime!
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
Hidden choices have been released as a separate plugin and is compatible with Large Choices.


You can get it here
 

Blue001

Veteran
Veteran
Joined
Jan 13, 2014
Messages
231
Reaction score
111
First Language
English
Primarily Uses
RMMV
I'm curious. In your screenshot you have 12 choices showing on the screen at once. Mine only lets me see 7 and then I have to scroll down to see more.

Is the number listed dependant on Font Size? I have so much more window space left, but It only takes up like 30% of the vertical space.

I've even used Yanfly Message Core to make the message window displayed along with the choice to only be 1 line.

Any chance for an option to control how many choices are on screen, and maybe an X,Y offset for the choice window itself?
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
MV is hardcoded to show only 8 by default, and scrolls the rest.

I can write a plugin to for positioning and other options, but I will have to come up with something appropriate.

Like maybe a script call or plugin command before showing the choices.

Code:
choice_window_position(100, 200)
 

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

Latest Threads

Latest Posts

Latest Profile Posts

buinguyenhoangtho wrote on fizzly's profile.
Hello @fizzly, i would like to use your asset/ resource for my project ( is maybe commercial ). May i have your permission? Thanks you !
Working on breaking the limits of RPGMaker! :cool:
I have 470+ hours on RMMV but have only made a demo game, is this normal? :kaoswt: (I lose motivation a lot plus I use a 32gb laptop, so..)
I like Iron Maiden.
Benku wrote on Magnus0808's profile.
Hey man you helped me out a long time ago with a plugin i was wondering if you can help me out one more time since its literally the last thing i need help with if not is cool but id figured id ask you one more soild.

Forum statistics

Threads
95,427
Messages
929,080
Members
125,660
Latest member
AphoticAmaranth
Top