#=============================================================================== # ◆ 바로 | 저장 | 불러오기 | #=============================================================================== # Just.load | Just.save #=============================================================================== class Just def self.init # 세이브 파일 @file = "Save.rxdata" # 변수번호 @variables = 100 end #=============================================================================== # ■ 불러오기 #=============================================================================== def self.load init # 초기화 data if $game_system == nil # 데이타 베이스 game if $game_temp == nil # 게임 unless FileTest.exist? (@file.to_s) save # 생성 & 저장 end $game_temp = Game_Temp.new file = File.new(@file.to_s, 'rb') characters = Marshal.load(file) Graphics.frame_count = Marshal.load(file) $game_system = Marshal.load(file) $game_switches = Marshal.load(file) $game_variables = Marshal.load(file) $game_self_switches = Marshal.load(file) $game_screen = Marshal.load(file) $game_actors = Marshal.load(file) $game_party = Marshal.load(file) $game_troop = Marshal.load(file) $game_map = Marshal.load(file) $game_player = Marshal.load(file) if $game_system.magic_number != $data_system.magic_number $game_map.setup($game_map.map_id) $game_player.center($game_player.x, $game_player.y) end $game_party.refresh file.close $game_system.bgm_play($game_system.playing_bgm) $game_map.update if $game_variables[@variables] != 1 File.delete(@file.to_s) print "변조된 세이브 파일입니다. 자동 제거하겠습니다." return exit! end $scene = Scene_Map.new end #=============================================================================== # ■ 저장 #=============================================================================== def self.save init # 초기화 data if $game_system == nil # 데이타 베이스 game if $game_temp == nil # 게임 file = File.open(@file.to_s, "wb") characters = [] for i in 0...$game_party.actors.size actor = $game_party.actors[i] characters.push([actor.character_name, actor.character_hue]) end Marshal.dump(characters, file) Marshal.dump(Graphics.frame_count, file) $game_system.save_count += 1 $game_variables[@variables] = 1 $game_system.magic_number = $data_system.magic_number Marshal.dump($game_system, file) Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, file) Marshal.dump($game_screen, file) Marshal.dump($game_actors, file) Marshal.dump($game_party, file) Marshal.dump($game_troop, file) Marshal.dump($game_map, file) Marshal.dump($game_player, file) file.close end #=============================================================================== # ■ 데이타베이스 #=============================================================================== def self.data $data_actors = load_data("Data/Actors.rxdata") $data_classes = load_data("Data/Classes.rxdata") $data_skills = load_data("Data/Skills.rxdata") $data_items = load_data("Data/Items.rxdata") $data_weapons = load_data("Data/Weapons.rxdata") $data_armors = load_data("Data/Armors.rxdata") $data_enemies = load_data("Data/Enemies.rxdata") $data_troops = load_data("Data/Troops.rxdata") $data_states = load_data("Data/States.rxdata") $data_animations = load_data("Data/Animations.rxdata") $data_tilesets = load_data("Data/Tilesets.rxdata") $data_common_events = load_data("Data/CommonEvents.rxdata") $data_system = load_data("Data/System.rxdata") $game_system = Game_System.new end #=============================================================================== # ■ 게임 #=============================================================================== def self.game Graphics.frame_count = 0 $game_temp = Game_Temp.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_screen = Game_Screen.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new $game_party.setup_starting_members $game_map.setup($data_system.start_map_id) $game_player.moveto($data_system.start_x, $data_system.start_y) $game_player.refresh $game_map.autoplay $game_map.update end end