#==============================================================================
# ◆심플 세이브&로드 ver.1.0
# www.ac.cyberhome.ne.jp/~daydream/
#==============================================================================
# 설명
# 세이브 데이터를 하나 밖에 만들 수 없게 하는 스크립트입니다.
# 세이브, 로드시에 윈도우는 나타나지 않습니다.
#==============================================================================
# 변경해야 할 것
# Scene_Title 의 49행목의 if FileTest.exist?("Save#{i+1}.rxdata") 를 찾아서
# ("Save#{i+1}.rxdata")를 ("SaveData.rxdata")로 바꾸어 주세요.
#==============================================================================
class Scene_Save
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
def main
# 데이타베이스를 로드
file = File.open("SaveData.rxdata", "wb")
# 데이터를 씁니다.
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
# 이벤트로부터 불려 가고 있는 경우
if $game_temp.save_calling
# 세이브 호출 플래그를 클리어
$game_temp.save_calling = false
# 맵 화면으로 전환해
$scene = Scene_Map.new
return
end
# 메뉴 화면으로 전환해
$scene = Scene_Menu.new(4)
end
end
#==============================================================================
# ■ Scene_Load
#------------------------------------------------------------------------------
# 로드의 처리를 실시하는 클래스입니다.
#==============================================================================
class Scene_Load
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
def main
# 로드 SE(을)를 연주
$game_system.se_play($data_system.load_se)
# 데이타베이스를 로드
file = File.open("SaveData.rxdata", "rb")
# 데이터를 읽어들입니다.
$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
# BGM,BGS (을)를 복귀
$game_system.bgm_play($game_system.playing_bgm)
$game_system.bgs_play($game_system.playing_bgs)
# 맵을 갱신 (병렬 이벤트 실행)
$game_map.update
# 맵 화면으로 전환해
$scene = Scene_Map.new
end
end
# 반드시 변경해줘야 할 것을 변경하시고 사용하시기 바랍니다.
# 테스트는 해보지 않았으므로 오류가 발생할 가능성이 있습니다.
# ◆심플 세이브&로드 ver.1.0
# www.ac.cyberhome.ne.jp/~daydream/
#==============================================================================
# 설명
# 세이브 데이터를 하나 밖에 만들 수 없게 하는 스크립트입니다.
# 세이브, 로드시에 윈도우는 나타나지 않습니다.
#==============================================================================
# 변경해야 할 것
# Scene_Title 의 49행목의 if FileTest.exist?("Save#{i+1}.rxdata") 를 찾아서
# ("Save#{i+1}.rxdata")를 ("SaveData.rxdata")로 바꾸어 주세요.
#==============================================================================
class Scene_Save
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
def main
# 데이타베이스를 로드
file = File.open("SaveData.rxdata", "wb")
# 데이터를 씁니다.
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
# 이벤트로부터 불려 가고 있는 경우
if $game_temp.save_calling
# 세이브 호출 플래그를 클리어
$game_temp.save_calling = false
# 맵 화면으로 전환해
$scene = Scene_Map.new
return
end
# 메뉴 화면으로 전환해
$scene = Scene_Menu.new(4)
end
end
#==============================================================================
# ■ Scene_Load
#------------------------------------------------------------------------------
# 로드의 처리를 실시하는 클래스입니다.
#==============================================================================
class Scene_Load
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
def main
# 로드 SE(을)를 연주
$game_system.se_play($data_system.load_se)
# 데이타베이스를 로드
file = File.open("SaveData.rxdata", "rb")
# 데이터를 읽어들입니다.
$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
# BGM,BGS (을)를 복귀
$game_system.bgm_play($game_system.playing_bgm)
$game_system.bgs_play($game_system.playing_bgs)
# 맵을 갱신 (병렬 이벤트 실행)
$game_map.update
# 맵 화면으로 전환해
$scene = Scene_Map.new
end
end
# 반드시 변경해줘야 할 것을 변경하시고 사용하시기 바랍니다.
# 테스트는 해보지 않았으므로 오류가 발생할 가능성이 있습니다.