Ну в целом можно добавить это так:
class Scene_Menu < Scene_MenuBase
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(: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))
# В окне есть кнопка, но теперь мы привяжем ее к функционалу сцены
@command_window.set_handler(:ierecumi, method(:ierecumi))
end
# Это наш функционал сцены
def ierecumi
@erecumi_window = Windows_Mine.new
end
end
А потом послушаем цербера, и перепишем все в:
class Window_MenuCommand < Window_Command
alias add_main_commands_ierecumi add_main_commands
def add_main_commands
add_main_commands_ierecumi
add_command("ierecumi", :ierecumi)
end
end
class Windows_Mine < Window_Base
def initialize
super(0, 0, 150, 50)
end
end
class Scene_Menu < Scene_MenuBase
alias create_command_window_ierecumi create_command_window
def create_command_window
create_command_window_ierecumi
@command_window.set_handler(:ierecumi, method(:ierecumi))
end
def ierecumi
@erecumi_window = Windows_Mine.new
end
end
Закрыть на ESC? Кхм, есть небольшая трабла. Можно запихать метод в класс:
class Windows_Mine < Window_Base
def initialize
super(0, 0, 150, 50)
end
def update
super
if Input.trigger?(:B) then close end
end
end
Но тогда предыдущее окно не активируется. Тут придется придумать костыль, например передать @command_window через конструктор, и вызвать @command_window.activate при закрытии. Справишься?