Achtung: Hangover Coding + Keine Ahnung von Ruby/RGSS + Keine Ahnung vom Maker

  • Menüpunkt "Status" entfernen
    1. Script Editor öffnen
    2. WindowWindow_MenuCommand öffnen
    3. In der Definition der Methode add_main_commands (~Zeile 43) die Zeile add_command(Vocab::status, :status, main_commands_enabled) mit einem # auskommentieren oder löschen:
      Code (Ruby):
      #--------------------------------------------------------------------------
        # * Add Main Commands to List
        #--------------------------------------------------------------------------
        def add_main_commands
          add_command(Vocab::item,          :item,   main_commands_enabled)
          add_command(Vocab::skill,         :skill,  main_commands_enabled)
          add_command(Vocab::equip,         :equip,  main_commands_enabled)
          add_command("Eigener Menüpunkt",  :custom,   main_commands_enabled)
        # add_command(Vocab::status, :status, main_commands_enabled)
        end
    4. SceneScene_Menu öffnen
    5. In der Definition der Methode create_command_window (~Zeile 17) die Zeile @command_window.set_handler(:status, method(:command_personal)) mit einem # auskommentieren oder löschen:
      Code:
      #--------------------------------------------------------------------------
        # * Create Command Window
        #--------------------------------------------------------------------------
        def create_command_window
          @command_window = Window_MenuCommand.new
          @command_window.set_handler(:item,      method(:command_item))
          @command_window.set_handler(:skill,     method(:command_personal))
          @command_window.set_handler(:equip,     method(:command_personal))
       #  @command_window.set_handler(:status,    method(:command_personal))
          @command_window.set_handler(:custom,    method(:command_custom))
          @command_window.set_handler(:formation, method(:command_formation))
          @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))
        end
    6. Script Editor beenden, F12 drücken, über Status-loses Menü freuen

  • Neuen Menüpunkt "Eigener Menüpunkt" hinzufügen, der ein Bild anzeigt
    1. Script Editor öffnen
    2. WindowWindow_MenuCommand öffnen
    3. In der Definition der Methode add_main_commands (~Zeile 43) die Zeile add_command("Eigener Menüpunkt", :custom, main_commands_enabled) mit einem # hinzufügen:
      Code (Ruby):
        #--------------------------------------------------------------------------
        # * Add Main Commands to List
        #--------------------------------------------------------------------------
        def add_main_commands
          add_command(Vocab::item,          :item,   main_commands_enabled)
          add_command(Vocab::skill,         :skill,  main_commands_enabled)
          add_command(Vocab::equip,         :equip,  main_commands_enabled)
          add_command("Eigener Menüpunkt",  :custom,   main_commands_enabled) # <- Hier!
        # add_command(Vocab::status, :status, main_commands_enabled)
        end
    4. SceneScene_Menu öffnen
    5. In der Definition der Methode create_command_window (~Zeile 17) die Zeile @command_window.set_handler(:custom, method(:command_custom)) hinzufügen:
      Code:
      #--------------------------------------------------------------------------
        # * Create Command Window
        #--------------------------------------------------------------------------
        def create_command_window
          @command_window = Window_MenuCommand.new
          @command_window.set_handler(:item,      method(:command_item))
          @command_window.set_handler(:skill,     method(:command_personal))
          @command_window.set_handler(:equip,     method(:command_personal))
       #  @command_window.set_handler(:status,    method(:command_personal))
          @command_window.set_handler(:custom,    method(:command_custom)) # <- Hier!
          @command_window.set_handler(:formation, method(:command_formation))
          @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))
        end
    6. Irgendwo weiter unten command_custom definieren:
      Code (Ruby):
        #--------------------------------------------------------------------------
        # * [Eigener Menüpunkt] Command
        #--------------------------------------------------------------------------
        def command_custom
          SceneManager.call(Scene_Custom)
        end
    7. Die gerade aufgerufene Scene Scene_Custom im Script Editor anlegen (habe ich jetzt mal in Materials reingeboxt):
      Code (Ruby):
      #==============================================================================
      # ** Scene_Custom
      #------------------------------------------------------------------------------
      #  Ayy lmao
      #==============================================================================
       
      class Scene_Custom < Scene_MenuBase
        #--------------------------------------------------------------------------
        # * Start Processing
        #--------------------------------------------------------------------------
        def start
          super
          create_custom_window
        end
       
        def create_custom_window
          @test_window = Window_Custom.new
          @test_window.set_handler(:cancel,   method(:return_scene))
        end
      end
  • Das gerade aufgerufene Window Window_Custom im Script Editor anlegen (habe ich jetzt mal direkt unter Scene_Custom platziert):
    Code (Ruby):
    #==============================================================================
    # ** Window_Status
    #------------------------------------------------------------------------------
    #  Bestimmt fällt dir eine sinnvollere Beschreibung ein, ich bin gerade aufgewacht
    #==============================================================================
     
    class Window_Custom < Window_Selectable
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        super(0, 0, Graphics.width, Graphics.height)
        refresh
        activate
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        contents.clear
        draw_picture
      end
      #--------------------------------------------------------------------------
      # * Draw Picture
      #--------------------------------------------------------------------------
      def draw_picture
        bitmap = Cache.picture("<b><font color="#FF0000">1413223675541.jpg</font></b>")
     
        src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
        ret_rect = Rect.new(0, 0, Graphics.width, Graphics.height)
     
        contents.stretch_blt(ret_rect, bitmap, src_rect)
      end
    end
     


Wäre cool wenn jemand, der mehr als fünf Minuten Ruby Erfahrung hat, das etwas eleganter lösen könnte (Bild nicht in das Window hardcoden etc.)

Falls irgendwas unklar ist, hier das Testprojekt: http://puu.sh/cistn/d82b5f471f.zip