Trabounet Nouvel Arrivant
Nombre de messages : 7 Age : 28 Localisation : Chez moi Niveau : : A vous de juger Projet(s) : : Collège & Kaziku I Argent (Po) : : Date d'inscription : 02/02/2008
| Sujet: Sauvegarde automatique Sam 2 Fév - 12:57 | |
| Auteur : Corwin Fonction : Ce script permet de sauvegarder automatiquement (sans aucune demande, ni confirmation) - Code:
-
=begin ----------- AUTOSAVE SCRIPT v1.0 par Corwin
Suite à une demande, voici un script qui va permettre de faire une sauvegarde automatique, dans le slot voulu. Pour cela, il suffit :
- créer un nouveau script et y coller le présent script - créer un évènement parallèle, à lancer sur Appel Dans cet évènement, y mettre un script ainsi : <> call_autosave(X) et mettre à la place du X le numéro du slot désiré - lorsque vous voulez sauvegarder une partie automatiquement, il suffit d'appeler cet évènement parallèle
Dans ce script vous pouvez tout modifier, il est suffisament commenté pour cela.
Bon dév ! ---------------------------------- =end
# pour informer l'utilisateur qu'il y a eu une sauvegarde $autosave_userYP = true # à mettre true si vous voulez que le joueur soit informé # à mettre false si vous ne voulez pas que le joueur soit informé
class Scene_Auto_Saving
def main
if $autosave_userYP # si c'est true, alors le joueur est informé... # lancement de la fenêtre d'info de l'autosave @autosaving_window = Window_autosaving.new # on lance la fonction de sauvegarde autosaving_fct
else # l'info ne doit pas être fournie au joueur # on lance la fonction de sauvegarde UNIQUEMENT autosaving_fct end
# Boucle de transition, mise à jour graphique et entré clavier Graphics.transition # boucle
loop do # Mise à jour graphique Graphics.update # Mise à jour des entrées clavier
Input.update # Mise à jour de la class update
# Si la scene n'existe plus, alors sortir de la boucle if $scene != self break end
end # figer les graphiques Graphics.freeze # destruction des objets if $autosave_userYP if @autosaving_window.dispose != nil @autosaving_window.dispose end end
end
#-------------------------------------------------------------------------- # ● update #-------------------------------------------------------------------------- def update
if $autosave_userYP # si c'est true, alors le joueur est informé... # on force d'attendre 2 secondes sleep(2) end
# puis on réaffiche le tout... $scene = Scene_Map.new return end
end #fin class
# ---------------------------------------- # on définit la fonction à appeler, # avec la variable alpha qui représente le # slot de sauvegarde à utiliser # ---------------------------------------- def call_autosave(alpha) if alpha != nil $autosave_slot = alpha else $autosave_slot = 1 end
# on lance la scene en question $scene = Scene_Auto_Saving.new end
def autosaving_fct # fonction de sauvegarde : autosave_point = Scene_Save.new # on appelle la class de save autosave_filename="Save#{$autosave_slot}.rxdata" # on définit le fichier de save
# /!\ attention... vous DEVEZ mettre le nom par défaut de vos sauvegardes # dans la version sur laquelle le script est fait, c'est "Save" # pour savoir quel est le nom exact, regardez dans le script Scene_File # et dans la fonction make_filename (normalement ligne 109) # et adapter la ligne ci-dessus en conséquent
autosave_file = File.open(autosave_filename, "wb") # on ouvre le fichier de save autosave_point.write_save_data(autosave_file) # on y inscrit les données de save autosave_file.close # on ferme le fichier de save end
#-------------------------------------------------------------------------- class Window_autosaving < Window_Base #--------------------------------------------------------------------------
def initialize super(0, 0, 640,480) self.contents = Bitmap.new(width - 32, height - 32) self.contents.clear self.back_opacity = 160 self.opacity = 160 self.visible = true refresh end
def refresh # calcul de la largeur du texte self.contents.font.name = $fontface self.contents.font.size = $fontsize+6 self.contents.font.color = system_color autosave_txt = "Partie sauvegardée" autosave_txt_wh = contents.text_size(autosave_txt).width self.contents.clear
# écriture d'un petit texte qui va dire que la partie a été sauvée self.contents.font.size = $fontsize+6 self.contents.draw_text(150, 200, autosave_txt_wh, 32, autosave_txt, 2)
end
end # end class Pour sauvegarder : call_autosave(x) où X représente de slot. de 1 à 4 par defaut. Si vous entrez "call_autosave()", sa sauvegarde san le "1". Modifiable à la ligne 102. A partir de la ligne 125, vous pouvez modifier le message affiché et la facon dont il est affiché. A la ligne 26 vous pouvez choisir de désactiver le message. | |
|
Lunatic Maître des Lieux
Nombre de messages : 110 Age : 116 Localisation : En vacance. Revient le 9 février ! Niveau : : Assez bon. Projet(s) : : Zelda Project - Pause -, PET's : version Dog. Argent (Po) : : Date d'inscription : 26/01/2008
| Sujet: Re: Sauvegarde automatique Sam 2 Fév - 13:28 | |
| Oh merci ! Je cherchai justement un script du genre | |
|
Trabounet Nouvel Arrivant
Nombre de messages : 7 Age : 28 Localisation : Chez moi Niveau : : A vous de juger Projet(s) : : Collège & Kaziku I Argent (Po) : : Date d'inscription : 02/02/2008
| Sujet: Re: Sauvegarde automatique Sam 2 Fév - 16:01 | |
| | |
|
Zexion Surveillant
Nombre de messages : 158 Age : 31 Argent (Po) : : Date d'inscription : 28/01/2008
| Sujet: Re: Sauvegarde automatique Sam 2 Fév - 16:06 | |
| Sympa, ca peut servir ^^ D'ailleurs, je me demande si je vais pas le faire. | |
|
Contenu sponsorisé
| Sujet: Re: Sauvegarde automatique | |
| |
|