Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. ################################################################################
  2. ############################# Get Variables & Switches #########################
  3. ################################################################################
  4. # Auteur : Biward
  5. # Date : 05/10/2013
  6. # Utilité : permet de lire les variables/interrupteurs d'une autre sauvegarde
  7. #
  8. # Comment faire ?
  9. # Dans un évènement :
  10. # get_variable(id, "file", toid)  et/ou  get_switche(id, "file", toid)
  11. #
  12. # Dans un script :
  13. # Get.copy_variable(id, "file", toid)  et/ou  Get.copy_switche(id, "file", toid)
  14. #
  15. #
  16. # Avec : id = ID de la variable/interrupteur que l'on va chercher dans l'autre sauvegarde
  17. #        file = nom du fichier de sauvegarde
  18. #        toid = ID de la variable/interrupteur nouvelle/nouveau
  19. #
  20. #
  21. # De plus, pour vérifier qu'un fichier existe (normalement pas nécessaire lors de la copie),
  22. # il vous suffit de faire ceci dans un appel de script : file_exist?("name")
  23. # ou de faire Get.file?("name") dans un script !
  24. #
  25. #####################################
  26. ########## Début du script ##########
  27. #####################################
  28. #
  29. ##### Interpreter
  30. class Interpreter
  31.   def get_variable(id, file, toid)     # Obtenir la variable
  32.     Get.copy_variable(id, file, toid)  # On va copier la variable dans le module
  33.   end
  34.   def get_switche(id, file, toid)      # Obtenir l'interrupteur
  35.     Get.copy_switche(id, file, toid)   # On va copier l'interrupteur dans le module
  36.   end
  37.   def file_exist?(name)                # Verifier l'existence du fichier
  38.     Get.file?(name)                    # Le module vérifie si le fichier existe
  39.   end
  40. end
  41. #
  42. ##### Get
  43. module Get
  44.   #
  45.   extend self # Extend
  46.   #
  47.   def copy_variable(id, name, toid)    # Copie de la variable
  48.     file(name)
  49.     $game_variables[toid] = $g_var[id] if $g_var
  50.     reset_other_variable
  51.   end
  52.   #
  53.   def copy_switche(id, name, toid)     # Copie de l'interrupteur
  54.     file(name)
  55.     $game_switches[toid] = $g_swi[id] if $g_swi
  56.     reset_other_variable
  57.   end
  58.   #
  59.   def reset_other_variable             # Remise à zéro des variables globales
  60.     $g_swi = nil
  61.     $g_var = nil
  62.   end
  63.   #
  64.   def file(filename)                   # Lecture du fichier
  65.     return unless FileTest.exist?(filename)
  66.     file = File.open(filename, "rb")
  67.     read_variables(file)
  68.     file.close
  69.   end
  70.   #
  71.   def read_variables(file)             # Lecture des données
  72.     characters = Marshal.load(file)
  73.     bef_fra = Graphics.frame_count
  74.     Graphics.frame_count = Marshal.load(file)
  75.     bef_sys = $game_system
  76.     bef_swi = $game_switches
  77.     bef_var = $game_variables
  78.     $game_system        = Marshal.load(file)
  79.     $game_switches      = Marshal.load(file)
  80.     $game_variables     = Marshal.load(file)
  81.     $g_var = $game_variables
  82.     $g_swi = $game_switches
  83.     $game_system = bef_sys
  84.     $game_variables = bef_var
  85.     $game_switches = bef_swi  
  86.     Graphics.frame_count = bef_fra  
  87.   end
  88.   #
  89.   def file?(name)
  90.     return FileTest.exist?(name)
  91.   end
  92. end
  93. #####################################
  94. ########### Fin du script ###########
  95. #####################################