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
Ally

Schermate Game Over in base al livello

Recommended Posts

Nome Script: Game Over in base al livello

Versione: Ember

Autore/i: N/D

 

Informazioni:

Questo script semplicissimo permette di avere un Game Over diverso che dipenderà dal livello attuale dell'eroe.

 

Istruzioni:

Trovate questa riga in Scene_Gameover:

[c]@sprite.bitmap = RPG::Cache.gameover($data_system.gameover_name)[/c]

e sostituitela con lo script postato di seguito.

Le immagini dei nuovi Gameover dovranno chiamarsi 1, 2, 3, 4, oppure potete cambiarne il nome direttamente negli script.

Come avrete intuito, le immagini dovranno essere inserite nella cartella dei Gameover.

 

Script:

 

#===============================================================================

#Gameover Screen Based on Level Script
#By: Eccid
#With help fromn kaito
#Edited to gameover by Sam Drew
#-------------------------------------------------------------------------------    
#---Start Edit---

case $game_actors[1].level#finds actor level
when 1 ... 24#When actor level is...
    @sprite.bitmap = RPG::Cache.gameover("1.png")#Show gameover
    
when 25 ... 49
    @sprite.bitmap = RPG::Cache.gameover("2.png")
    
when 50 ... 74
    @sprite.bitmap = RPG::Cache.gameover("3.png")
    
when 75 ... 100
    @sprite.bitmap = RPG::Cache.gameover("4.png")
 end
else
 @sprite.bitmap = RPG::Cache.gameover("1.png")#set regular gameover
end

#---End Edit---
#===============================================================================

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

  • 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
×