################################################################################ #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓# #↓ ↓# #↓ Persistant Data System: Version 0.2 ↓# #↓ ↓# #↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕# #↑ ↑# #↑ Written By: Joe Pro ↑# #↑ Last Edited: January 26, 2016 ↑# #↑ ↑# #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑# ################################################################################ #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙ ** Disclaimer ◙# #◙••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••◙# #◙ ◙# #◙ This script is not for commercial, if you wish to use this script in a ◙# #◙ game please PM me. All credit is to be given to me as the author of this ◙# #◙ script. ◙# #◙ ◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙ ** How To Use ◙# #◙••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••◙# #◙ ◙# #◙ * ◙# #◙ ◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙ ** Updates / Version Notes ◙# #◙••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••◙# #◙ ◙# #◙ v0.1 ◙# #◙ ~◄◙◙◙◙►~ ◙# #◙ * ◙# #◙ ◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# ################################################################################ #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓# #↓ ↓# #↕ Persistant Data System: Version 0.2 ↕# #↑ ↑# #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑# ################################################################################ #============================================================================== # ** Customization: Persistant Data #------------------------------------------------------------------------------ # This module manages the customizable and function modules. #============================================================================== module Customization_PersistantData #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙Customizeable Area◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #============================================================================= # * Currency Info #============================================================================= File_Name = "RPGMaker\Games\Persistant Data.rvdata2" #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙End Customizeable Area◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# #◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙# end #============================================================================== # ** DataManager #------------------------------------------------------------------------------ # This module manages the database and game objects. Almost all of the # global variables used by the game are initialized by this module. #============================================================================== module DataManager #-------------------------------------------------------------------------- # * Aliasing Module Methods: # load_database #-------------------------------------------------------------------------- class << self alias :dmld604506132013201 :load_database alias :dmlg064561316546005 :load_game alias :dmsgwr4654651321658 :save_game_without_rescue end #-------------------------------------------------------------------------- # * Load Database #-------------------------------------------------------------------------- def self.load_database dmld604506132013201 begin load_persistant_data rescue $persistant_data = {} save_persistant_data end end #-------------------------------------------------------------------------- # * Load Persistant Database #-------------------------------------------------------------------------- def self.load_persistant_data File.open(persistant_database_file_name, "rb") do |data| contents = Marshal.load(data) $persistant_data = contents[:persistant_data] end return true end #-------------------------------------------------------------------------- # * Load Persistant Database #-------------------------------------------------------------------------- def self.persistant_database_file_name return Customization_PersistantData::File_Name end #-------------------------------------------------------------------------- # * Determine Existence of Save File #-------------------------------------------------------------------------- def self.persistant_data_file_exists? FileTest.exist?(persistant_database_file_name) end #-------------------------------------------------------------------------- # * Execute Save #-------------------------------------------------------------------------- def self.save_persistant_data File.open(persistant_database_file_name, "wb") do |data| contents = {} contents[:persistant_data] = $persistant_data Marshal.dump(contents, data) end return true end #-------------------------------------------------------------------------- # * Execute Load #-------------------------------------------------------------------------- def self.load_game(index) if dmlg064561316546005(index) load_persistant_data return true else return false end end #-------------------------------------------------------------------------- # * Execute Save (No Exception Processing) #-------------------------------------------------------------------------- def self.save_game_without_rescue(index) dmsgwr4654651321658(index) save_persistant_data return true end end #============================================================================== # ** Persistant DataManager #------------------------------------------------------------------------------ # This module manages the database and game objects. Almost all of the # global variables used by the game are initialized by this module. #============================================================================== module Persistant_DataManager #-------------------------------------------------------------------------- # * Sets Database to New Data #-------------------------------------------------------------------------- def self.set(data_type, data) $persistant_data[data_type] = data DataManager.save_persistant_data end #-------------------------------------------------------------------------- # * Database Exsists #-------------------------------------------------------------------------- def self.exsists?(data_type) return $persistant_data.has_key?(data_type) end #-------------------------------------------------------------------------- # * Get Database #-------------------------------------------------------------------------- def self.get(data_type) return $persistant_data[data_type] end #-------------------------------------------------------------------------- # * Get Database #-------------------------------------------------------------------------- def self.save DataManager.save_persistant_data end #-------------------------------------------------------------------------- # * Adds Value to Database #-------------------------------------------------------------------------- def self.add(data_type, value) $persistant_data[data_type] += value DataManager.save_persistant_data end #-------------------------------------------------------------------------- # * Subtracts Value from Database #-------------------------------------------------------------------------- def self.subtract(data_type, value) $persistant_data[data_type] -= value DataManager.save_persistant_data end #-------------------------------------------------------------------------- # * Multiplies Value of Database #-------------------------------------------------------------------------- def self.multiply(data_type, value) $persistant_data[data_type] *= value DataManager.save_persistant_data end #-------------------------------------------------------------------------- # * Divides Value of Database #-------------------------------------------------------------------------- def self.divide(data_type, value) $persistant_data[data_type] /= value DataManager.save_persistant_data end #-------------------------------------------------------------------------- # * Pushes New Array to Database #-------------------------------------------------------------------------- def self.push(data_type, data) $persistant_data[data_type] = [] if $persistant_data[data_type].nil? $persistant_data[data_type].push data DataManager.save_persistant_data end #-------------------------------------------------------------------------- # * Deletes Array from Database #-------------------------------------------------------------------------- def self.delete(data_type, data) $persistant_data[data_type].delete(data) unless $persistant_data[data_type][data].nil? DataManager.save_persistant_data end end #============================================================================== # ** Scene_Title #------------------------------------------------------------------------------ # This class performs the title screen processing. #============================================================================== class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # * Aliasing Method: Start Processing #-------------------------------------------------------------------------- alias :sts654650464065465 :start #-------------------------------------------------------------------------- # * Start Processing #-------------------------------------------------------------------------- def start sts654650464065465 DataManager.load_persistant_data end end #============================================================================== # ** Game_Interpreter #------------------------------------------------------------------------------ # An interpreter for executing event commands. This class is used within the # Game_Map, Game_Troop, and Game_Event classes. #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # * Sets Database to New Data #-------------------------------------------------------------------------- def pro_set(data_type, data) Persistant_DataManager.set(data_type, data) end #-------------------------------------------------------------------------- # * Database Exsists #-------------------------------------------------------------------------- def pro_exsists?(data_type) Persistant_DataManager.exsists?(data_type) end #-------------------------------------------------------------------------- # * Get Database #-------------------------------------------------------------------------- def pro_get(data_type) Persistant_DataManager.get(data_type) end #-------------------------------------------------------------------------- # * Get Database #-------------------------------------------------------------------------- def pro_save Persistant_DataManager.save end #-------------------------------------------------------------------------- # * Adds Value to Database #-------------------------------------------------------------------------- def pro_add(data_type, value) Persistant_DataManager.add(data_type, value) end #-------------------------------------------------------------------------- # * Subtracts Value from Database #-------------------------------------------------------------------------- def pro_subtract(data_type, value) Persistant_DataManager.subtract(data_type, value) end #-------------------------------------------------------------------------- # * Multiplies Value of Database #-------------------------------------------------------------------------- def pro_multiply(data_type, value) Persistant_DataManager.multiply(data_type, value) end #-------------------------------------------------------------------------- # * Divides Value of Database #-------------------------------------------------------------------------- def pro_divide(data_type, value) Persistant_DataManager.divide(data_type, value) end #-------------------------------------------------------------------------- # * Pushes New Array to Database #-------------------------------------------------------------------------- def pro_push(data_type, data) Persistant_DataManager.push(data_type, data) end #-------------------------------------------------------------------------- # * Deletes Array from Database #-------------------------------------------------------------------------- def pro_delete(data_type, data) Persistant_DataManager.delete(data_type, data) end end