Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

    You don't have permission to chat.
    Load More
  1. MrSte

    MrSte

  • Contenuti simili

    • Da MrSte
      Autore/i: Vincent
       
      Versione: 1.0
       
      Informazioni: Questo piccolo Script toglie il Menu Standard per aggiungere una sola scritta con il nome "Pausa"
       
      Screenshot:


       
      Istruzioni
      Installate lo Script nella sezione "Materiale" è possibile anche personalizzare la scritta "Pausa" basta solo inserire l'immagine nella cartella Graphics/Pictures e cambiare sulla linea 27 la scritta da "false" a "true"
       
      Script


       
    • Da Ally
      Nome Script: Title Screen Skip (se il file save non esiste)
      Versione: N/D
      Autore/i: bStefan

      Informazioni:
      Piccolissimo script che salta il titolo se un file di salvataggio non viene trovato ^^

      Istruzioni:
      Inserite lo script sotto Material.

      Script:


      #===================================== # by bStefan aka. regendo # please give credit if used # for use with RMVX ACE #===================================== # Skips Title screen if there is no # save file to be found. #===================================== # implement over Main or directly # into SceneManager #===================================== module SceneManager         def self.run                 DataManager.init                 Audio.setup_midi if use_midi?                 if DataManager.save_file_exists? == false #-                         DataManager.setup_new_game            # |                         $game_map.autoplay                    # |                         SceneManager.goto(Scene_Map)          # | new code                 else                                      # |                         @scene = first_scene_class.new        # / this line not                 end                                       #-                 @scene.main while @scene         end end
    • Da Ally
      Nome Script: Title Screen Aqua
      Versione: N/D
      Autore/i: Zerbu

      Informazioni:
      Script che prende assoluto controllo sulla schermata del titolo :3

      Istruzioni:
      Inserite lo script sotto Material.
      Istruzioni all'interno dello script.

      Script:


      #============================================================================ # ? Title Screen Aqua ? #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # This script gives you control over the title screen, from customizing # its appearance to adding extra options to it~ #============================================================================ $imported = {} if $imported.nil? $imported["zeaq_titlescreen"] = true module ZEAQ   module TitleScreen     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ? Appearance Options ?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # These options configure the appearance of the title screen. You can     # customize these to make the title screen stand out!     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # Enable custom appearance?     # If this setting is false, the font and Windowskin options will remain     # unchanged from the default.     CHANGE_APPEARANCE = false     # Font Options     FONT_FACE = ["VL Gothic", "Verdana", "Arial", "Courier"] # Font name     FONT_SIZE = 24       # Font size used on the title screen     FONT_COL = [255, 255, 255] # The colour of text ([red, blue, green])     FONT_BOLD = false    # Whether or not text should appear bold     FONT_ITALIC = false  # Whether or not text should appear italic     FONT_SHADOW = false  # Whether or not text should have a shadow     FONT_OUTLINE = true  # Whether or not text should have an outline     FONT_OUT_COL = [0, 0, 0] # The colour of the outline ([red, blue, green])     # Window Options     WINDOWSKIN = "Window" # Windowskin used on the title screen     OPACITY = 255         # Opacity (how visible) level of the Windowskin     BACK_OPACITY = 200    # Opacity of the back of the Windowskin     PADDING = 12          # The padding of text in the Window     PADDING_BOTTOM = 12   # The bottom padding of text in the Window     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ? Size and Position Options ?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # These options configure the position of the window on the title screen.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # Enable custom size and/or position?     # If this setting is false, the position of the Window will remain     # unchanged from the default.     CHANGE_SIZE_POSITION = false     # Size Options     WINDOW_WIDTH = 175  # Window width; if 0, the default will be used     # Position Options     WINDOW_X = 20 # Window X position; if -1, the default will be used     WINDOW_Y = 20 # Window Y position; if -1, the default will be used     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ? Game Title Options ?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # These options allow you to customize how the game title will be     # displayed on the title screen, if you've chosen to display it.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # Font Options     NAME_FONT = ["VL Gothic", "Verdana", "Arial", "Courier"] # Font name     NAME_SIZE = 48      # Font size used on the title screen     NAME_COL = [255, 255, 255] # The colour of text ([red, blue, green])     NAME_BOLD = true    # Whether or not text should appear bold     NAME_ITALIC = true  # Whether or not text should appear italic     NAME_SHADOW = true  # Whether or not text should have a shadow     NAME_OUTLINE = true # Whether or not text should have an outline     NAME_OUT_COL = [0, 0, 0] # The colour of the outline ([red, blue, green])     # Position Options     NAME_X = 0     # X movement from position on the screen     NAME_Y = 68    # Y movement from top of the screen     NAME_ALIGN = 1 # 0-Left; 1-Middle; 2-Right     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ? Graphic and Sound Options ?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # These options allow you to customize the graphic and sound on the title     # screen using advanced options.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # Here you can create a list of graphics that can be displayed on the title     # screen. A random one from the list is shown every time the title screen     # is shown, so you aren't stuck with just one graphic.     # The format to use is: ["Title1", "Title2"],     GRAPHICS = [             ["Crystal", "Gargoyles"],             ["CrossedSwords", "Dragons"],             ["Fountain", ""],             ["Gates", "Heroes"],     ]     # Here you can create a list of music to play on the title screen, and/or     # add a BGS or ME to the title screen.     #     # The format to use is:     # [["BGM", Volume, Pitch], ["BGS", Volume, "Pitch"], ["ME", Volume, Pitch]]     #     # If you don't want to use a BGS, ME or even don't want a BGM, but want     # other sounds, set the one(s) you don't want to "nil"     # [["BGM", Volume, Pitch], nil, nil] will produce a BGM only.     # [["BGM", Volume, Pitch], ["BGS", Volume, "Pitch"], nil] will produce a BGM     # and BGS.     SOUNDS = [             [["Theme2", 100, 100], ["Darkness", 100, 100], ["Shock", 100, 100]],             [["Theme3", 100, 100], nil, nil],             [["Theme4", 100, 100], ["Fire", 70, 100], nil],             [["Theme5", 100, 100], nil, ["Victory2", 100, 100]],     ]     # This option sets whether sounds and graphics should be linked together. If     # this is set to true, the first sound in the sounds list will always play     # with the first graphic in the graphics list, the second sound with the     # second graphic, and so on. If this is false, the graphics and sounds will     # be randomized completely seperate from each other. If you enable this     # option, you will need to have the same amount of graphics and sounds or     # else the title screen could appear with no graphic or no sound.     CONNECT_GRAPHICS_AND_SOUNDS = true     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ? Title Screen Menu ?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # This allows you to list the options that will appear on the title     # screen, in the order they should appear. Scroll further down to define     # your own custom options.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     MENU_OPTIONS = [             :new_game,             :continue,             #:custom1,             #:custom2,             :shutdown,     ]     SHOW_CONTINUE = true # Show continue if there are no save files?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ? Normal Menu Options ?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # These are the normal menu options that have their own scripts to run.     # If you are using a script that is meant to add an option to the title     # screen, you can add it here.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ID:    The name and method of the option to be called from the option     #        above. This is also the name of the handler used.     # Name:  The name to be displayed on the title menu.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     NORMAL_OPTIONS = {             #--------------------------------#             # ID        => "Name",           #             #--------------------------------#             :new_game   => "New Game",             :continue   => "Continue",             :shutdown   => "Shutdown",     }     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ? Extra Starting Positions ?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # This allows you to add your own additional "New Game"-type options     # where you can choose different starting positions.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ID:    The technical name of the extra option to be called from the     #        option above.     # Name:  The name to be displayed on the title menu.     # Map:   The map where the players start when using this extra option.     # Map X: The X position on the map.     # Map Y: The Y position on the map.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     EXTRA_OPTIONS = {             #---------------------------------------------------#             # ID        => ["Name",           Map, MapX, MapY], #             #---------------------------------------------------#             :custom1    => ["Tutorial",       3,   10,   12  ],             :custom2    => ["Credits",        4,   4,    2   ],     }     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # ? Radial Animation Options ?     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # Here you can create an animation for the title screen background,     # similar to RPG Maker VX's default battle system.     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     # Enable?     RADIAL_ANIMATION = false     # Blur Options     RADIAL_BLUR_ANGLE = 80 # Radial blur angle     RADIAL_BLUR_DIVISION = 12 # Radial blur division (smoothness)     # Wave Options     WAVE_AMP = 8      # Wave amplitude     WAVE_LENGTH = 240 # Wave frequency     WAVE_SPEED = 120  # Wave speed   end #TitleScreen end #ZEAQ class Window_TitleCommand < Window_Command   alias zeaq_titlescreen_initialize initialize   def initialize     zeaq_titlescreen_initialize     if ZEAQ::TitleScreen::CHANGE_APPEARANCE       self.windowskin     = Cache.system(ZEAQ::TitleScreen::WINDOWSKIN)       self.opacity        = ZEAQ::TitleScreen::OPACITY       self.back_opacity   = ZEAQ::TitleScreen::BACK_OPACITY       self.padding        = ZEAQ::TitleScreen::PADDING       self.padding_bottom = ZEAQ::TitleScreen::PADDING_BOTTOM     end   end   alias zeaq_titlescreen_draw_item draw_item   def draw_item(index)     if ZEAQ::TitleScreen::CHANGE_APPEARANCE       contents.font.name      = ZEAQ::TitleScreen::FONT_FACE       contents.font.size      = ZEAQ::TitleScreen::FONT_SIZE       contents.font.color     = Color.new(ZEAQ::TitleScreen::FONT_COL[0], ZEAQ::TitleScreen::FONT_COL[1], ZEAQ::TitleScreen::FONT_COL[2])       contents.font.bold      = ZEAQ::TitleScreen::FONT_BOLD       contents.font.italic    = ZEAQ::TitleScreen::FONT_ITALIC       contents.font.shadow    = ZEAQ::TitleScreen::FONT_SHADOW       contents.font.outline   = ZEAQ::TitleScreen::FONT_OUTLINE       contents.font.out_color = Color.new(ZEAQ::TitleScreen::FONT_OUT_COL[0], ZEAQ::TitleScreen::FONT_OUT_COL[1], ZEAQ::TitleScreen::FONT_OUT_COL[2])     end     zeaq_titlescreen_draw_item(index)   end   alias zeaq_titlescreen_window_width window_width   def window_width     if ZEAQ::TitleScreen::WINDOW_WIDTH != 0 && ZEAQ::TitleScreen::CHANGE_SIZE_POSITION       return ZEAQ::TitleScreen::WINDOW_WIDTH     else       zeaq_titlescreen_window_width     end   end   def update_placement     if ZEAQ::TitleScreen::WINDOW_X != -1 && ZEAQ::TitleScreen::CHANGE_SIZE_POSITION       self.x = ZEAQ::TitleScreen::WINDOW_X     else       self.x = (Graphics.width - width) / 2     end     if ZEAQ::TitleScreen::WINDOW_Y != -1 && ZEAQ::TitleScreen::CHANGE_SIZE_POSITION       self.y = ZEAQ::TitleScreen::WINDOW_Y     else       self.y = (Graphics.height * 1.6 - height) / 2     end   end   def make_command_list     ZEAQ::TitleScreen::MENU_OPTIONS.each{|n|       if ZEAQ::TitleScreen::NORMAL_OPTIONS[n]         if n == :continue && !continue_enabled && ZEAQ::TitleScreen::SHOW_CONTINUE           add_command(ZEAQ::TitleScreen::NORMAL_OPTIONS[n], n, false)         else           add_command(ZEAQ::TitleScreen::NORMAL_OPTIONS[n], n, true)         end       end       if ZEAQ::TitleScreen::EXTRA_OPTIONS[n]         add_command(ZEAQ::TitleScreen::EXTRA_OPTIONS[n][0], :zeaq_command, true, ZEAQ::TitleScreen::EXTRA_OPTIONS[n])       end     }   end end class Scene_Title < Scene_Base   alias zeaq_titlescreen_start start   def start     if ZEAQ::TitleScreen::CONNECT_GRAPHICS_AND_SOUNDS       if ZEAQ::TitleScreen::GRAPHICS.size >= ZEAQ::TitleScreen::SOUNDS.size         @random_value = rand(ZEAQ::TitleScreen::GRAPHICS.size)       else         @random_value = rand(ZEAQ::TitleScreen::SOUNDS.size)       end     end     zeaq_titlescreen_start   end   def create_background     if @random_value       graphic = ZEAQ::TitleScreen::GRAPHICS[@random_value]     else       graphic = ZEAQ::TitleScreen::GRAPHICS[rand(ZEAQ::TitleScreen::GRAPHICS.size)]     end     @sprite1 = Sprite.new     @sprite1.bitmap = Cache.title1(graphic[0])     if ZEAQ::TitleScreen::RADIAL_ANIMATION       @sprite1.bitmap.radial_blur(ZEAQ::TitleScreen::RADIAL_BLUR_ANGLE, ZEAQ::TitleScreen::RADIAL_BLUR_DIVISION)       @sprite1.wave_amp = ZEAQ::TitleScreen::WAVE_AMP       @sprite1.wave_length = ZEAQ::TitleScreen::WAVE_LENGTH       @sprite1.wave_speed = ZEAQ::TitleScreen::WAVE_SPEED     end     @sprite2 = Sprite.new     @sprite2.bitmap = Cache.title2(graphic[1])     center_sprite(@sprite1)     center_sprite(@sprite2)   end   def draw_game_title     @foreground_sprite.bitmap.font.name = ZEAQ::TitleScreen::NAME_FONT     @foreground_sprite.bitmap.font.size = ZEAQ::TitleScreen::NAME_SIZE     @foreground_sprite.bitmap.font.color = Color.new(ZEAQ::TitleScreen::NAME_COL[0], ZEAQ::TitleScreen::NAME_COL[1], ZEAQ::TitleScreen::NAME_COL[2])     @foreground_sprite.bitmap.font.bold = ZEAQ::TitleScreen::NAME_BOLD     @foreground_sprite.bitmap.font.italic = ZEAQ::TitleScreen::NAME_ITALIC     @foreground_sprite.bitmap.font.shadow = ZEAQ::TitleScreen::NAME_SHADOW     @foreground_sprite.bitmap.font.outline = ZEAQ::TitleScreen::NAME_OUTLINE     @foreground_sprite.bitmap.font.out_color = Color.new(ZEAQ::TitleScreen::NAME_OUT_COL[0], ZEAQ::TitleScreen::NAME_OUT_COL[1], ZEAQ::TitleScreen::NAME_OUT_COL[2])     rect = Rect.new(ZEAQ::TitleScreen::NAME_X, ZEAQ::TitleScreen::NAME_Y, Graphics.width, ZEAQ::TitleScreen::NAME_SIZE)     @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, ZEAQ::TitleScreen::NAME_ALIGN)   end   def play_title_music     RPG::BGS.stop     RPG::ME.stop     if @random_value       sound = ZEAQ::TitleScreen::SOUNDS[@random_value]     else       sound = ZEAQ::TitleScreen::SOUNDS[rand(ZEAQ::TitleScreen::SOUNDS.size)]     end     RPG::BGM.stop if !sound[0].nil?     if !sound[2].nil?       RPG::ME.new(sound[2][0], sound[2][1], sound[2][2]).play     end     if !sound[0].nil?       RPG::BGM.new(sound[0][0], sound[0][1], sound[0][2]).play     end     if !sound[1].nil?       RPG::BGS.new(sound[1][0], sound[1][1], sound[1][2]).play     end   end   def zeaq_titlescreen_command     n = @command_window.current_ext     DataManager.create_game_objects     $game_party.setup_starting_members     $game_map.setup(n[1])     $game_player.moveto(n[2], n[3])     $game_player.refresh     Graphics.frame_count = 0     close_command_window     fadeout_all     $game_map.autoplay     SceneManager.goto(Scene_Map)   end   alias zeaq_titlescreen_create_command_window create_command_window     def create_command_window     zeaq_titlescreen_create_command_window     @command_window.set_handler(:zeaq_command, method(:zeaq_titlescreen_command))   end   alias zeaq_titlescreen_update update   def update     zeaq_titlescreen_update     if ZEAQ::TitleScreen::RADIAL_ANIMATION       @sprite1.update     end   end end
    • Da Ally
      Nome Script: Saltare il Titolo
      Versione: N/D
      Autore/i: JV Master

      Informazioni:
      Piccolo script che vi trasperterò alla prima mappa di gioco facendovi saltare il titolo.
      Utile se si vuole fare un titolo su mappa o creare prima una breve introduzione.

      Istruzioni:
      Inserite lo script sotto Material.

      Script:


      #============================================================================== # Skip Title Screen                                           JV Master Script #------------------------------------------------------------------------------ # Skip Title Screen, going to first game map. #============================================================================== #============================================================================== # Scene Title #============================================================================== class Scene_Title < Scene_Base   def start     SceneManager.clear     Graphics.freeze     DataManager.setup_new_game     $game_map.autoplay     SceneManager.goto(Scene_Map)   end   def terminate     SceneManager.snapshot_for_background     Graphics.fadeout(Graphics.frame_rate)   end end #==============================================================================
    • Da Ally
      Nome Script: Game Over con Scelte
      Versione: N/D
      Autore/i: bStefan

      Informazioni:
      Lo script da la possibilità nel Game Over di riavviare una battaglia, caricare un salvaggio, tornare al titolo, o di uscire semplicemente dal gioco.


      Istruzioni:
      Inserite lo script sotto Material.
      Per customizzare lo script in alcune opzioni, seguite qui sotto come fare:
      - Per modificare la posizione della finestra, fate riferimento alle righe 82-83
      - Per modificare la larghezza della finestra, fate riferimento alla riga 47
      - Se si vogliono inserire più colonne, fate riferimento alla riga 40 (si avrà bisogno anche delllo script qui di seguito):
      http://rpgmkr.net/forum/colonne-multiple-in-command-window-t2429.html
      - Se volete altri comandi, modificate make_command_list e create_command_window aggiungendo anche i metodi richiesti
      - Se volete eliminare la possibilità di riavviare la battaglia, fate riferimento alla riga 34

      Script:


      #================================================= # by bStefan aka. regendo # please give credit if used # for use with RMVX ACE #================================================= # GameOver with choices #================================================= # adds four choices to Scene_Gameover: # : Retry Battle (if you lost the battle) # : Load Savegame (if there is a savefile) # : Return to Title # : Quit Game #================================================= # implement over Main # implement under Multiple_Cols_in_Command_Window # if existant #================================================= module Regendo unless @scripts @scripts = Hash.new def self.contains?(key) @scripts[key] == true end end @scripts["GameOver_Window"] = true module GameOver_Window def self.multiple_cols? return false unless Regendo::contains?("Horizontal_Command") USE_MULTIPLE_COLUMNS end #======= #CONFIG #======= RETRY = true #if false, Retry Battle function will not be aviable #============================================== #requires Horizontal_Command script by regendo #============================================== if Regendo::contains?("Horizontal_Command") USE_MULTIPLE_COLUMNS = true #use Horizontal_Command Script? COLUMNS = 2 #requires ^ set to true end #================================================= #only used if not using Horizontal_Command Script #================================================= WINDOW_WIDTH = 225 end end if Regendo::GameOver_Window::multiple_cols? class Window_GameOver < Window_HorizontalCommand #more than one column possible end else class Window_GameOver < Window_Command #only one column end end class Window_GameOver def initialize if Regendo::GameOver_Window::multiple_cols? if Regendo::GameOver_Window::COLUMNS super(0, 0, Regendo::GameOver_Window::COLUMNS) else super(0, 0) end else super(0, 0) end update_placement self.openness = 0 open end unless Regendo::GameOver_Window::multiple_cols? def window_width Regendo::GameOver_Window::WINDOW_WIDTH end end def update_placement self.x = (Graphics.width - width) / 2 self.y = (Graphics.height - height) / 1.1 end #====================================== # add your own to this list # also requires changes at # Scene_Gameover#create_command_window #====================================== def make_command_list add_command("Retry Battle", :tryagain) if SceneManager.scene.is_defeat? add_command("Load Savestate", :load, load_enabled) add_command(Vocab::to_title, :to_title) add_command(Vocab::shutdown, :shutdown) end def load_enabled DataManager.save_file_exists? end end class Scene_Gameover < Scene_Base attr_reader :command_window alias start_old start def start start_old create_command_window end def pre_terminate super close_command_window end def update super end #====================================== # add your own to this list # also requires changes at # Window_GameOver#make_command_list # and requires adding your own methods #====================================== def create_command_window @command_window = Window_GameOver.new @command_window.set_handler(:tryagain, method(:command_retry)) if is_defeat? @command_window.set_handler(:load, method(:command_load)) @command_window.set_handler(:to_title, method(:goto_title)) @command_window.set_handler(:shutdown, method(:command_shutdown)) end def close_command_window @command_window.close if @command_window update until @command_window.close? end def command_load close_command_window fadeout_all SceneManager.call(Scene_Load) end def goto_title close_command_window fadeout_all SceneManager.goto(Scene_Title) end def command_shutdown close_command_window fadeout_all SceneManager.exit end def command_retry fadeout_all SceneManager.goto(Scene_Battle) BattleManager.setup(@troop_id, @can_escape, @can_lose) $game_party.members.each do |actor| actor.recover_all end $game_troop.members.each do |enemy| enemy.recover_all end BattleManager.bmgs_by_regendo(@map_bgm, @map_bgs) BattleManager.play_battle_bgm Sound.play_battle_start end def is_defeat (b = true) @defeat = b end def is_defeat? Regendo::GameOver_Window::RETRY ? @defeat : false end def battle_setup (troop_id, can_escape = true, can_lose = false) @troop_id = troop_id @can_escape = can_escape @can_lose = can_lose end def bgms_setup(map_bgm, map_bgs) @map_bgm = map_bgm @map_bgs = map_bgs end end module BattleManager class << self alias_method :setup_old, :setup end def self.setup(troop_id, can_escape = true, can_lose = false) self.setup_old(troop_id, can_escape = true, can_lose = false) @troop_id = troop_id end def self.bmgs_by_regendo(map_bgm, map_bgs) @map_bgm = map_bgm @map_bgs = map_bgs end def self.process_defeat $game_message.add(sprintf(Vocab::Defeat, $game_party.name)) wait_for_message if @can_lose revive_battle_members replay_bgm_and_bgs SceneManager.return else SceneManager.goto(Scene_Gameover) SceneManager.scene.is_defeat #this is new SceneManager.scene.battle_setup(@troop_id, @can_escape, @can_lose) #this also SceneManager.scene.bgms_setup(@map_bgm, @map_bgs) #and this end battle_end(2) return true end end
×