Script Menu VXA

qas281qas281 Posts: 2Registered
Ai rảnh làm giúp mình cái menu cho game chỉ có 1 nhân vật, không hp, mp, class, chỉ đơn giản là Item, Save, Exit, Option thôi! Giống như của 7 mysteries của SGB đó!! Thks trước :boiboi:

Comments

  • NagiNagi Posts: 589Registered
    Oneperson menu của todd
  • qas281qas281 Posts: 2Registered
    Mình có thử nhưng nó còn phần nhân vật bên phải, mình thì chưa có biết về RGSS nên không sửa được, bạn hướng dẫn mình cụ thể đc không ? thks
  • sanggameboysanggameboy Posts: 1,943Registered
    #===============================================================================
    #
    # DT's One Person Menu
    # Author: DoctorTodd
    # Date (02/19/2012)
    # Type: (Menu)
    # Version: (1.0.0) (VXA)
    # Level: (Simple)
    # Email: BeaconGames2011@gmail.com
    #
    #===============================================================================
    #
    # NOTES: 1)This script will only work with ace, you may find my VX version on
    # RMRK.net and the rpg maker web forums.
    #
    #===============================================================================
    #
    # Description: A menu that is modified to work as if you are only using one
    # actor.
    #
    # Credits: Me (DoctorTodd)
    #
    #===============================================================================
    #
    # Instructions
    # Paste above main.
    #
    #===============================================================================
    #
    # Contact me for commercial use, other wise just credit me and don't repost
    # without my permission.
    #
    #===============================================================================
    #
    # Editing begins 40 and ends on 59.
    #
    #===============================================================================
    module DTOPM
     
      #Window skin to use, place in system.
      WINDOW = ('Window')
     
      #Status Window X
      SX = 110
     
      #Status Window Y
      SY = 75
     
      #Gold window X
     # GX = 40
     
      #Gold Window Y
     # GY = 242
     
      #Command Window X
      CX = 190
     
      #Command Window Y
      CY = 205
    end
    
    class Scene_Menu < Scene_MenuBase
      #--------------------------------------------------------------------------
      # * Start processing
      #--------------------------------------------------------------------------
      def start
        super
        create_background
        create_command_window
        create_status_window
       # create_gold_window
      end
      #--------------------------------------------------------------------------
      # * Create Gold Window
      #--------------------------------------------------------------------------
      #def create_gold_window
      #  @gold_window = Window_Gold.new
      #  @gold_window.x = (DTOPM::GX)
      #  @gold_window.y = (DTOPM::GY)
      #  @gold_window.windowskin = Cache.system(DTOPM::WINDOW)
      #  @gold_window.height = 55
      #end
      #--------------------------------------------------------------------------
      # * Create Status Window
      #--------------------------------------------------------------------------
      def create_status_window
        @status_window = Window_MenuInfo.new((DTOPM::SX), (DTOPM::SY))
        @status_window.windowskin = Cache.system(DTOPM::WINDOW)
      end
      #--------------------------------------------------------------------------
      # * Create Command Window
      #--------------------------------------------------------------------------
      def create_command_window
       @command_window = Window_MenuCommand.new
        @command_window.set_handler(:item,      method(:command_item))
        #@command_window.set_handler(:status,    method(:command_status))
        @command_window.set_handler(:save,      method(:command_save))
        @command_window.set_handler(:game_end,  method(:command_game_end))
        @command_window.set_handler(:cancel,    method(:return_scene))
        @command_window.x = (DTOPM::CX)
        @command_window.y = (DTOPM::CY)
        end
      end
     #--------------------------------------------------------------------------
      # * [Item] Command
      #--------------------------------------------------------------------------
      def command_item
        SceneManager.call(Scene_Item)
      end
      #--------------------------------------------------------------------------
      # * [Equipment] Command
      #--------------------------------------------------------------------------
      def command_equip
        @actor = $game_party.members[0]
        SceneManager.call(Scene_Equip)
      end
      #--------------------------------------------------------------------------
      # * [Status] Command
      #--------------------------------------------------------------------------
      def command_status
        @actor = $game_party.members[0]
        SceneManager.call(Scene_Status)
      end
      #--------------------------------------------------------------------------
      # * [Save] Command
      #--------------------------------------------------------------------------
      #def command_save
      #  SceneManager.call(Scene_Save)
      #end
      #--------------------------------------------------------------------------
      # * [Exit Game] Command
      #--------------------------------------------------------------------------
      def command_game_end
        SceneManager.call(Scene_End)
      end
      #--------------------------------------------------------------------------
      # * [Skill] Command
      #--------------------------------------------------------------------------
      def command_skill
        @actor = $game_party.members[0]
          SceneManager.call(Scene_Skill)
        end
    #===================================================================
    # ** Window_MenuStatus
    #------------------------------------------------------------------------------
    #  This window displays the characters status on the menu screen.
    #==============================================================================
    
    class Window_MenuInfo < Window_Base
      #--------------------------------------------------------------------------
      # * Object Initialization
      #     x : window X coordinate
      #     y : window Y coordinate
      #--------------------------------------------------------------------------
      def initialize(x, y)
        super(x, y, 300, 121)
        refresh
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
         @actor = $game_party.members[0]
          draw_actor_face(@actor, 0, 0)
          draw_actor_name(@actor, 110, 5)
       #   draw_actor_level(@actor, 190, 5)
       #   draw_actor_hp(@actor, 110 ,40)
       #   draw_actor_mp(@actor, 110 , 65)
       #   draw_actor_param(@actor, 0, 100, 0)
       #   draw_actor_param(@actor, 0, 124, 1)
       #   draw_actor_param(@actor, 0, 148, 2)
       #   draw_actor_param(@actor, 0, 172, 3)
          draw_actor_graphic(@actor, 220, 160)
          draw_actor_icons(@actor, 190, 180, width = 96)
        end
      end
      #==============================================================================
    # ** Window_MenuCommand
    #------------------------------------------------------------------------------
    #  This command window appears on the menu screen.
    #==============================================================================
    
    class Window_MenuCommand < Window_Command
      #--------------------------------------------------------------------------
      # * Initialize Command Selection Position (Class Method)
      #--------------------------------------------------------------------------
      def self.init_command_position
        @@last_command_symbol = nil
      end
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        super(0, 0)
        select_last
      end
      #--------------------------------------------------------------------------
      # * Get Window Width
      #--------------------------------------------------------------------------
      def window_width
        return 160
      end
      #--------------------------------------------------------------------------
      # * Get Number of Lines to Show
      #--------------------------------------------------------------------------
      def visible_line_number
        item_max
      end
      #--------------------------------------------------------------------------
      # * Create Command List
      #--------------------------------------------------------------------------
      def make_command_list
        add_main_commands
        add_original_commands
     #   add_save_command
        add_game_end_command
      end
      #--------------------------------------------------------------------------
      # * Add Main Commands to List
      #--------------------------------------------------------------------------
      def add_main_commands
        add_command(Vocab::item,   :item,   main_commands_enabled)
       # add_command(Vocab::status, :status, main_commands_enabled)
      end
      #--------------------------------------------------------------------------
      # * For Adding Original Commands
      #--------------------------------------------------------------------------
      def add_original_commands
      end
      #--------------------------------------------------------------------------
      # * Add Save to Command List
      #--------------------------------------------------------------------------
     # def add_save_command
     #   add_command(Vocab::save, :save, save_enabled)
    #  end
      #--------------------------------------------------------------------------
      # * Add Exit Game to Command List
      #--------------------------------------------------------------------------
      def add_game_end_command
        add_command(Vocab::game_end, :game_end)
      end
      #--------------------------------------------------------------------------
      # * Get Activation State of Main Commands
      #--------------------------------------------------------------------------
      def main_commands_enabled
        $game_party.exists
      end
      #--------------------------------------------------------------------------
      # * Get Activation State of Formation
      #--------------------------------------------------------------------------
      def formation_enabled
        $game_party.members.size >= 2 && !$game_system.formation_disabled
      end
      #--------------------------------------------------------------------------
      # * Get Activation State of Save
      #--------------------------------------------------------------------------
      def save_enabled
        !$game_system.save_disabled
      end
      #--------------------------------------------------------------------------
      # * Processing When OK Button Is Pressed
      #--------------------------------------------------------------------------
      def process_ok
        @@last_command_symbol = current_symbol
        super
      end
      #--------------------------------------------------------------------------
      # * Restore Previous Selection Position
      #--------------------------------------------------------------------------
      def select_last
        select_symbol(@@last_command_symbol)
      end
    end
    
  • KangKang Posts: 453Registered
    qas281 wrote:
    Ai rảnh làm giúp mình cái menu cho game chỉ có 1 nhân vật, không hp, mp, class, chỉ đơn giản là Item, Save, Exit, Option thôi! Giống như của 7 mysteries của SGB đó!! Thks trước :boiboi:
    - Chỉ có 1 nhân vật thì sửa bằng F10, tab Character, xoá hết, lấy 1 người thôi
    còn mấy cái còn lại, nếu không muốn dùng Script thì bạn làm như sau:
    Vào Window_MenuCommand => Thêm dấu # trước các dòng dòng (Ctrl F để Tìm):
    add_formation_command
    add_original_commands
    add_command(Vocab::skill,  :skill,  main_commands_enabled)
    add_command(Vocab::equip,  :equip,  main_commands_enabled)
    add_command(Vocab::status, :status, main_commands_enabled)
    add_command(Vocab::formation, :formation, formation_enabled)
    

    Window_ItemCategory => Thêm dấu # trước các dòng dòng (Ctrl F để Tìm):
    add_command(Vocab::weapon,   :weapon)
    add_command(Vocab::armor,    :armor)
    

    Window_Base => Thêm dấu # trước các dòng dòng (Ctrl F để Tìm):
    draw_actor_level(actor, x, y + line_height * 1)
    draw_actor_hp(actor, x + 120, y + line_height * 1)
    draw_actor_mp(actor, x + 120, y + line_height * 2)
    draw_actor_class(actor, x + 120, y)
    
    Nếu bạn muốn có Option thì phải dùng thêm Script, có thể tham khảo cái mình dùng là "Yanfly Engine Ace - System Options".
    Nó thay thế Tuỳ chọn Exit ở Menu Thành Option
Sign In or Register to comment.