Connexion automatique

Pas encore membre ? Inscrivez-vous ici !
Vous avez oublié votre mot de passe ? On vous aide ici

AccueilPage d'accueilFAQRechercherS'enregistrerConnexion

Sélecteur de thème :


Partagez | .
AutoSave

Korndor
Fondatourson !

Fondatourson !
avatar
http://www.rpgmakervx-fr.com/

Nombre de messages : 4959
Age : 104
Localisation : Erem Vehyx
Avertissements : Avertissements infinis |-)
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007

MessageSujet: AutoSave   Dim 27 Juil 2008 - 10:42

Author :
Moon

Use the 11th switch to enable/disable the script Wink

Screen :


Script :

Code:
#  -----------------------------------------------------------------------------
#                        Auto Save Script by Moon V 1.3                        |
#  -----------------------------------------------------------------------------
#  RPGMAKERVX.org forum topic:                                                |
#  http://www.rpgmakervx.net/index.php?showtopic=1842                        |
#  -----------------------------------------------------------------------------
#  Tradução: Randal Br - Feito sob autorização do autor.
#  Distribuido apenas no fórum RPG Maker Brasil - Www.rpgmakerbrasil.com.br
#  -----------------------------------------------------------------------------
#~ V 1.2
#~  ~Corrigido o erro em que o jogo trava quando o script tenta salvar o jog enquanto
#~    mostra uma mensagem
#~ V 1.3
#~  ~Atualização de tempo entre o salvamento
#~    . Antes era x*4 e agora é X*5 (você pode configurar X abaixo)
#~  ~O scritp não sava o jogo se o salvamento for desligado.
#~  ~Uma atualização pequena no switch de controle
#~    . Se o switch de controle for 0 não serpa preciso o switch.

# ~ Customisation

# ~ Personnalisation
module Moon
  module AutoSave
      # Permet d'enregistrer l'emplacement choisi, qui sera utilisé par le script
      # Pour rendre l'auto-sauvetage la partie.
    ASR = 4
   
      # Cet ensemble c'est le nom du fichier sauvegardé.
    ASN = "Autosave.rvdata"
   
      # Cela affichera le menu de chargement, généralement dans "#numéro de dossier"
      # Mais le script va afficher le nom que vous inscrivez ici
    ASN2 = "Autosauvegarde"
   
        # Si AMSG_ON est définie sur "true" ça va afficher un message dans chaque
        # Autosauvegarde
    AMSG_ON = true
        #  Reglez le message si dessous comme vous le voulez :
    AMSG = "Auto-Sauvegarde terminée"
   
        # Combien sur combien de temps le jeu va être sauvegardé ?
        # Un point est équivalent à 5 secondes
        # Si vous entrez 10, le jeu sera sauvegardé automatiquement toutes les 50 secondes.
    SPS = 12
   
        # C'est le Changement de contrôle.
        # Ceci est un nombre d'un interrupteur. Elle se contrôle automatiquement. Si l'
        # interrupteur OFF configuré dans le script fera que le jeu ne sera pas autosauvegardé
        # Si la IFSW est réglé sur 0 => pas besoin de changement de contrôle.
    IFSW = 11
  end
end

class Scene_Map < Scene_Base
  alias autoSave_start start
  def start
    autoSave_start
   
    @i = 0
  end
 
  alias autoSave_update update
  def update
    autoSave_update
    @a = $game_message.visible
    @b = $game_switches[Moon::AutoSave::IFSW]
    @b = true if Moon::AutoSave::IFSW == 0
    @c = $game_system.save_disabled
    if @a == false && @b == true && @c == false     
      @i += 1
      if @i > Moon::AutoSave::SPS * 300
        @i = 0
        file = File.open(Moon::AutoSave::ASN, "wb")
        $game_message.texts.push(Moon::AutoSave::AMSG) if Moon::AutoSave::AMSG_ON
        write_save_data(file)
        file.close
      end
    end
  end
 
  def write_save_data(file)
    characters = []
    for actor in $game_party.members
      characters.push([actor.character_name, actor.character_index])
    end
    $game_system.save_count += 1
    $game_system.version_id = $data_system.version_id
    @last_bgm = RPG::BGM::last
    @last_bgs = RPG::BGS::last
    Marshal.dump(characters,          file)
    Marshal.dump(Graphics.frame_count, file)
    Marshal.dump(@last_bgm,            file)
    Marshal.dump(@last_bgs,            file)
    Marshal.dump($game_system,        file)
    Marshal.dump($game_message,        file)
    Marshal.dump($game_switches,      file)
    Marshal.dump($game_variables,      file)
    Marshal.dump($game_self_switches,  file)
    Marshal.dump($game_actors,        file)
    Marshal.dump($game_party,          file)
    Marshal.dump($game_troop,          file)
    Marshal.dump($game_map,            file)
    Marshal.dump($game_player,        file)
  end
end

class Window_SaveFile < Window_Base
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    if @file_index + 1 != Moon::AutoSave::ASR
    name = Vocab::File + " #{@file_index + 1}"
    else
    name = Moon::AutoSave::ASN2
    end
    self.contents.draw_text(4, 0, 200, WLH, name)
    @name_width = contents.text_size(name).width
    if @file_exist
      draw_party_characters(152, 58)
      draw_playtime(0, 34, contents.width - 4, 2)
    end
  end
end

class Scene_File < Scene_Base
  def do_save
    if @index != Moon::AutoSave::ASR
    file = File.open(@savefile_windows[@index].filename, "wb")
    else
    file = Moon::AutoSave::ASN
    end
    write_save_data(file)
    file.close
    return_scene
  end
 
 
  def create_savefile_windows
    @savefile_windows = []
    for i in 0..3
      if i != Moon::AutoSave::ASR - 1
      @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
      else
      @savefile_windows.push(Window_SaveFile.new(i, Moon::AutoSave::ASN))
      end
    end
    @item_max = 4
  end
end
 

   Page 1 sur 1
 Sujets similaires
-
» AutoSave
» autosave impossible
» Auto save/load
» FGCom intégré à FlightGear

 Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum