################################################################################
############################# Get Variables & Switches #########################
################################################################################
# Auteur : Biward
# Date : 05/10/2013
# Utilité : permet de lire les variables/interrupteurs d'une autre sauvegarde
#
# Comment faire ?
# Dans un évènement :
# get_variable(id, "file", toid) et/ou get_switche(id, "file", toid)
#
# Dans un script :
# Get.copy_variable(id, "file", toid) et/ou Get.copy_switche(id, "file", toid)
#
#
# Avec : id = ID de la variable/interrupteur que l'on va chercher dans l'autre sauvegarde
# file = nom du fichier de sauvegarde
# toid = ID de la variable/interrupteur nouvelle/nouveau
#
#
# De plus, pour vérifier qu'un fichier existe (normalement pas nécessaire lors de la copie),
# il vous suffit de faire ceci dans un appel de script : file_exist?("name")
# ou de faire Get.file?("name") dans un script !
#
#####################################
########## Début du script ##########
#####################################
#
##### Interpreter
class Interpreter
def get_variable(id, file, toid) # Obtenir la variable
Get.copy_variable(id, file, toid) # On va copier la variable dans le module
end
def get_switche(id, file, toid) # Obtenir l'interrupteur
Get.copy_switche(id, file, toid) # On va copier l'interrupteur dans le module
end
def file_exist?(name) # Verifier l'existence du fichier
Get.file?(name) # Le module vérifie si le fichier existe
end
end
#
##### Get
module Get
#
extend self # Extend
#
def copy_variable(id, name, toid) # Copie de la variable
file(name)
$game_variables[toid] = $g_var[id] if $g_var
reset_other_variable
end
#
def copy_switche(id, name, toid) # Copie de l'interrupteur
file(name)
$game_switches[toid] = $g_swi[id] if $g_swi
reset_other_variable
end
#
def reset_other_variable # Remise à zéro des variables globales
$g_swi = nil
$g_var = nil
end
#
def file(filename) # Lecture du fichier
return unless FileTest.exist?(filename)
file = File.open(filename, "rb")
read_variables(file)
file.close
end
#
def read_variables(file) # Lecture des données
characters = Marshal.load(file)
bef_fra = Graphics.frame_count
Graphics.frame_count = Marshal.load(file)
bef_sys = $game_system
bef_swi = $game_switches
bef_var = $game_variables
$game_system = Marshal.load(file)
$game_switches = Marshal.load(file)
$game_variables = Marshal.load(file)
$g_var = $game_variables
$g_swi = $game_switches
$game_system = bef_sys
$game_variables = bef_var
$game_switches = bef_swi
Graphics.frame_count = bef_fra
end
#
def file?(name)
return FileTest.exist?(name)
end
end
#####################################
########### Fin du script ###########
#####################################