REQUEST, Custom menu (Only "Item" "Save" and "End game" tab. PLEASE HELP

Discussion in 'RGSS Script Requests' started by Greytizi, Sep 1, 2013.

  1. Greytizi

    Greytizi Warper Member

    Messages:
    1
    Likes Received:
    0
    Im making a RPG horror game and I want a menu that has only the "Item" "Save" and "End game" tab. I dont want the "Skills" "Status" or "Equip" there. Im not good at scripting or anything. PLEASE help. Im using RPG XP if that helps any 
     
    #1
  2. Shaz

    Shaz Veteran Veteran

    Messages:
    37,572
    Likes Received:
    11,272
    Location:
    Australia
    First Language:
    English
    Primarily Uses:
    RMMV
    Ahhh, crumbs! It'd have to be XP, wouldn't it? I was just about to post one I'd already done in Ace for someone else's request.


    Wish XP's classes were as streamlined as Ace's. Here you go - paste this into a new slot above Main and below all other scripts:

    Spoiler


    Code:
    
    class Scene_Menu
      #--------------------------------------------------------------------------
      # * Main Processing
      #--------------------------------------------------------------------------
      def main
        # Make command window
        s1 = $data_system.words.item
        s2 = "Save"
        s3 = "End Game"
        @command_window = Window_Command.new(160, [s1, s2, s3])
        @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)
        end
        
        # If save is forbidden
        if $game_system.save_disabled
          # Disable save
          @command_window.disable_item(1)
        end
        
        # Make play time window
        @playtime_window = Window_PlayTime.new
        @playtime_window.x = 0
        @playtime_window.y = 224
        
        # Make steps window
        @steps_window = Window_Steps.new
        @steps_window.x = 0
        @steps_window.y = 320
        
        # Make gold window
        @gold_window = Window_Gold.new
        @gold_window.x = 0
        @gold_window.y = 416
        
        # Make status window
        @status_window = Window_MenuStatus.new
        @status_window.x = 160
        @status_window.y = 0
        
        # Execute transition
        Graphics.transition
        
        # Main loop
        loop do
          # Update game screen
          Graphics.update
          # Update input information
          Input.update
          # Frame update
          update
          # Abort loop if screen is changed
          if $scene != self
            break
          end
        end
        
        # Prepare for transition
        Graphics.freeze
        
        # Dispose of windows
        @command_window.dispose
        @playtime_window.dispose
        @steps_window.dispose
        @gold_window.dispose
        @status_window.dispose
      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)
          # If command other than save or end game, and party members = 0
          if $game_party.actors.size == 0 and @command_window.index < 1
            # 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# save
              # 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 2# end game
              # Play decision SE
              $game_system.se_play($data_system.decision_se)
              # Switch to end game screen
              $scene = Scene_End.new
          end 
          return
        end
      end
    end
    
    class Scene_Save < Scene_File
      #--------------------------------------------------------------------------
      # * Decision Processing
      #--------------------------------------------------------------------------
      def on_decision(filename)
        # Play save SE
        $game_system.se_play($data_system.save_se)
        # Write save data
        file = File.open(filename, "wb")
        write_save_data(file)
        file.close
        
        # If called from event
        if $game_temp.save_calling
          # Clear save call flag
          $game_temp.save_calling = false
          # Switch to map screen
          $scene = Scene_Map.new
          return
        end
        
        # Switch to menu screen
        $scene = Scene_Menu.new(1)
      end
      #--------------------------------------------------------------------------
      # * Cancel Processing
      #--------------------------------------------------------------------------
      def on_cancel
        # Play cancel SE
        $game_system.se_play($data_system.cancel_se)
        
        # If called from event
        if $game_temp.save_calling
          # Clear save call flag
          $game_temp.save_calling = false
          # Switch to map screen
          $scene = Scene_Map.new
          return
        end
        
        # Switch to menu screen
        $scene = Scene_Menu.new(1)
      end
    end
    
    class Scene_End
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      def update
        # Update command window
        @command_window.update
        
        # If B button was pressed
        if Input.trigger?(Input::B)
          # Play cancel SE
          $game_system.se_play($data_system.cancel_se)
          # Switch to menu screen
          $scene = Scene_Menu.new(2)
          return
        end
        
        # If C button was pressed
        if Input.trigger?(Input::C)
          # Branch by command window cursor position
          case @command_window.index
            when 0# to title
              command_to_title
            when 1# shutdown
              command_shutdown
            when 2# quit
              command_cancel
            end
          return
        end
      end
      #--------------------------------------------------------------------------
      # *Process When Choosing [Cancel] Command
      #--------------------------------------------------------------------------
      def command_cancel
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to menu screen
        $scene = Scene_Menu.new(2)
      end
    end

    I've moved this thread to RGSS (XP) Script Requests. Please be sure to post your threads in the correct forum next time. Thank you.
     
    Last edited by a moderator: Mar 12, 2016
    #2
  3. DeathByGames

    DeathByGames Swaggy Developer Member

    Messages:
    23
    Likes Received:
    0
    First Language:
    English
     I am trying to put this script in my game, and it is not pasting into the script editor. I think it is because it is not numbered for each line, but I could be wrong. Help please!
     
    #3
  4. Eujan

    Eujan Warper Member

    Messages:
    1
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMXP
    This Is AOONI's SceneMenu Script for Rpg maker Xp
    But if you want to edit it edit it.
    Also if your game is done credit Nonprops Scene_menu script

    SCRIPT

    #==============================================================================
    # ¦ Scene_Menu
    #------------------------------------------------------------------------------
    # ??????????????????
    #==============================================================================

    class Scene_Menu
    #--------------------------------------------------------------------------
    # ? ?????????
    # menu_index : ?????????????
    #--------------------------------------------------------------------------
    def initialize(menu_index = 0)
    @menu_index = menu_index
    end
    #--------------------------------------------------------------------------
    # ? ?????
    #--------------------------------------------------------------------------
    def main
    # ????????????
    s1 = "Item"
    s2 = "Save"
    s3 = "End Game"
    @command_window = Window_Command.new(160, [s1, s2, s3])
    @command_window.index = @menu_index

    if $game_switches[180] == false
    if $game_switches[168] == true and $game_switches[169] == true
    if $game_switches[170] == true
    if $game_map.map_id == 67 and $game_player.x == 9 and $game_player.y == 14
    if $game_player.direction == 2
    $game_variables[1] = 3
    $game_switches[178] = true
    $game_party.add_actor(6)
    $game_party.remove_actor(5)
    Audio.bgm_play("Audio/BGM/horor-b",100,100)
    @command_window.disable_item(0)
    @command_window.disable_item(1)
    @command_window.disable_item(2)
    end
    end
    end
    end
    end

    # ??????? 0 ????
    if $game_party.actors.size == 0
    # ?????????????????????
    @command_window.disable_item(0)
    @command_window.disable_item(1)
    @command_window.disable_item(2)
    @command_window.disable_item(3)
    end
    # ????????
    if $game_system.save_disabled
    # ?????????
    @command_window.disable_item(4)
    end
    # ?????????????
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 0
    @playtime_window.y = 384
    # ??????????
    # @steps_window = Window_Steps.new
    # @steps_window.x = 0
    # @steps_window.y = 320
    # ????????????
    # @gold_window = Window_Gold.new
    # @gold_window.x = 0
    # @gold_window.y = 416
    # ?????????????
    @status_window = Window_MenuStatus.new
    @status_window.x = 160
    @status_window.y = 0
    # ?????????
    Graphics.transition
    # ??????
    loop do
    # ????????
    Graphics.update
    # ???????
    Input.update
    # ??????
    update
    # ????????????????
    if $scene != self
    break
    end
    end
    # ?????????
    Graphics.freeze
    # ????????
    @command_window.dispose
    @playtime_window.dispose
    # @steps_window.dispose
    # @gold_window.dispose
    @status_window.dispose
    end
    #--------------------------------------------------------------------------
    # ? ??????
    #--------------------------------------------------------------------------
    def update
    # ????????
    @command_window.update
    @playtime_window.update
    # @steps_window.update
    # @gold_window.update
    @status_window.update
    # ??????????????????: update_command ???
    if @command_window.active
    update_command
    return
    end
    # ???????????????????: update_status ???
    if @status_window.active
    update_status
    return
    end
    end
    #--------------------------------------------------------------------------
    # ? ?????? (??????????????????)
    #--------------------------------------------------------------------------
    def update_command
    # B ??????????
    if Input.trigger?(Input::B)
    # ????? SE ???
    $game_system.se_play($data_system.cancel_se)
    # ??????????
    $scene = Scene_Map.new
    return
    end
    # C ??????????
    if Input.trigger?(Input::C)

    if $game_switches[178] == true
    $game_system.se_play($data_system.buzzer_se)
    return
    end

    # ??????? 0 ??????????????????????
    if $game_party.actors.size == 0 and @command_window.index < 4
    # ??? SE ???
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    # ???????????????????
    case @command_window.index
    when 0 # ????
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # ???????????
    $scene = Scene_Item.new
    when 1 # ???
    # ????????
    if $game_system.save_disabled
    # ??? SE ???
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # ??????????
    $scene = Scene_Save.new
    when 2 # ?????
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # ????????????
    $scene = Scene_End.new
    end
    return
    end
    end
    #--------------------------------------------------------------------------
    # ? ?????? (???????????????????)
    #--------------------------------------------------------------------------
    def update_status
    # B ??????????
    if Input.trigger?(Input::B)
    # ????? SE ???
    $game_system.se_play($data_system.cancel_se)
    # ??????????????????
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
    return
    end
    # C ??????????
    if Input.trigger?(Input::C)
    # ???????????????????
    case @command_window.index
    when 1 # ???
    # ???????????? 2 ?????
    if $game_party.actors[@status_window.index].restriction >= 2
    # ??? SE ???
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # ??????????
    $scene = Scene_Skill.new(@status_window.index)
    when 2 # ??
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # ?????????
    $scene = Scene_Equip.new(@status_window.index)
    when 3 # ?????
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # ????????????
    $scene = Scene_Status.new(@status_window.index)
    end
    return
    end
    end
    end
     
    #4
  5. MobiusXVI

    MobiusXVI Game Maker Veteran

    Messages:
    359
    Likes Received:
    84
    First Language:
    English

Share This Page