Kaila
Messages : 4254
| Sujet: Module Quicksave XP by Kaila Ven 28 Mai - 0:54 | |
| Voici un petit script permettant de sauvegarder, charger ou supprimer une partie sans passer par aucune fenêtre. Pratique pour les menus customs en events, mais aussi pour les menus en scripts ! Script à placer au dessus de main. Vous pouvez l'appeler "Module Quicksave" si ça vous chante. - Code:
-
#===================================================================== # ¦ Module Quicksave # Permet de faire et gérer des sauvegardes rapides du jeu #===================================================================== # Auteur: Kaila # Version: 2.0 # Date: 05/2010 #===================================================================== # Écrire dans un script ou une insertion de script: # # Quicksave.save(X) , pour sauver le fichier "SaveX.rxdata" # Quicksave.load(X) , pour charger le fichier "SaveX.rxdata" # Quicksave.exist(X) , pour tester si le fichier "SaveX.rxdata" existe # Quicksave.delete(X), pour supprimer le fichier "SaveX.rxdata" # # -Si X n'est pas précisé, le nom du fichier sera "Save0.rxdata" # -load et delete vérifient automatiquement si le fichier existe # -save créé le fichier s'il n'existe pas #===================================================================== module Quicksave def self.save(n_save=0) file = File.open("Save#{n_save}.rxdata", "wb") characters = [] for i in 0...$game_party.actors.size actor = $game_party.actors[i] characters.push([actor.character_name, actor.character_hue]) end Marshal.dump(characters, file) Marshal.dump(Graphics.frame_count, file) $game_system.save_count += 1 $game_system.magic_number = $data_system.magic_number Marshal.dump($game_system, file) Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, file) Marshal.dump($game_screen, 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) file.close end def self.load(n_save=0) if self.exist(n_save) $game_temp = Game_Temp.new file = File.open("Save#{n_save}.rxdata", "rb") characters = Marshal.load(file) Graphics.frame_count = Marshal.load(file) $game_system = Marshal.load(file) $game_switches = Marshal.load(file) $game_variables = Marshal.load(file) $game_self_switches = Marshal.load(file) $game_screen = Marshal.load(file) $game_actors = Marshal.load(file) $game_party = Marshal.load(file) $game_troop = Marshal.load(file) $game_map = Marshal.load(file) $game_player = Marshal.load(file) if $game_system.magic_number != $data_system.magic_number $game_map.setup($game_map.map_id) $game_player.center($game_player.x, $game_player.y) end $game_party.refresh file.close $scene = Scene_Map.new end end def self.exist(n_save=0) return FileTest.exist?("Save#{n_save}.rxdata") end def self.delete(n_save=0) File.delete("Save#{n_save}.rxdata") if self.exist(n_save) end end Des question ? Des suggestions ? Des problèmes ? | |
|
Xnqıq
Messages : 2959
| Sujet: Re: Module Quicksave XP by Kaila Ven 28 Mai - 9:19 | |
| Fonctionne au poil . J'avais déjà fait un script comme ça, mais comme je me suis finalement rendu compte que je n'en avait pas besoin, je l'ai supprimé :F (de toutes façons, il était plus compliqué que le tien...). En tout cas, ça peut être pratique pour beaucoup de gens ! | |
|
Kaila
Messages : 4254
| Sujet: Re: Module Quicksave XP by Kaila Ven 28 Mai - 14:27 | |
| Moui, j'ai voulu faire simple pour maximiser la compatibilité avec les autres scripts. Mais à la base, c'était pour un menu custom ne gérant qu'une seule sauvegarde, je l'ai adapté par la suite pour permettre à l'utilisateur d'en faire plusieurs. | |
|
Aenki
Messages : 6953
| Sujet: Re: Module Quicksave XP by Kaila Ven 28 Mai - 16:24 | |
| Je savais pas que t'étais scripteur kaila ? En tout cas bravo | |
|
Kaila
Messages : 4254
| Sujet: Re: Module Quicksave XP by Kaila Ven 28 Mai - 21:11 | |
| Je scripte à mes heures perdues, oui. C'est un peu tout ce que ma monumentale flemme me permet de faire -_-"
M'enfin bref, merci ! | |
|
Invité Invité
| Sujet: Re: Module Quicksave XP by Kaila Ven 29 Avr - 16:29 | |
| J'ai fait exactemment le même pour VX (a la demande de Lem) ce qui est rigolo c'est qu'on a procédé pareil (recopier le module de Scene_File est efficace) |
|
Kaila
Messages : 4254
| Sujet: Re: Module Quicksave XP by Kaila Ven 29 Avr - 17:32 | |
| Waip, quitte à faire un script, autant piocher dans les éléments déjà tout faits ^^" Sinon, j'en avais fait une version VX aussi, disponible ici. Même procédé: copie du script de base. C'est le plus simple à faire et c'est ce qui marche le mieux | |
|
Invité Invité
| Sujet: Re: Module Quicksave XP by Kaila Sam 30 Avr - 14:01 | |
| Yep le mien est pareil (il a juste une fonction Copy en plus et une qui ressors un tableau pour utiliser les données extraites et par exemple afficher un résumé par slot). Beau travail. |
|
Contenu sponsorisé
| Sujet: Re: Module Quicksave XP by Kaila | |
| |
|