Sistema di Autosalvataggio
Descrizione:
Uno script che permette di creare un sistema di autosalvataggio.
Per maggiore ordine lo script crea anche una cartella per contenere i salvataggi
Autore:
Sora Keyblade
Istruzioni per l'uso:
Mettere lo script in una nuova pagina dello script editor e personalizzarlo nella parte modificabile. Per richiamare l'autosalvataggio bisogna creare un evento/script (ultimo comando della seconda colonna della terza pagina degli eventi) con scritto:
SK.autosave
#=============================================================================== # Nome Script: SK | Autosave # Autore: Sora Keyblade # Versione: 1.0.1 # Programma: RPG Maker VX Ace # Data: 17/08/2015 # Ultima Modifica: / #=============================================================================== # Descrizione: # Uno script che permette di creare un sistema di autosalvataggio. # Per maggiore ordine lo script crea anche una cartella per contenere i # salvataggi #=============================================================================== # Istruzioni per l'utilizzo: # Mettere lo script in una nuova pagina dello script editor e personalizzarlo # nella parte modificabile. Per richiamare l'autosalvataggio bisogna creare un # evento/script (ultimo comando della seconda colonna della terza pagina degli # eventi) con scritto: # SK.autosave # Naturalmente se volete che si autosalvi il gioco appena si entra in una mappa, # dovrete mettere l'evento in proccesso parallelo, quindi ricordate di stopparlo # con una switch locale, altrimenti continuerà a salvare per tutto il tempo # in cui starete in quella mappa #=============================================================================== # Special Thanks: # -Holy87 #=============================================================================== module SK #============================================================================ # Inizio parte modificabile #============================================================================ #Mettete all'interno delle virgolette il nome del file di #autosalvataggio e il nome che spunterà in game tra i salvataggi. # 1 solo nome per entrambi Nome_file_autosalvataggio="Autosave" #Mettete all'interno delle virgolette il nome della cartella dove verranno #salvati i salvataggi Nome_cartella_salvataggi="Saves" #Il giocatore può salvare normalmente nel file dell'autosalvataggio? #true | false Salvataggio_in_autosave=false Autosave_first_savefile_index=false Opzioni_game_over=true #============================================================================== # Fine Parte Modificabile #============================================================================== def self.autosave DataManager.save_game(0) end def self.save_in_autosave if Salvataggio_in_autosave return DataManager.savefile_max+1 else return 0 end end def self.autosave_first_savefile_index if Autosave_first_savefile_index return DataManager.savefile_max+1 else return 0 end end end module DataManager class << self alias sk_init init alias sk_make_filename make_filename end def self.init sk_init Dir.mkdir("./#{SK::Nome_cartella_salvataggi}") if !File.directory?(SK::Nome_cartella_salvataggi) end def self.make_filename(index) if index==0 sprintf("./%s/%s.rvdata2",SK::Nome_cartella_salvataggi, SK::Nome_file_autosalvataggio) else sk_make_filename(index) end end def self.save_file_exists? if !Dir.glob("./#{SK::Nome_cartella_salvataggi}/Save*.rvdata2").empty? or !Dir.glob("./#{SK::Nome_cartella_salvataggi}/#{SK::Nome_file_autosalvataggio}.rvdata2").empty? return true else return false end end end class Window_SaveFile < Window_Base def refresh contents.clear change_color(normal_color) if @file_index==0 name=SK::Nome_file_autosalvataggio else name = Vocab::File + " #{@file_index}" end draw_text(4, 0, 200, line_height, name) @name_width = text_size(name).width draw_party_characters(152, 58) draw_playtime(0, contents.height - line_height, contents.width - 4, 2) end end class Scene_Save < Scene_File alias sk_first_savefile_index first_savefile_index def first_savefile_index if DataManager.last_savefile_index==SK.autosave_first_savefile_index DataManager.last_savefile_index+1 else sk_first_savefile_index end end def on_savefile_ok super if DataManager.save_game(@index)&&@index!=SK.save_in_autosave on_save_success else Sound.play_buzzer end end end
Modificato da Sora Keyblade, 18 August 2015 - 21:28 PM.