Adding Extras with choices to menu

Torqus

Veteran
Veteran
Joined
Aug 2, 2015
Messages
169
Reaction score
26
First Language
English
Primarily Uses
Hello.


I have a question about the menu, I'm using YEA Menu Engine, I already know how to add commands and make them call a Scene, ex: add Controls and that calls Scene_Controls, which shows a picture with key bindings info.


What I don't know how to do is a command that opens more commands to choose.


I want to create Extras, and when toggled, it shows 3 more commands: Music, Creatures, Collectibles. I already have the scenes, made by Mog, but that's irrelevant.


Does anyone know and can tell me or point me in the right direction to make this?


This is also an option, if the first one is too complicated:


And lastly, the option I like the less:


(Ignore icons, Sick photoshop skillz)


Forgot to mention, I know I can make it as a Common Event showing choices and then run it from the menu, but that's the last option.
 
Last edited by a moderator:

Rikifive

Bringer of Happiness
Veteran
Joined
Jun 21, 2015
Messages
1,441
Reaction score
679
First Language
Polish
Primarily Uses
Other
That's something what I was thinking to do some time ago.

It seems kinda easy (it shouldn't take too much lines), but I'm not 100% sure how to do that.

Well, anyway if I'll manage to do anything, I'll let you know, if not - oh 
, I'm sure somebody will help you (us). =P
 

Torqus

Veteran
Veteran
Joined
Aug 2, 2015
Messages
169
Reaction score
26
First Language
English
Primarily Uses
Yeah, a script that does this would be sick.
I forgot to mention that Ace Status Menu has something similar to what I'm trying to do, but it's not the same, as it uses windows, not scenes.
As you can see I took your script for the menu info, it's really useful, that section was the only reason I tried using custom menus, and then I found that.
Anyways I think I'll stick with a Common Event or creating 3 menu commands if there's no solution to this.
 

Rikifive

Bringer of Happiness
Veteran
Joined
Jun 21, 2015
Messages
1,441
Reaction score
679
First Language
Polish
Primarily Uses
Other
I was thinking about making something, you did on the first screenshot. Upon selecting a command it opens a new selectable window next to, where there are more commands. Well.. It's easy to say, but I'm not sure how to approach it. - I'm not sure how to open a window upon selecting a command and dispose it, when pressing 'back'... I have some things on mind, but it can end up just being a total failure... I'll take a look on default scripts and see if there will be some useful info.

Nothing worse than 'game crash' can't happen. xD
 
Last edited by a moderator:

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
The reason it's done by window is because how of scene works.

There can be only 1 scene showing at any one time, but windows, you can have lots of it.

So if you call a new scene with a tiny window and choices, all you see is the snapshot background from scene_map

and a tiny window with choice.

If you don't mind that, copy a new copy of Scene_End and modify from there. 

It is a scene that will bring up a small window with choices in it. The one you see when you try to quit the game. Title/Return/Quit

Rename class Scene_End to class Scene_YouDecide.

Reading from above i assume you already know how to add commands and call scenes.

And Scene_End is probably the easiest scene around for a beginner to tinker with. ;)

Even if you don't know how to setup a command (choice), the existing example in Scene_End should get you going fine. ;)
 

Torqus

Veteran
Veteran
Joined
Aug 2, 2015
Messages
169
Reaction score
26
First Language
English
Primarily Uses
The reason it's done by window is because how of scene works.

There can be only 1 scene showing at any one time, but windows, you can have lots of it.

So if you call a new scene with a tiny window and choices, all you see is the snapshot background from scene_map

and a tiny window with choice.

If you don't mind that, copy a new copy of Scene_End and modify from there. 

It is a scene that will bring up a small window with choices in it. The one you see when you try to quit the game. Title/Return/Quit

Rename class Scene_End to class Scene_YouDecide.

Reading from above i assume you already know how to add commands and call scenes.

And Scene_End is probably the easiest scene around for a beginner to tinker with. ;)

Even if you don't know how to setup a command (choice), the existing example in Scene_End should get you going fine. ;)
Wow yes you're right! I'm going to do that right now!

The reason I wanted this was because I have a script that shows backgrounds in different menu scenes, and now I might be able to add a background to the extra selection scene.

Thanks!
 

Torqus

Veteran
Veteran
Joined
Aug 2, 2015
Messages
169
Reaction score
26
First Language
English
Primarily Uses
It's working but it's not done yet. I can't go back and I can't change the texts of each option from the default ones (Exit, To Title, Cancel)
 
This is the new Scene_Extras

#==============================================================================# ** Scene_End#------------------------------------------------------------------------------# This class performs game over screen processing.#==============================================================================class Scene_Extras < Scene_MenuBase #-------------------------------------------------------------------------- # * Start Processing #-------------------------------------------------------------------------- def start super create_command_window end #-------------------------------------------------------------------------- # * Pre-Termination Processing #-------------------------------------------------------------------------- def pre_terminate super close_command_window end #-------------------------------------------------------------------------- # * Create Background #-------------------------------------------------------------------------- def create_background super @background_sprite.tone.set(0, 0, 0, 128) end #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window @command_window = Window_GameEnd.new @command_window.set_handler:)pictures, method:)command_pictures)) @command_window.set_handler:)music, method:)command_music)) @command_window.set_handler:)creatures, method:)command_creatures)) end #-------------------------------------------------------------------------- # * Close Command Window #-------------------------------------------------------------------------- def close_command_window @command_window.close update until @command_window.close? end #-------------------------------------------------------------------------- # * [Go to Title] Command #-------------------------------------------------------------------------- def command_creatures SceneManager.call(Monster_Book) end #-------------------------------------------------------------------------- # * [Go to Title] Command #-------------------------------------------------------------------------- def command_music SceneManager.call(Scene_Music_Box) end #-------------------------------------------------------------------------- # * [Go to Title] Command #-------------------------------------------------------------------------- def command_pictures SceneManager.call(Scene_Picture_Gallery) endend
And this is Window_EXTRAS
Code:
#==============================================================================# ** Window_GameEnd#------------------------------------------------------------------------------#  This window is for selecting Go to Title/Shut Down on the game over screen.#==============================================================================class Window_GameEnd < Window_Command  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize    super(0, 0)    update_placement    self.openness = 0    open  end  #--------------------------------------------------------------------------  # * Get Window Width  #--------------------------------------------------------------------------  def window_width    return 160  end  #--------------------------------------------------------------------------  # * Update Window Position  #--------------------------------------------------------------------------  def update_placement    self.x = (Graphics.width - width) / 2    self.y = (Graphics.height - height) / 2  end  #--------------------------------------------------------------------------  # * Create Command List  #--------------------------------------------------------------------------  def make_command_list    add_command(Vocab::to_title, :creatures)    add_command(Vocab::shutdown, :music)    add_command(Vocab::cancel,   :pictures)  endend
In the first one... how can I do to make the Back key (X... escape) to actually go back (close the scene and go back to the menu) without adding a "Cancel" option?Solved: Had to add this to the scene in Create Command Window
    @command_window.set_handler:)cancel,   method:)return_scene))

Last problem... In the last one, what do I have to write to replace the "Vocab::"? I think "Vocab::shutdown" and the others are the texts you can change in Database > Tems.
 
Last edited by a moderator:

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
Vocab is listed in the module on the top of the script lists. The very 1st one indeed. ;)

or you can just use a string of your own. Replace Vocab::NAME with "String name"

Edit:

Just took a look at your script, and am glad you have fun with it :D

Since you have made a new Window Extras and not using the old Window End,

you should point it to window extra on line 33.

eg. @command_window = Window_Extra.new

Remember to rename class Window_GameEnd to class Window_Extra too

or you will be overwriting the old one even when you did copy a new set of it. :p

And to have each command closes the window after you made a choice.

add this line above the lines you use to call a scene:  close_command_window

In addition:

SceneManager.return will return you to previous scene.

SceneManager.goto(Scene_Name) will goto a new scene. If i remember correctly,

this one properly dispose off all the old scenes before transition, so return will only return you to the Scene_Map.

Correct me if i am wrong. :p

SceneManager.call(Scene_Name) call a new scene while keeping the old scenes data, so return should work.

SceneManager.exit  exits the whole game.
 
Last edited by a moderator:

Torqus

Veteran
Veteran
Joined
Aug 2, 2015
Messages
169
Reaction score
26
First Language
English
Primarily Uses
Thank you so much! You are the kind of person who makes me want to surf the forum to help others xD

I can't even describe how much improvement this is for my project.

Also, just in case anyone comes here trying to find a solution, I was also able to center the text of the choices with this small addition in the Window_Extras

Code:
  def alignment    return 1  end
 
Last edited by a moderator:

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
Cheers!  :guffaw:

Glad to help and congratulations on your progress!
 
Joined
Apr 30, 2012
Messages
216
Reaction score
35
First Language
Spanish
Primarily Uses
If you dont want to use the Menu Engine you could look for a script that lets you add new command using common events (Theo has one) and for the chooses you can use a script a script called scene interpreter that lets you run commands in the menu. Excuse me for my bad english.
 

Torqus

Veteran
Veteran
Joined
Aug 2, 2015
Messages
169
Reaction score
26
First Language
English
Primarily Uses
If you dont want to use the Menu Engine you could look for a script that lets you add new command using common events (Theo has one) and for the chooses you can use a script a script called scene interpreter that lets you run commands in the menu. Excuse me for my bad english.
Thanks for the reply but I already solved this, in the best possible way, making a new scene and window, without having to add any script.

Also Common Events wheren't an option, I already had that working before I made this thread, I didn't want to use them because common events close the menu and look like choices.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

Been scratching away at my game and making progress, but just had a revelation. I'm working in full screen and adjusting all my pictures accordingly, but will they resize if someone's screen is smaller?? I hope this doesn't turn out to be a problem later.
Why is there so much month left at the end of money? D=
Hello humans! How goes your day in this journey of living? I hope it is good, for I am human like you, and I am feeling great! Worship the altar.

Forum statistics

Threads
105,625
Messages
1,015,052
Members
137,285
Latest member
AndrewRobertson
Top