Jump to content
Rpg²S Forum

Sistema di Autosalvataggio


Exim Gealbhonn
 Share

Recommended Posts

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
Naturalmente se volete che si autosalvi il gioco appena si entra in una mappa, dovrete mettere l'evento in processo parallelo, quindi ricordate di stopparlo con una switch locale, altrimenti continuerà a salvare per tutto il tempo in cui starete in quella mappa.
Script:


#===============================================================================
# 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 


Bugs e Conflitti noti: N/A
Edited by Sora Keyblade
Link to comment
Share on other sites

Ci sono troppi override. Puoi aliasare molti più metodi, invece come hai fatto tu molti script andrebbero in conflitto. Cerca di fare alias dove puoi, ci sono almeno 4 metodi che puoi tranquillamente aliasare invece di sovrascriverli brutalmente.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

Altro buono script. Se puoi aggiungi anche il comando per caricare l'autosalvataggio rapidamente. Molti giochi che lo utilizzano permettono di ricaricarlo direttamente nel game over o prima.

^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Ci sono troppi override. Puoi aliasare molti più metodi, invece come hai fatto tu molti script andrebbero in conflitto. Cerca di fare alias dove puoi, ci sono almeno 4 metodi che puoi tranquillamente aliasare invece di sovrascriverli brutalmente.

Effettiivamente è stat una noncuranza non da poco. Sistemato

 

Altro buono script. Se puoi aggiungi anche il comando per caricare l'autosalvataggio rapidamente. Molti giochi che lo utilizzano permettono di ricaricarlo direttamente nel game over o prima.

^ ^

In che senso? Quando si va in game over si ricarica l'autosalvataggio automaticamente? Sinceramente non ci vedo molta utilità, considerando che dal title screen si può fare lo stesso xD

Link to comment
Share on other sites

Be' molti giochi hanno il carica ultimo/autosalvataggio ed il torna ai titoli, non è così strano. Comunque può esser utile anche in game per richiami rapidi e cose come check point.

^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Create an account or sign in to comment

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

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...