Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
Sistema di Autosalvataggio

    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilitā:Esperto

#1 Inviato 17 August 2015 - 13:57 PM

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

Modificato da Sora Keyblade, 18 August 2015 - 21:28 PM.


    Holy87
  • Prode Guerriero

  • Rpg˛S Staff
  • Rens: 458
  • 6
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 7431 messaggi
  • Sesso:Maschio
  • Provenienza:San Giorgio a Cremano
  • Abilitā:Maestro

#2 Inviato 17 August 2015 - 14:10 PM

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.]

BannerOverdrive35.png
Cap3.png

578.png
 

Miei script per RPG Maker VX Ace:

Spoiler

 
I miei tutorial:
Spoiler

    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#3 Inviato 17 August 2015 - 15:22 PM

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 ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
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) ^ ^

Spoiler


    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilitā:Esperto

#4 Inviato 18 August 2015 - 21:31 PM

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



    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#5 Inviato 19 August 2015 - 01:17 AM

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 ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
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) ^ ^

Spoiler





  • Feed RSS