T. à la menthe Administrateur, Fondateur, Vieillard acariâtre


Nombre de messages: 3382 Age: 99 Localisation: Erem Vehyx Avertissements: Avertissements infinis |-) Distinction: Flooder invisible [Coco']
Maître vénéré [Les Kikoolol]
Champion de boxe et au lit ! :O [Wax]
Être Mythique [Sisitkt]
Papi T. qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco'] Date d'inscription: 16/12/2007
 | Sujet: AutoSave Dim 27 Juil 2008 - 23:42 | |
| Author :MoonUse the 11th switch to enable/disable the script 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 |
|
|