I posted this on the Pockethouse Wiki but have no hope that anyone'll help over there. And I know you all have better things to do than help me with random RGSS2 problems, but this one has me stumped.
So this used to be my menu system (really-really basic simple stuff).
[spoiler]class Scene_Menu < Scene_Base
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = "Quests"
s6 = "Monster Book"
s7 = "Party Setup"
s8 = Vocab::save
s9 = "Options"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8, s9])
@command_window.index = @menu_index
if $game_party.members.size == 0 # If number of party members is 0
@command_window.draw_item(0, false) # Disable item
@command_window.draw_item(1, false) # Disable skill
@command_window.draw_item(2, false) # Disable equipment
@command_window.draw_item(3, false) # Disable status
@command_window.draw_item(4, false) # Disable quests
@command_window.draw_item(5, false) # Disable monsterbook
@command_Window.draw_item(6, false) # Disable party setup
end
if $game_system.save_disabled # If save is forbidden
@command_window.draw_item(7, false) # Disable save
end
end
#--------------------------------------------------------------------------
# * Update Command Selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Item
$scene = Scene_Item.new
when 1,2,3 # Skill, equipment, status
start_actor_selection
when 4 # Quests
$scene = Scene_Quest.new
when 5 # Monster Book
$scene = Scene_Bestiary.new
when 6 # Mutha' ****ing Party Setup
$scene = Scene_PartyChanger.new
when 7 # Save
$scene = Scene_File.new(true, false, false)
when 8 # End Game
$scene = Scene_End.new
end
end
end
end[/spoiler]
So then I was looking at the new Melody stuff and the Main Menu Melody/FF13 Menu scripts seemed adorable so I tried to implement them into my game. Here's the script in question. (http://www.pockethouse.com/mambo/melody/Main_Menu_Melody.txt) So I changed the menu commands because I need... (Lines 74-82)
:items, # Default Item Menu
:status, # Default Status Menu
:skill, # Default Skill Menu
:equip, # Default Equip menu
:quests, # Quest Log
:monster_book, # Monster Book
:party_changer, # KGC's Large Party
:save, # Default Save Menu
:system, # Default Game End Menu
and (lines 162-164)
:quests => [ nil, nil, false, 99, "Quests", "Scene_Quest"],
:monster_book => [nil, nil, false, 45, "Monster Book", "Scene_Bestiary"],
:party_changer => [nil, nil, false, 46, "Party", "Scene_PartyChanger"],
Because the quest log is modern algebra's, the bestiary is the 2009 version of Yanfly's bestiary and the party changer is Dargor's from like, 2008.
Everything works perfectly except if you choose save and then close the save menu the game highlights "system" instead of save when the program closes Scene_save and opens Scene_menu. But that's mostly minor compared to Scene_PartyChanger and Scene_Bestiary that exit to the map instead of back to the menu. I have a feeling it's a simple fix (changing a line in save/bestiary/partychanger) but I can't figure it out.
Well, for the save error, try replacing line 659 "$scene = Scene_Menu.new($game_temp.menu_command_index[:save])" with "$scene = Scene_Menu.new(x)", x being the number of places down from the start of the menu your save command is (for your purpose, 7).
For Yanfly's Bestiary, do the same thing, but replace:
#--------------------------------------------------------------------------
# return scene
#--------------------------------------------------------------------------
def return_scene
if @menu_index == nil
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(@menu_index)
end
end
With:
#--------------------------------------------------------------------------
# return scene
#--------------------------------------------------------------------------
def return_scene
$scene = Scene_Menu.new(x)
end
x once again being the number of places down from the start of the menu your save command is (for your purpose, 5). Keep in mind since your doing this manually, you'll need to replace these numbers everytime you insert a new command. I'm not so sure about Dargor's Script since I've never seen it, so a link to it would be nice.
Thanks! Will try that in a moment. Here's a link to Dargor's script. (http://www.rpgrevolution.com/forums/index.php?showtopic=12397)
EDIT: Worked like a charm!
Hmm.. That looks like an RMXP script, and when I put it in it wasn't compatible with RMVX. Are you sure that's the right script?
You're right, well I don't know where I found this one, but here is the party changer script for VX.