Advertisement
biward

[VX] Get

Oct 5th, 2013
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.62 KB | None | 0 0
  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 Game_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.         Graphics.frame_count = Marshal.load(file)
  74.         @last_bgm            = Marshal.load(file)
  75.         @last_bgs            = Marshal.load(file)
  76.         bef_sys = $game_system
  77.         bef_swi = $game_switches
  78.         bef_var = $game_variables
  79.         bef_mes = $game_message
  80.         $game_system        = Marshal.load(file)
  81.         $game_message        = Marshal.load(file)
  82.         $game_switches      = Marshal.load(file)
  83.         $game_variables     = Marshal.load(file)
  84.         $g_var = $game_variables
  85.         $g_swi = $game_switches
  86.         $game_system = bef_sys
  87.         $game_variables = bef_var
  88.         $game_switches = bef_swi    
  89.         $game_message = bef_mes
  90.       end
  91.       #
  92.       def file?(name)
  93.         return FileTest.exist?(name)
  94.       end
  95.     end
  96.     #####################################
  97.     ########### Fin du script ###########
  98.     #####################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement