L's Simple Main Menu #2 - Retro-look
#1
L's Simple Main Menu #2 - Retro-look


'Retro' I mean, it's intended to be a re-creation of RPG Tkool Dante98/PC main menu screen. Of course, it's not completely same as original. I just tried to make it similar. Originally for personal use, but after some time, I posted it on rmxp.org.

Screenshot
Reply }
#2
Script (Older)
Code:
#L's Custom Menu 2

#==============================================================================
# Window_Gold
#==============================================================================
class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(439, 413, 200, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Z-Pos
    self.z = 100
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Advanced Gold Display mini-script by Dubealex.
    self.contents.clear    
    case $game_party.gold
      when 0..9999
        gold = $game_party.gold
      when 10000..99999
        gold = $game_party.gold.to_s
        array = gold.split(//)
        gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
      when 100000..999999
        gold = $game_party.gold.to_s
        array = gold.split(//)
        gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
      when 1000000..9999999
        gold = $game_party.gold.to_s
        array = gold.split(//)
        gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
      end
  
    self.contents.font.color = system_color
    gold_word = $data_system.words.gold.to_s + " /"
    cx = contents.text_size(gold_word).width
    cx2=contents.text_size(gold.to_s).width
    self.contents.draw_text(4, 0, 160-cx-2, 32, gold_word)
    self.contents.font.color = text_color(0)
    self.contents.draw_text(164-cx2+2, 0, cx2, 32, gold.to_s, 2)
  end
end


#==============================================================================
# Window_PlayTime
#==============================================================================
class Window_PlayTime < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(239, 413, 200, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Z-Pos
    self.z = 100
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 120, 32, "Time")
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 160, 32, text, 2)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end


#==============================================================================
# ? Game_Map
#==============================================================================
class Game_Map    
  def name
     $map_infos[@map_id]
  end  
end


#========================================
#? Scene_Title
#--------------------------------------------------------------------------------
# Setting functions for the Title
#========================================
class Scene_Title
  $map_infos = load_data("Data/MapInfos.rxdata")
  for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
  end
end

#==============================================================================
# Window_MapName
#==============================================================================
class Window_MapName < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 413, 239, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Z-Pos
    self.z = 100
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear    
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 200, 32, $game_map.name.to_s, 1)
  end  
end


#==============================================================================
# Window_MenuStatus
#==============================================================================
class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    $game_party.actors.size < 4 ? i = 14 : i = 0
    $game_party.actors.size == 1 ? i = 24 : i = i
    super(177, 0, 462, ($game_party.actors.size * 72)+i)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Z-Pos
    self.z = 100
    #Refresh and add the contents to window    
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 16
      y = i*64
      actor = $game_party.actors[i]
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 144, y)
      draw_actor_state(actor, x + 260, y )
      draw_actor_level(actor, x, y + 32)
      draw_actor_hp(actor, x + 98, y + 32)
      draw_actor_sp(actor, x + 254, y + 32)
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 64, self.width - 32, 64)
    end
  end
end


#==============================================================================
# Scene_Menu
#==============================================================================
class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
    commands_init
    @changer = 0 #Change Party Order by Yargovish
    @where = 0 #
    @checker = 0  #
  end
  #--------------------------------------------------------------------------
  # * Set Commands
  #--------------------------------------------------------------------------
  def commands_init
    # MenuCommand
    @commands = []
    s1 = "Item"
    s2 = "Skill"
    s3 = "Equip"
    s4 = "Status"
    s5 = "Order"
    s6 = "System"
    @commands.push(s1, s2, s3, s4, s5, s6).flatten!
    
    @system_commands = []
    o1 = "Option"
    o2 = "Help"
    o3 = "Save"
    o4 = "Load"
    o5 = "Exit"
    @system_commands.push(o1, o2, o3, o4, o5).flatten!
  end
  #--------------------------------------------------------------------------
  # * Main - Handles drawing/disposing windows and the main loop
  #--------------------------------------------------------------------------
  def main
    #Draw Windows
    main_command_window
    system_command_window
    main_draw
    #Execute transition
    Graphics.transition
    #Main Loop
    loop do
      #Main Loop
      main_loop
      break if main_scenechange?
    end
    #Prepare for transition
    Graphics.freeze
    #Dispose Windows
    main_dispose
  end
  #--------------------------------------------------------------------------
  # * Main Draw - Handles drawing windows
  #--------------------------------------------------------------------------
  def main_draw
    #Draw Background
    @background = Spriteset_Map.new
    #Draw Windows  
    @gold_window = Window_Gold.new
    @gold_window.x = 439
    @gold_window.y = 413
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 239
    @playtime_window.y = 413    
    @map_window = Window_MapName.new
    @map_window.x = 0
    @map_window.y = 413
    @map_window.z = 100
    @status_window = Window_MenuStatus.new        
  end
  #--------------------------------------------------------------------------
  # * Main Command Window
  #--------------------------------------------------------------------------
  def main_command_window  
    @command_window = Window_Command.new(160, @commands)
    @command_window.index = @menu_index
    # If number of party members is 0
    if $game_party.actors.size == 0
      # Disable items, skills, equipment, and status
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    
    if $game_party.actors.size <= 1 #
      @command_window.disable_item(4)
    end  
  end
    
  def system_command_window
    @load_enabled = false
    @sys_command_window = Window_Command.new(160, @system_commands)
    @sys_command_window.visible = false
    @sys_command_window.active = false
    @sys_command_window.x = 100
    @sys_command_window.y = 180
    @sys_command_window.z = 0
    if $game_system.save_disabled
      @sys_command_window.disable_item(2)
    end
    for i in 0..3
      if (FileTest.exist?("Save#{i+1}.rxdata"))        
        @load_enabled = true
      end
    end  
    if !@load_enabled
      @sys_command_window.disable_item(3)
    end
  end    
  #--------------------------------------------------------------------------
  # * Main Scene Change
  #--------------------------------------------------------------------------
  def main_scenechange?
    # Abort loop if screen is changed
    if $scene != self
      return true
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Main Dispose
  #--------------------------------------------------------------------------
  def main_dispose
    #Dispose Background
    @background.dispose
    # Dispose All Windows
    @gold_window.dispose
    @playtime_window.dispose
    @map_window.dispose
    @status_window.dispose
    @command_window.dispose
    @sys_command_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Main Loop
  #--------------------------------------------------------------------------
  def main_loop
    # Update game screen
    Graphics.update
    # Update input information
    Input.update
    # Frame update
    update
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  def update
    # Update Windows
    update_windows
    #update_command if @command_window.active and @command_window.visible
    #update_sys_command if @sys_command_window.active and @sys_command_window.visible
    #update_status if @status_window.active
    
    if @sys_command_window.active
      @sys_command_window.z = +500
    end
    
    # If command window is active: call update_command
    if @command_window.active
      update_command
      return
    end
    # If system window is active: call update_sys_command
    if @sys_command_window.active
      update_sys_command
      return
    end
    # If status window is active: call update_status
    if @status_window.active
      update_status
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Window Update
  #--------------------------------------------------------------------------
  def update_windows    
    @command_window.update if @command_window.visible
    @sys_command_window.update if @sys_command_window.visible
    @gold_window.update
    @playtime_window.update
    @map_window.update
    @status_window.update
  end
  #--------------------------------------------------------------------------
  # * Update Command Window
  #--------------------------------------------------------------------------
  def update_command
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # If command other than save or end game, and party members = 0
      if $game_party.actors.size == 0 and @command_window.index < 4
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Branch by command window cursor position
      case @command_window.index
      when 0 # Item      
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to item screen
        $scene = Scene_Item.new
      when 1 # Skill
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2 # Equip
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0      
      when 3 # Status
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0          
      when 4 # Order
        #Change Party Order by Yargovish
        $game_system.se_play($data_system.decision_se)
        @checker = 0
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0      
      when 5 # System
        $game_system.se_play($data_system.decision_se)
        @sys_command_window.active = true
        @sys_command_window.visible = true
        @command_window.active = false        
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Update SysCommand Window
  #--------------------------------------------------------------------------
  def update_sys_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @sys_command_window.active = false
      @sys_command_window.visible = false
      @sys_command_window.index = 0
      @sys_command_window.z = 0
      return
    end
    
    if Input.trigger?(Input::C)
      case @sys_command_window.index      
      when 0
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Option.new
      when 1
        # Play decision SE
        #$game_system.se_play($data_system.decision_se)
        #$scene = Scene_HelpScreen.new
      when 2
        # # If saving is forbidden
        if $game_system.save_disabled
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to save screen
        $scene = Scene_Save.new
      when 3
        if !@load_enabled
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to load screen
        $scene = Scene_Load.new
      when 4
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to end game screen
        $scene = Scene_End.new
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when status window is active)
  #--------------------------------------------------------------------------
  def update_status
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Make command window active
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Branch by command window cursor position
      case @command_window.index
      when 1  # skill
        # If this actor's action limit is 2 or more
        if $game_party.actors[@status_window.index].restriction >= 2
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to skill screen
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to equipment screen
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to status screen
        $scene = Scene_Status.new(@status_window.index)
      when 4
        #Change Party Order by Yargovish
        $game_system.se_play($data_system.decision_se)
        if @checker == 0
          @changer = $game_party.actors[@status_window.index]
          @where = @status_window.index
          @checker = 1
        else
          $game_party.actors[@where] = $game_party.actors[@status_window.index]
          $game_party.actors[@status_window.index] = @changer
          @checker = 0
          @status_window.refresh
          $game_player.refresh #
        end        
      end
      return
    end
  end  
end


class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias load_initialize initialize
  alias load_on_cancel on_cancel
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @scene = $scene
    load_initialize
  end
  #--------------------------------------------------------------------------
  # * Cancel Processing
  #--------------------------------------------------------------------------
  def on_cancel
    load_on_cancel
    $scene = @scene
  end
end
Reply }
#3
Script (Revised)
Code:
#============================================================================
#L's Custom Menu #2 - Retro-looking
#============================================================================
=begin
  This CMS is the result of attempted recreating RPG Tkool Dante98/DantePC Menu
for RPG Maker XP.(except map name and time windows, and some commands;))  Map
as Background, and the size-changing Window_MenuStatus is inspired by D2Win
(MS Windows frontend for Dante98/98 II Games).
=end
#==============================================================================

module MenuCommand
  Item     = 'Item'
  Skill    = 'Skill'
  Equip    = 'Equip'
  Status   = 'Status'
  Save     = 'Save'
  Load     = 'Load'
  End_Game = 'Exit'
    
  Help     = 'Help'
  Order    = 'Order'
  Party    = 'Party'
  Option   = 'Option'
  Quest    = 'Quest'
  System   = 'System'
end


#==============================================================================
# Window_Gold
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(439, 413, 200, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Advanced Gold Display mini-script by Dubealex.
    self.contents.clear    
    case $game_party.gold
    when 0..9999
      gold = $game_party.gold
    when 10000..99999
      gold = $game_party.gold.to_s
      array = gold.split(//)
      gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
    when 100000..999999
      gold = $game_party.gold.to_s
      array = gold.split(//)
      gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
    when 1000000..9999999
      gold = $game_party.gold.to_s
      array = gold.split(//)
      gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
    end
  
    self.contents.font.color = system_color
    gold_word = $data_system.words.gold.to_s + " /"
    cx = contents.text_size(gold_word).width
    cx2=contents.text_size(gold.to_s).width
    self.contents.draw_text(4, 0, 160-cx-2, 32, gold_word)
    self.contents.font.color = text_color(0)
    self.contents.draw_text(164-cx2+2, 0, cx2, 32, gold.to_s, 2)
  end
end


#==============================================================================
# Window_PlayTime
#==============================================================================

class Window_PlayTime < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(239, 413, 200, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 120, 32, "Time")
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 160, 32, text, 2)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end


#------------------------------------------------------------------------------
#  Game_Map
#------------------------------------------------------------------------------
class Game_Map
#------------------------------------------------------------------------------
#  Name
#------------------------------------------------------------------------------
  def name
    $map_infos[@map_id]
  end
end


#========================================
#? Scene_Title
#--------------------------------------------------------------------------------
# Setting functions for the Title
#========================================
class Scene_Title
  $map_infos = load_data("Data/MapInfos.rxdata")
  for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
  end
end


#==============================================================================
# Window_MapName
#==============================================================================

class Window_MapName < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 413, 239, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear    
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 200, 32, $game_map.name.to_s, 1)
  end  
end


#==============================================================================
# Window_MenuStatus
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    $game_party.actors.size < 4 ? i = 14 : i = 0
    $game_party.actors.size == 1 ? i = 24 : i = i
    super(177, 0, 462, ($game_party.actors.size * 72)+i)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Refresh and add the contents to window    
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 16
      y = i*64
      actor = $game_party.actors[i]
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 144, y)
      draw_actor_state(actor, x + 260, y )
      draw_actor_level(actor, x, y + 32)
      draw_actor_hp(actor, x + 98, y + 32)
      draw_actor_sp(actor, x + 254, y + 32)
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 64, self.width - 32, 64)
    end
  end
end


#==============================================================================
# Scene_Menu
#==============================================================================
class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
    commands_init
    @changer = 0 #Change Party Order by Yargovish
    @where = 0 #
    @checker = 0  #
  end
  #--------------------------------------------------------------------------
  # * Set Commands
  #--------------------------------------------------------------------------
  def commands_init
    # MenuCommand
    @commands = []
    s1 = MenuCommand::Item
    s2 = MenuCommand::Skill
    s3 = MenuCommand::Equip
    s4 = MenuCommand::Status
    s5 = MenuCommand::Order
    s6 = MenuCommand::System
    @commands.push(s1, s2, s3, s4, s5, s6).flatten!
    
    @sys_commands = []
    o1 = MenuCommand::Option
    o2 = MenuCommand::Help
    o3 = MenuCommand::Save
    o4 = MenuCommand::Load
    o5 = MenuCommand::End_Game
    @sys_commands.push(o1, o2, o3, o4, o5).flatten!
  end
  #--------------------------------------------------------------------------
  # * Main - Handles drawing/disposing windows and the main loop
  #--------------------------------------------------------------------------
  def main
    #Draw Background
    @background = Spriteset_Map.new
    #Draw Windows
    main_window
    #Execute transition
    Graphics.transition
    #Main Loop
    loop do
      #Main Loop
      main_loop
      break if main_scenechange?
    end
    #Prepare for transition
    Graphics.freeze
    #Dispose Windows
    main_dispose
  end
  #--------------------------------------------------------------------------
  # * Main Draw - Handles drawing windows
  #--------------------------------------------------------------------------
  def main_window    
    #Draw Windows
    main_command_window
    system_command_window  
    @gold_window = Window_Gold.new
    @gold_window.x = 439
    @gold_window.y = 413
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 239
    @playtime_window.y = 413    
    @map_window = Window_MapName.new
    @map_window.x = 0
    @map_window.y = 413
    @map_window.z = 100
    @status_window = Window_MenuStatus.new        
  end
  #--------------------------------------------------------------------------
  # * Main Command Window
  #--------------------------------------------------------------------------
  def main_command_window  
    @command_window = Window_Command.new(160, @commands)
    @command_window.index = @menu_index
    # If number of party members is 0
    if $game_party.actors.size == 0
      # Disable items, skills, equipment, and status
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    
    if $game_party.actors.size <= 1 #
      #Disable change party order
      @command_window.disable_item(4)
    end  
  end
  #--------------------------------------------------------------------------
  # * System Command Window
  #--------------------------------------------------------------------------
  def system_command_window
    @sys_command_window = Window_Command.new(160, @sys_commands)
    @sys_command_window.visible = false
    @sys_command_window.active = false
    @sys_command_window.x = 100
    @sys_command_window.y = 180
    @sys_command_window.z = 0
    check_save_available
    check_load_available
  end
  #-----------------
  def check_save_available
    if $game_system.save_disabled
      @sys_command_window.disable_item(2)
    end
  end
  #-----------------
  def check_load_available
    #Check if saved file exists
    @load_enabled = false
    for i in 0..3
      if (FileTest.exist?("Save#{i+1}.rxdata"))        
        @load_enabled = true
      end
    end  
    if !@load_enabled
      @sys_command_window.disable_item(3)
    end
  end    
  #--------------------------------------------------------------------------
  # * Main Scene Change
  #--------------------------------------------------------------------------
  def main_scenechange?
    # Abort loop if screen is changed
    if $scene != self
      return true
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Main Dispose
  #--------------------------------------------------------------------------
  def main_dispose
    #Dispose Background
    @background.dispose
    # Dispose All Windows
    @gold_window.dispose
    @playtime_window.dispose
    @map_window.dispose
    @status_window.dispose
    @command_window.dispose
    @sys_command_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Main Loop
  #--------------------------------------------------------------------------
  def main_loop
    # Update game screen
    Graphics.update
    # Update input information
    Input.update
    # Frame update
    update
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  def update
    # Update Windows
    update_windows
    #update_command if @command_window.active and @command_window.visible
    #update_sys_command if @sys_command_window.active and @sys_command_window.visible
    #update_status if @status_window.active
    
    if @sys_command_window.active
      @sys_command_window.z = +500
    end
    
    # If command window is active: call update_command
    if @command_window.active
      update_command
      return
    end
    # If system window is active: call update_sys_command
    if @sys_command_window.active
      update_sys_command
      return
    end
    # If status window is active: call update_status
    if @status_window.active
      update_status
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Window Update
  #--------------------------------------------------------------------------
  def update_windows    
    @command_window.update if @command_window.visible
    @sys_command_window.update if @sys_command_window.visible
    @gold_window.update
    @playtime_window.update
    @map_window.update
    @status_window.update
  end
  #--------------------------------------------------------------------------
  # * Update Command Window
  #--------------------------------------------------------------------------
  def update_command
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Return if Disabled Command
      if disabled_main_command?
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      main_command_input
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Update SysCommand Window
  #--------------------------------------------------------------------------
  def update_sys_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @sys_command_window.active = false
      @sys_command_window.visible = false
      @sys_command_window.index = 0
      @sys_command_window.z = -500
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Return if Disabled Command
      if disabled_main_command?
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Command Input
      sys_command_input
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when status window is active)
  #--------------------------------------------------------------------------
  def update_status
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Make command window active
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Return if Disabled Command
      if disabled_main_command?
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Command Input
      sub_command_input
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Disabled Main Command? Test
  #--------------------------------------------------------------------------
  def disabled_main_command?
    # Gets Current Command
    command = @commands[@command_window.index]
    sys_command = @sys_commands[@sys_command_window.index]
    # Gets SDK Scene_Menu Commands
    c = MenuCommand
    # If 0 Party Size
    if $game_party.actors.size == 0
      # If Item, Skill, Equip or Status Selected
      if [c::Item, c::Skill, c::Equip, c::Status].include?(command)
        return true
      end
    end
    if $game_party.actors.size <= 1
      if [c::Order].include?(command)
        return true
      end
    end
    # If Save Disabled && Command is Save
    return true if $game_system.save_disabled && sys_command == c::Save
    # If Load Disabled && Command is Load
    return true if !@load_enabled && sys_command == c::Load
    return false
  end
  #--------------------------------------------------------------------------
  # * Update Command Check
  #--------------------------------------------------------------------------
  def main_command_input
    # Loads Current Command
    command = @commands[@command_window.index]
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Checks Commands
    case command
    when MenuCommand::Item  #item
      command_item
    when MenuCommand::Skill #skill
      command_skill
    when MenuCommand::Equip #equip
      command_equip
    when MenuCommand::Status  #status
      command_status
    when MenuCommand::Order #order
      command_order
    when MenuCommand::System  #call system submenu
      $game_system.se_play($data_system.decision_se)
      @sys_command_window.active = true
      @sys_command_window.visible = true
      @command_window.active = false    
    end
  end
  #--------------------------------------------------------------------------
  # * Update System Command Check
  #--------------------------------------------------------------------------
  def sys_command_input
    # Loads Current Command
    sys_command = @sys_commands[@sys_command_window.index]
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Checks Commands
    case sys_command
    when MenuCommand::Help
      command_help
    when MenuCommand::Option  #option
      command_option
    when MenuCommand::Save  #save
      command_save
    when MenuCommand::Load  #load
      command_load
    when MenuCommand::End_Game  #exit
      command_endgame
    end
  end
  #--------------------------------------------------------------------------
  # * Disabled Sub Command? Test
  #--------------------------------------------------------------------------
  def disabled_sub_command?
    # Loads Current Command
    command = @commands[@command_window.index]
    # If Skill Selected
    if command == MenuCommand::Skill
      # If this actor's action limit is 2 or more
      if $game_party.actors[@status_window.index].restriction >= 2
        return true
      end
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Update Status Check
  #--------------------------------------------------------------------------
  def sub_command_input
    # Loads Current Command
    command = @commands[@command_window.index]
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Checks Command By Name
    case command
    when MenuCommand::Skill
      command_skill
    when MenuCommand::Equip
      command_equip
    when MenuCommand::Status
      command_status
    when MenuCommand::Order
      command_order
    end
  end
  #--------------------------------------------------------------------------
  # * Command Item
  #--------------------------------------------------------------------------
  def command_item
    # Switch to item screen
    $scene = Scene_Item.new
  end
  #--------------------------------------------------------------------------
  # * Command Skill
  #--------------------------------------------------------------------------
  def command_skill
    # If Main Command Active
    if @command_window.active
      # Activate Status Window
      active_status_window
      return
    end
    # Switch to skill screen
    $scene = Scene_Skill.new(@status_window.index)
  end
  #--------------------------------------------------------------------------
  # * Command Equip
  #--------------------------------------------------------------------------
  def command_equip
    # If Main Command Active
    if @command_window.active
      # Activate Status Window
      active_status_window
      return
    end
    # Switch to equipment screen
    $scene = Scene_Equip.new(@status_window.index)
  end
  #--------------------------------------------------------------------------
  # * Command Status
  #--------------------------------------------------------------------------
  def command_status
    # If Main Command Active
    if @command_window.active
      # Activate Status Window
      active_status_window
      return
    end
    # Switch to status screen
    $scene = Scene_Status.new(@status_window.index)
  end
  #--------------------------------------------------------------------------
  # * Command Order
  #--------------------------------------------------------------------------
  def command_order
    # If Main Command Active
    if @command_window.active
      # Activate Status Window
      active_status_window
      @checker = 0
      return
    end
    #Change Party Order by Yargovish
    if @checker == 0
      @changer = $game_party.actors[@status_window.index]
      @where = @status_window.index
      @checker = 1
    else
      $game_party.actors[@where] = $game_party.actors[@status_window.index]
      $game_party.actors[@status_window.index] = @changer
      @checker = 0
      @status_window.refresh
      $game_player.refresh #
    end      
  end
  #--------------------------------------------------------------------------
  # * Command Party
  #--------------------------------------------------------------------------
  def command_party
    # Switch to party change screen
    #Put your Party Change Scene here
  end
  #--------------------------------------------------------------------------
  # * Command Option
  #--------------------------------------------------------------------------
  def command_option
    # Switch to option screen
    #Put your Option Scene here
  end
  #--------------------------------------------------------------------------
  # * Command Quest
  #--------------------------------------------------------------------------
  def command_quest
    # Switch to quest log screen
    #Put your Quest Scene here
  end
  #--------------------------------------------------------------------------
  # * Command Quest
  #--------------------------------------------------------------------------
  def command_help
    # Switch to help screen
    #Put your Help Scene here
  end
  #--------------------------------------------------------------------------
  # * Command Save
  #--------------------------------------------------------------------------
  def command_save
    # Switch to save screen
    $scene = Scene_Save.new
  end
  #--------------------------------------------------------------------------
  # * Command Load
  #--------------------------------------------------------------------------
  def command_load
    # Switch to load screen
    $scene = Scene_Load.new
  end
  #--------------------------------------------------------------------------
  # * Command End Game
  #--------------------------------------------------------------------------
  def command_endgame
    # Switch to end game screen
    $scene = Scene_End.new
  end
  #--------------------------------------------------------------------------
  # * Activate Status Window
  #--------------------------------------------------------------------------
  def active_status_window
    # Make status window active
    @command_window.active = false
    @status_window.active = true
    @status_window.visible = true
    @status_window.index = 0
  end
end
Reply }
#4
SDK2 version
Code:
#==============================================================================
#L's Custom Menu #2 - SDK2 ver.
#--------------------------------------------------------------------------
=begin
  This CMS is the result of attempted recreating RPG Tkool Dante98/DantePC Menu
for RPG Maker XP.(except map name and time windows, and some commands;))  Map
as Background, and the size-changing Window_MenuStatus is inspired by D2Win
(MS Windows frontend for Dante98/98 II Games).
=end
#==============================================================================

#--------------------------------------------------------------------------
# * Begin SDK Log
#--------------------------------------------------------------------------
SDK.log("L's CMS #2", 'L', '???', '2007-03-15')

#--------------------------------------------------------------------------
# * Begin SDK Requirement Check
#--------------------------------------------------------------------------
SDK.check_requirements(2.0, [1])

#--------------------------------------------------------------------------
# * Begin SDK Enable Test
#--------------------------------------------------------------------------
if SDK.enabled?("L's CMS #2")

module SDK::Scene_Commands
  #============================================================================
  # ** Scene_Menu
  #============================================================================
  module Scene_Menu
    Item     = 'Item'
    Skill    = 'Skill'
    Equip    = 'Equip'
    Status   = 'Status'
    Save     = 'Save'
    Load     = 'Load'
    End_Game = 'Exit'
    
    Order    = 'Order'
    Party    = 'Party'
    Option   = 'Option'
    Quest    = 'Quest'
    System   = 'System'
    
    Menu_Commands = [Item, Skill, Equip, Status, Order, System]
    SysMenu_Commands = [Option, Save, Load, End_Game]
  end
end


#==============================================================================
# Window_Gold
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(439, 413, 200, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Advanced Gold Display mini-script by Dubealex.
    self.contents.clear    
    case $game_party.gold
    when 0..9999
      gold = $game_party.gold
    when 10000..99999
      gold = $game_party.gold.to_s
      array = gold.split(//)
      gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
    when 100000..999999
      gold = $game_party.gold.to_s
      array = gold.split(//)
      gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
    when 1000000..9999999
      gold = $game_party.gold.to_s
      array = gold.split(//)
      gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
    end
  
    self.contents.font.color = system_color
    gold_word = $data_system.words.gold.to_s + " /"
    cx = contents.text_size(gold_word).width
    cx2=contents.text_size(gold.to_s).width
    self.contents.draw_text(4, 0, 160-cx-2, 32, gold_word)
    self.contents.font.color = text_color(0)
    self.contents.draw_text(164-cx2+2, 0, cx2, 32, gold.to_s, 2)
  end
end


#==============================================================================
# Window_PlayTime
#==============================================================================

class Window_PlayTime < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(239, 413, 200, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 120, 32, "Time")
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 160, 32, text, 2)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end


#==============================================================================
# ? Game_Map
#==============================================================================
class Game_Map    
  def name
     $map_infos[@map_id]
  end  
end


#========================================
#? Scene_Title
#--------------------------------------------------------------------------------
# Setting functions for the Title
#========================================
class Scene_Title
  $map_infos = load_data("Data/MapInfos.rxdata")
  for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
  end
end


#==============================================================================
# Window_MapName
#==============================================================================

class Window_MapName < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 413, 239, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear    
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 200, 32, $game_map.name.to_s, 1)
  end  
end


#==============================================================================
# Window_MenuStatus
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    $game_party.actors.size < 4 ? i = 14 : i = 0
    $game_party.actors.size == 1 ? i = 24 : i = i
    super(177, 0, 462, ($game_party.actors.size * 72)+i)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Refresh and add the contents to window    
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 16
      y = i*64
      actor = $game_party.actors[i]
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 144, y)
      draw_actor_state(actor, x + 260, y )
      draw_actor_level(actor, x, y + 32)
      draw_actor_hp(actor, x + 98, y + 32)
      draw_actor_sp(actor, x + 254, y + 32)
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 64, self.width - 32, 64)
    end
  end
end


#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs menu screen processing.
#==============================================================================

class Scene_Menu < SDK::Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
    party_order_init
  end
  #--------------------------------------------------------------------------
  # * Party Order Change Initiation
  #--------------------------------------------------------------------------
  def party_order_init
    @changer = 0 #Change Party Order by Yargovish
    @where = 0 #
    @checker = 0  #
  end
  #--------------------------------------------------------------------------
  # * Main Processing : Spriteset Initialization
  #--------------------------------------------------------------------------
  def main_spriteset  
    #Draw Background
    @background = Spriteset_Map.new
  end
  #--------------------------------------------------------------------------
  # * Main Processing : Window Initialization
  #--------------------------------------------------------------------------
  def main_window
    super
    # Make main command window
    main_command_window
    system_command_window
    # Make play time window
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 239
    @playtime_window.y = 413
    # Make map window
    @map_window = Window_MapName.new
    @map_window.x = 0
    @map_window.y = 413
    # Make gold window
    @gold_window = Window_Gold.new
    @gold_window.x = 439
    @gold_window.y = 413
    # Make status window
    @status_window = Window_MenuStatus.new
  end
  #--------------------------------------------------------------------------
  # * Main Processing : Window Initialization : Main Command
  #--------------------------------------------------------------------------
  def main_command_window
    # Make command window
    command = SDK::Scene_Commands::Scene_Menu::Menu_Commands.dup
    @command_window = Window_Command.new(160, command)
    @command_window.index = @menu_index
    # If number of party members is 0
    if $game_party.actors.size == 0
      # Disable items, skills, equipment, and status
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    if $game_party.actors.size <= 1 #
      # Disable change party order
      @command_window.disable_item(4)
    end
  end
  #--------------------------------------------------------------------------
  # * Main Processing : Window Initialization : System Command
  #--------------------------------------------------------------------------
  def system_command_window
    # Make command window
    sys_command = SDK::Scene_Commands::Scene_Menu::SysMenu_Commands.dup
    @sys_command_window = Window_Command.new(160, sys_command)
    @sys_command_window.visible = false
    @sys_command_window.active = false
    @sys_command_window.x = 100
    @sys_command_window.y = 180
    #@sys_command_window.z = 0
    check_save_available
    check_load_available
  end
  #-----------------
  def check_save_available
    # If save is forbidden
    if $game_system.save_disabled
      # Disable save
      @sys_command_window.disable_item(1)
    end
  end
  #-----------------
  def check_load_available
    #Check if saved file exists
    @load_enabled = false
    for i in 0..3
      if (FileTest.exist?("Save#{i+1}.rxdata"))        
        @load_enabled = true
      end
    end  
    if !@load_enabled
      #Put your @command_window.disable_item(index)
      @sys_command_window.disable_item(2)
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    # If command window is active: call update_command
    if @command_window.active
      update_command
      return
    # If status window is active: call update_status
    elsif @status_window.active
      update_status
      return
    end
    
    if @sys_command_window.active
      @sys_command_window.z = +500
    end
    # If system window is active: call update_sys_command
    if @sys_command_window.active
      update_sys_command
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  def update_command
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Return if Disabled Command
      if disabled_main_command?
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Command Input
      main_command_input
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Update SysCommand Window
  #--------------------------------------------------------------------------
  def update_sys_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @sys_command_window.active = false
      @sys_command_window.visible = false
      @sys_command_window.index = 0
      @sys_command_window.z = -500
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Return if Disabled Command
      if disabled_sys_command?
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Command Input
      sys_command_input
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when status window is active)
  #--------------------------------------------------------------------------
  def update_status
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Make command window active
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Return if Disabled Command
      if disabled_main_command?
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Command Input
      sub_command_input
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Disabled Main Command? Test
  #--------------------------------------------------------------------------
  def disabled_main_command?
    # Gets Current Command
    command = @command_window.command
    # Gets SDK Scene_Menu Commands
    c = SDK::Scene_Commands::Scene_Menu
    # If 0 Party Size
    if $game_party.actors.size == 0
      # If Item, Skill, Equip or Status Selected
      if [c::Item, c::Skill, c::Equip, c::Status].include?(command)
        return true
      end
    end
    if $game_party.actors.size <= 1
      if [c::Order].include?(command)
        return true
      end
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Disabled System Command? Test
  #--------------------------------------------------------------------------
  def disabled_sys_command?
    # Gets Current Command
    sys_command = @sys_command_window.command
    # Gets SDK Scene_Menu Commands
    c = SDK::Scene_Commands::Scene_Menu
    # If Save Disabled && Command is Save
    return true if $game_system.save_disabled && sys_command == c::Save
    # If Load Disabled && Command is Load
    return true if !@load_enabled && sys_command == c::Load
    return false
  end    
  #--------------------------------------------------------------------------
  # * Main Command Input
  #--------------------------------------------------------------------------
  def main_command_input
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Branch by command window cursor position
    case @command_window.command
    when SDK::Scene_Commands::Scene_Menu::Item      # item
      command_item
    when SDK::Scene_Commands::Scene_Menu::Skill     # skill
      command_skill
    when SDK::Scene_Commands::Scene_Menu::Equip     # equipment
      command_equip
    when SDK::Scene_Commands::Scene_Menu::Status    # status
      command_status
    when SDK::Scene_Commands::Scene_Menu::Order      # order
      command_order
    when SDK::Scene_Commands::Scene_Menu::System  # call system menu      
      $game_system.se_play($data_system.decision_se)
      @sys_command_window.active = true
      @sys_command_window.visible = true
      @command_window.active = false  
    end
  end
  #--------------------------------------------------------------------------
  # * System Command Input
  #--------------------------------------------------------------------------
  def sys_command_input
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Branch by command window cursor position
    case @sys_command_window.command
    when SDK::Scene_Commands::Scene_Menu::Option  #option
      command_option
    when SDK::Scene_Commands::Scene_Menu::Save  #save
      command_save
    when SDK::Scene_Commands::Scene_Menu::Load  #load
      command_load
    when SDK::Scene_Commands::Scene_Menu::End_Game  #end game
      command_endgame
    end
  end
  #--------------------------------------------------------------------------
  # * Disabled Sub Command? Test
  #--------------------------------------------------------------------------
  def disabled_sub_command?
    # If Skill Selected
    if @command_window.command == SDK::Scene_Commands::Scene_Menu::Skill
      # If this actor's action limit is 2 or more
      if $game_party.actors[@status_window.index].restriction >= 2
        return true
      end
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Sub Command Input
  #--------------------------------------------------------------------------
  def sub_command_input
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Branch by command window cursor position
    case @command_window.command
    when SDK::Scene_Commands::Scene_Menu::Skill     # skill
      command_skill
    when SDK::Scene_Commands::Scene_Menu::Equip     # equipment
      command_equip
    when SDK::Scene_Commands::Scene_Menu::Status    # status
      command_status
    when SDK::Scene_Commands::Scene_Menu::Order      # order
      command_order
    end
  end
  #--------------------------------------------------------------------------
  # * Command : Item
  #--------------------------------------------------------------------------
  def command_item
    # Switch to item screen
    $scene = Scene_Item.new
  end
  #--------------------------------------------------------------------------
  # * Command : Skill
  #--------------------------------------------------------------------------
  def command_skill
    # If Main Command Active
    if @command_window.active
      # Activate Status Window
      active_status_window
      return
    end
    # Switch to skill screen
    $scene = Scene_Skill.new(@status_window.index)
  end
  #--------------------------------------------------------------------------
  # * Command : Equip
  #--------------------------------------------------------------------------
  def command_equip
    # If Main Command Active
    if @command_window.active
      # Activate Status Window
      active_status_window
      return
    end
    # Switch to equipment screen
    $scene = Scene_Equip.new(@status_window.index)
  end
  #--------------------------------------------------------------------------
  # * Command : Status
  #--------------------------------------------------------------------------
  def command_status
    # If Main Command Active
    if @command_window.active
      # Activate Status Window
      active_status_window
      return
    end
    # Switch to status screen
    $scene = Scene_Status.new(@status_window.index)
  end
  #--------------------------------------------------------------------------
  # * Command : Order
  #--------------------------------------------------------------------------
  def command_order
    # If Main Command Active
    if @command_window.active
      # Activate Status Window
      active_status_window
      @checker = 0
      return
    end
    #Change Party Order by Yargovish
    if @checker == 0
      @changer = $game_party.actors[@status_window.index]
      @where = @status_window.index
      @checker = 1
    else
      $game_party.actors[@where] = $game_party.actors[@status_window.index]
      $game_party.actors[@status_window.index] = @changer
      @checker = 0
      @status_window.refresh
      $game_player.refresh #
    end      
  end
  #--------------------------------------------------------------------------
  # * Command : Party
  #--------------------------------------------------------------------------
  def command_party
    # Switch to party change screen
    #Put your Party Change Scene here
  end
  #--------------------------------------------------------------------------
  # * Command : Option
  #--------------------------------------------------------------------------
  def command_option
    # Switch to option screen
    #Put your Option Scene here
  end
  #--------------------------------------------------------------------------
  # * Command : Quest
  #--------------------------------------------------------------------------
  def command_quest
    # Switch to quest screen
    #Put your Quest Scene here
  end
  #--------------------------------------------------------------------------
  # * Command : Save
  #--------------------------------------------------------------------------
  def command_save
    # Switch to save screen
    $scene = Scene_Save.new
  end
  #--------------------------------------------------------------------------
  # * Command : Load
  #--------------------------------------------------------------------------
  def command_load
    # Switch to load screen
    $scene = Scene_Load.new
  end
  #--------------------------------------------------------------------------
  # * Command : End Game
  #--------------------------------------------------------------------------
  def command_endgame
    # Switch to end game screen
    $scene = Scene_End.new
  end
  #--------------------------------------------------------------------------
  # * Activate Status Window
  #--------------------------------------------------------------------------
  def active_status_window
    # Make status window active
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
  end
end


class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias load_initialize initialize
  alias load_on_cancel on_cancel
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @scene = $scene
    load_initialize
  end
  #--------------------------------------------------------------------------
  # * Cancel Processing
  #--------------------------------------------------------------------------
  def on_cancel
    load_on_cancel
    $scene = @scene
  end
end


#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   DerVV's Point-Increasing Status Menu DerVVulfman 1 730 07-16-2024, 04:41 AM
Last Post: DerVVulfman
   Windowskin Selection Menu DerVVulfman 2 1,208 05-23-2024, 04:13 AM
Last Post: DerVVulfman
   Super Simple Vehicle System - Enhanced DerVVulfman 65 96,050 06-02-2023, 06:16 PM
Last Post: Sujabes467
   DerVV's Simple Popup System DerVVulfman 4 12,415 10-08-2017, 04:53 PM
Last Post: DerVVulfman
   Super Simple MCISendString DerVVulfman 0 4,936 03-09-2017, 04:52 AM
Last Post: DerVVulfman
   Moghunter Menus: Scene Menu Itigo DerVVulfman 9 23,893 04-10-2016, 03:22 AM
Last Post: DerVVulfman
   Super Simple Vehicle System - Enhanced - Vehicle Placement DerVVulfman 2 6,214 05-22-2014, 04:42 AM
Last Post: DerVVulfman
   Super Simple Map Transition Scriptette DerVVulfman 0 5,062 10-02-2013, 05:45 AM
Last Post: DerVVulfman
   ProjectMeLT XRXS - 5-6 Character Menu JackMonty 0 5,663 04-16-2013, 02:41 PM
Last Post: JackMonty
   L's Simple Main Menu #1 - DMS Edit Landarma 4 11,900 01-18-2013, 07:13 AM
Last Post: Landarma



Users browsing this thread: 3 Guest(s)