Schermata GameOver Avanzata
Descrizione:
Script ideato per Elysian Quest.
Uno script che aggiunge le seguenti opzioni (che possono essere tenute tutte oppure soltanto alcune) alla scherma del GameOver:
-Continua: Ricarica il primo salvataggio, se usate il mio script per l'autosave ricaricherà l'autosave
-Carica Partita: Apre la schermate per ricaricare un salvataggio
-Ritorno al Titolo: Ritorna al titolo
-Esci: Esce dal gioco
Lo script inoltre permette di usare, a discrezione dell'utente, sia grafica custom oppure la grafica "standard" delle finestre
Autore: Sora Keyblade
Allegati:
Premetto che per la grafica degli screen e della demo ho usato come sfondo un grafica presa da internet e come pulsanti la grafica del vecchio title screen di Elysian Quest.
Screen:
Screen con grafica custom Screen con grafica non customizzata
Demo:
http://www.mediafire...er Avanzato.zip
Istruzioni per l'uso:
Mettere lo script sotto "Materials" e compilare la configurazione sotto riportata.
Se si avesse intenzione di usare la grafica custom è necessario creare una cartella in Graphics chiamata "SK Scripts" e al suo interno creare una nuova cartella chiamata "GameOver"
Termini di uso:
-Script libero sia per giochi gratuiti che commerciali. Altamente apprezzato il creditarmi
Script:
#=============================================================================== # Nome Script: SK | Schermata GameOver Avanzata # Autore: Sora Keyblade # Versione: 1.1 # Programma: RPG Maker VX Ace # Data: 24/08/2016 # Ultima Modifica: 27/08/2016 #=============================================================================== # Descrizione: # Script ideato per Elysian Quest # Uno script che aggiunge le seguenti opzioni (che possono essere tenute tutte # oppure soltanto alcune) alla scherma del GameOver: # -Continua: Ricarica il primo salvataggio, se usate il mio script per # l'autosave ricaricherà l'autosave # -Carica Partita: Apre la schermate per ricaricare un salvataggio # -Ritorno al Titolo: Ritorna al titolo # -Esci: Esce dal gioco # # Lo script inoltre permette di usare, a discrezione dell'utente, sia grafica # custom oppure la grafica "standard" delle finestre #=============================================================================== # Istruzioni per l'utilizzo: # Mettere lo script sotto "Materials" e compilare la configurazione sotto # riportata. # Se si avesse intenzione di usare la grafica custom è necessario creare una cartella in # Graphics chiamata "SK Scripts" e al suo interno creare una nuova cartella # chiamata "GameOver" #=============================================================================== # Termini di Utilizzo # -Script libero sia per giochi gratuiti che commerciali. Altamente apprezzato # il creditarmi #=============================================================================== module SK module GameOver #=========================================================================== # Configurazione Generale #=========================================================================== #=========================================================================== # Vuoi usare grafica Custom? Se sì metti true, altrimenti false Grafica_Custom=false #Vuoi l'opzione "Continua"? Se sì metti true, altrimenti false Continua=true #Vuoi che l'opzione ricarichi l'ultimo salvataggio effettuato oppure il #primo salvataggio? # Per Primo Salvataggio mettere false # Per Ultimo Salvataggio effettuato mettere true Ricarica_Ultimo_Salvataggio=true #Vuoi l'opzione "Carica Parita"? Se sì metti true, altrimenti false Carica_Partita=true #Vuoi l'opzione "Ritorno al Titolo"? Se sì metti true, altrimenti false Schermata_del_titolo=false #Vuoi l'opzione "Esci"? Se sì metti true, altrimenti false Esci=true # Coordinata X della posizione della schermata X_Posizione_Finestra=Graphics.width/2-95 # Coordinata Y della posizione della schermata Y_Posizione_Finestra=Graphics.height/2+60 #=========================================================================== # Configurazione Grafica Non Customizzata #=========================================================================== #Larghezza della schermata Larghezza_Finestra=160 #Il nome che comparirà nell'opzione "Continua" Nome_Continua="Continua" #Il nome che comparirà nell'opzione "Carica Partita" Nome_Carica="Carica Partita" #Il nome che comparirà nell'opzione "Ritorno al Titolo" Nome_Schermata_titolo="Titolo" #Il nome che comparirà nell'opzione "Esci" Nome_Esci="Esci" #=========================================================================== # Configurazione Grafica Customizzata #=========================================================================== # Il nome del file della grafica dell'opzione "Continua" File_Grafica_Continua="NewGame" # Il nome del file della grafica dell'opzione "Continua", ma questa volta # l'opzione deve essere selezionata (ossia deve essere presente un indicatore File_Grafica_ContinuaSelezionato="NewGameSelected" # Il nome del file della grafica dell'opzione "Carica Partita" File_Grafica_Carica="ContinueGame" # Il nome del file della grafica dell'opzione "Carica Partita", ma questa volta # l'opzione deve essere selezionata (ossia deve essere presente un indicatore File_Grafica_CaricaSelezionato="ContinueGameSelected" # Il nome del file della grafica dell'opzione "Ritorno al Titolo" File_Grafica_RitornoTitolo="Update" # Il nome del file della grafica dell'opzione "Ritorno al Titolo", ma questa volta # l'opzione deve essere selezionata (ossia deve essere presente un indicatore File_Grafica_RitornoTitoloSelezionato="UpdateSelected" # Il nome del file della grafica dell'opzione "Esci" File_Grafica_Esci="ExitGame" # Il nome del file della grafica dell'opzione "Esci", ma questa volta # l'opzione deve essere selezionata (ossia deve essere presente un indicatore File_Grafica_EsciSelezionato="ExitGameSelected" #Distanza che c'è tra la grafica di un'opzione e un'altra (in pixel) Distanza_Grafica=25 #=========================================================================== # Fine Configurazione #=========================================================================== end end module Cache def self.SK_GameOver(filename) load_bitmap("Graphics/SK Scripts/GameOver/", filename) end end class Window_GameOver < Window_Command def initialize super(SK::GameOver::X_Posizione_Finestra,SK::GameOver::Y_Posizione_Finestra) @conto_opzioni=0 self.opacity=0 if SK::GameOver::Grafica_Custom self.contents_opacity=0 if SK::GameOver::Grafica_Custom disegna_grafica_custom if SK::GameOver::Grafica_Custom end def make_command_list add_command(SK::GameOver::Nome_Continua, :continua) if SK::GameOver::Continua add_command(SK::GameOver::Nome_Carica, :carica_partita, loadgame_enabled) if SK::GameOver::Carica_Partita add_command(SK::GameOver::Nome_Schermata_titolo, :ritorna_al_titolo) if SK::GameOver::Schermata_del_titolo add_command(SK::GameOver::Nome_Esci, :esci) if SK::GameOver::Esci end def window_width return SK::GameOver::Larghezza_Finestra end def loadgame_enabled DataManager.save_file_exists? end def disegna_grafica_custom if SK::GameOver::Continua @continua=Sprite.new @continua.bitmap=Cache.SK_GameOver(SK::GameOver::File_Grafica_Continua) @continua_selezionato=Sprite.new @continua_selezionato.bitmap=Cache.SK_GameOver(SK::GameOver::File_Grafica_ContinuaSelezionato) @continua.x=SK::GameOver::X_Posizione_Finestra @continua.y=SK::GameOver::Y_Posizione_Finestra+SK::GameOver::Distanza_Grafica*@conto_opzioni @[email protected] @[email protected] @continua_selezionato.z=-1 @conto_opzioni+=1 end if SK::GameOver::Carica_Partita @carica_partita=Sprite.new @carica_partita.bitmap=Cache.SK_GameOver(SK::GameOver::File_Grafica_Carica) @carica_partita_selezionato=Sprite.new @carica_partita_selezionato.bitmap=Cache.SK_GameOver(SK::GameOver::File_Grafica_CaricaSelezionato) @carica_partita.x=SK::GameOver::X_Posizione_Finestra @carica_partita.y=SK::GameOver::Y_Posizione_Finestra+SK::GameOver::Distanza_Grafica*@conto_opzioni @carica_partita_selezionato.x=@carica_partita.x @carica_partita_selezionato.y=@carica_partita.y @carica_partita_selezionato.z=-1 @conto_opzioni+=1 end if SK::GameOver::Schermata_del_titolo @sdt=Sprite.new @sdt.bitmap=Cache.SK_GameOver(SK::GameOver::File_Grafica_RitornoTitolo) @sdt_selezionato=Sprite.new @sdt_selezionato.bitmap=Cache.SK_GameOver(SK::GameOver::File_Grafica_RitornoTitoloSelezionato) @sdt.x=SK::GameOver::X_Posizione_Finestra @sdt.y=SK::GameOver::Y_Posizione_Finestra+SK::GameOver::Distanza_Grafica*@conto_opzioni @[email protected] @[email protected] @sdt_selezionato.z=-1 @conto_opzioni+=1 end if SK::GameOver::Esci @esci=Sprite.new @esci.bitmap=Cache.SK_GameOver(SK::GameOver::File_Grafica_Esci) @esci_selezionato=Sprite.new @esci_selezionato.bitmap=Cache.SK_GameOver(SK::GameOver::File_Grafica_EsciSelezionato) @esci.x=SK::GameOver::X_Posizione_Finestra @esci.y=SK::GameOver::Y_Posizione_Finestra+SK::GameOver::Distanza_Grafica*@conto_opzioni @[email protected] @[email protected] @esci_selezionato.z=-1 @conto_opzioni+=1 end end def update super if SK::GameOver::Grafica_Custom if self.index==0 if SK::GameOver::Continua @continua.z=-1 @continua_selezionato.z=1 aggiorna_z(@continua) elsif SK::GameOver::Carica_Partita @carica_partita.z=-1 @carica_partita_selezionato.z=1 aggiorna_z(@carica_partita) elsif SK::GameOver::Schermata_del_titolo @sdt.z=-1 @sdt_selezionato.z=1 aggiorna_z(@sdt) elsif SK::GameOver::Esci @esci.z=-1 @esci_selezionato.z=1 aggiorna_z(@esci) end elsif self.index==1 if SK::GameOver::Carica_Partita && SK::GameOver::Continua @carica_partita.z=-1 @carica_partita_selezionato.z=1 aggiorna_z(@carica_partita) elsif SK::GameOver::Schermata_del_titolo && (SK::GameOver::Carica_Partita or SK::GameOver::Continua) #&& (SK::GameOver::Carica_Partita!=SK::GameOver::Continua)) @sdt.z=-1 @sdt_selezionato.z=1 aggiorna_z(@sdt) elsif SK::GameOver::Esci && ((SK::GameOver::Schermata_del_titolo or SK::GameOver::Carica_Partita or SK::GameOver::Continua) && (SK::GameOver::Carica_Partita!=SK::GameOver::Continua)) #&& ((SK::GameOver::Schermata_del_titolo!=SK::GameOver::Carica_Partita) or (SK::GameOver::Schermata_del_titolo!=SK::GameOver::Continua) or (SK::GameOver::Continua!=SK::GameOver::Carica_Partita))) @esci.z=-1 @esci_selezionato.z=1 aggiorna_z(@esci) end elsif self.index==2 if SK::GameOver::Schermata_del_titolo && SK::GameOver::Carica_Partita && SK::GameOver::Carica_Partita @sdt.z=-1 @sdt_selezionato.z=1 aggiorna_z(@sdt) elsif SK::GameOver::Esci && ((SK::GameOver::Schermata_del_titolo or SK::GameOver::Carica_Partita or SK::GameOver::Continua) && ((SK::GameOver::Schermata_del_titolo!=SK::GameOver::Carica_Partita) or (SK::GameOver::Schermata_del_titolo!=SK::GameOver::Continua) or (SK::GameOver::Continua!=SK::GameOver::Carica_Partita))) @esci.z=-1 @esci_selezionato.z=1 aggiorna_z(@esci) end elsif self.index==3 if SK::GameOver::Esci && SK::GameOver::Schermata_del_titolo && SK::GameOver::Carica_Partita && SK::GameOver::Continua @esci.z=-1 @esci_selezionato.z=1 aggiorna_z(@esci) end end end end def aggiorna_z(opzione) @continua.z=1 if @continua!=opzione && SK::GameOver::Continua @continua_selezionato.z=-1 if @continua!=opzione && SK::GameOver::Continua @carica_partita.z=1 if @carica_partita!=opzione && SK::GameOver::Carica_Partita @carica_partita_selezionato.z=-1 if @carica_partita!=opzione && SK::GameOver::Carica_Partita @sdt.z=1 if @sdt!=opzione && SK::GameOver::Schermata_del_titolo @sdt_selezionato.z=-1 if @sdt!=opzione && SK::GameOver::Schermata_del_titolo @esci.z=1 if @esci!=opzione && SK::GameOver::Esci @esci_selezionato.z=-1 if @esci!=opzione && SK::GameOver::Esci end def dispose super @continua.dispose if @continua!=nil @continua_selezionato.dispose if @continua_selezionato!=nil @carica_partita.dispose if @carica_partita!=nil @carica_partita_selezionato.dispose if @carica_partita_selezionato!=nil @sdt.dispose if @sdt!=nil @sdt_selezionato.dispose if @sdt_selezionato!=nil @esci.dispose if @esci!=nil @esci_selezionato.dispose if @esci_selezionato!=nil end end class Scene_Gameover < Scene_Base alias sk_game_over_start start def start sk_game_over_start initializza_finestra end def initializza_finestra @finestra_gameover=Window_GameOver.new @finestra_gameover.set_handler(:continua, method(:metodo_continua)) @finestra_gameover.set_handler(:carica_partita, method(:metodo_carica_partita)) @finestra_gameover.set_handler(:ritorna_al_titolo, method(:metodo_ritorna_al_titolo)) @finestra_gameover.set_handler(:esci, method(:metodo_esci)) end def metodo_continua SK::GameOver::Ricarica_Ultimo_Salvataggio ? index=DataManager::last_savefile_index : index=0 if DataManager.load_game(index) on_load_success else Sound.play_buzzer @finestra_gameover.activate end end def on_load_success fadeout_all $game_system.on_after_load SceneManager.goto(Scene_Map) end def metodo_carica_partita SceneManager.call(Scene_Load) end def metodo_ritorna_al_titolo goto_title end def metodo_esci fadeout_all SceneManager.exit end #overwrite def update super end end
Bugs e Conflitti Noti: N/A
Compatibilità:
Alias:
Scene_Gameover -----> start
Overwrite:
Scene_Gameover ----> update
Modificato da Sora Keyblade, 27 August 2016 - 16:40 PM.