XP 스크립트

#==============================================================================
# ◆심플 세이브&로드 개조
# www.ac.cyberhome.ne.jp/~daydream/
#==============================================================================
# 설명
#  필요에 따라 여러 개의 세이브 데이터를 만들고 불러올 수 있는 스크립트입니다.
#  세이브, 로드시에 윈도우는 나타나지 않습니다.
#==============================================================================
# 변경해야 할 것
# Window_SaveFile의 22행의 @filename = "Save#{@file_index + 1}.rxdata" 를
# @filename = "Save#{$game_variables[숫자]}.rxdata"로 바꿔주세요.
#==============================================================================
class Scene_Save
  #--------------------------------------------------------------------------
  # ● 메인 처리
  #--------------------------------------------------------------------------
  def main
    # 데이타베이스를 로드
    file = File.open("SaveData#{$game_variables[숫자]}.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_Map.new 
  end
end


#==============================================================================
# ■ Scene_Load
#------------------------------------------------------------------------------
#  로드의 처리를 실시하는 클래스입니다.
#==============================================================================

class Scene_Load
  #--------------------------------------------------------------------------
  # ● 메인 처리
  #--------------------------------------------------------------------------
  def main
    # 로드 SE(을)를 연주
    $game_system.se_play($data_system.load_se)
    # 데이타베이스를 로드
    file = File.open("SaveData#{$game_variables[숫자]}.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

 

↑ 위의 end 부분까지 복사해주세요.

------------------------------------------------------------------------------------------

 

백호님이 올리신 심플 세이브&로드 스크립트를 개조했습니다.

출처는 www.ac.cyberhome.ne.jp/~daydream/ 인데 2011년 2월 24일 기준 접속이 되질 않고 있습니다.

남이 제작한 것을 개조하는 일 자체가 나쁜 일이지만 먄악이라도 필요하신 분이 계실까봐 올려봅니다.

혹시라도 스크립트를 제작하신 분께서 문의를 하신다면(.. 있을리는 없겠지만) 삭제하겠습니다.

 

 

※ 사용법

 

1. 위의 스크립트 내용 $game_variables[숫자] 부분에서 "숫자"에 원하는 수를 넣으면 게임상에 있는 변수로

    세이브 슬롯을 설정할 수 있습니다.

                                                   Ex) 1번 변수가 1이라면, 1번 슬롯의 데이터를 저장하거나 불러올 수 있음

2. 자신이 원하는 때에 이벤트 → 스크립트$scene = Scene_Save.new 를 넣으면 세이브가,

                                                               $scene = Scene_Load.new 를 넣으면 로드가 실행됩니다.

3. 만약 세이브 파일이 저장되지 않은 슬롯을 로드할 경우 에러가 발생하여 자동으로 게임이 꺼집니다.

4. 이 스크립트는 타이틀 화면에서의 로드 기능을 지원하지 않으니 타이틀 화면을 직접 만든 다음

   이벤트 → 스크립트를 사용해서 직접 불러오시는 것을 추천합니다.

 

 

 

PS. 예제를 올리고 싶어도 첨부용량이 부족해서 올리지 못했습니다.

      혹시라도 필요하신 분은 이 곳에 업로드하는 방법을 가르쳐주세요. << 일일히 보내드릴 수가 없어요

 

 

Comment '5'
  • profile
    빠삐코선장 2011.05.24 20:52

    감사합니다

  • ?
    베넘 2011.07.11 06:51

    우와~ 멋지네요. 감사합니다. +_+

  • ?
    베넘 2011.07.12 08:33

      로드 처리하는 부분의

    def main  밑에다가

    ==================================================

     

         name = "SaveData#{$game_variables[숫자]}.rxdata"

          unless FileTest.exist?(name)
                $game_system.se_play($data_system.buzzer_se)
                $game_map.update
                $scene = Scene_Map.new
               return
             end

    ====================================================

    ↑이렇게 넣으면 적어도 오류나서 꺼지는 건 막을 수 있습니다.

    파일이 없다는 문장같은 걸 띄워보려고 삽질했는데 거기까진 못하네요. ㅜㅜ

  • ?
    나렌시아 2011.07.22 14:39

    에고.. 이렇게 직접 시간을 들여서 만들어주시다니..

    정말 감사합니다 ~ ♪

    경고메시지는 기본 RPG 스크립트 참고하면 만들 수 있을 것기도 하네요.

  • ?
    Amaster 2011.12.19 22:32

    흐음....스크립트에서 타이틀에서 콘티뉴에서 설정을

    센스_로드.뉴로 바꾸고 하니깐 에러가 뜨내요 역시

    근데 게임을 한번 시작하고 Load 시킨다음 타이틀로 돌아가서

    그 상태로 로드하면 에러가 안납니다...

    아마 변수가 저장되있어서 그런가..? 으악 어려워!


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
34 저장 [ AutoSave ]오토세이브, 뜻 그대로 자동저장스크립트 17 file 제로스S2 2009.08.06 3694
33 저장 세이브파일 망가뜨리기 by RPG Advocate 3 백호 2009.02.22 2657
32 저장 렉없은 자동 세이브 15 알피지GM 2010.03.07 2326
» 저장 심플 세이브&로드 개조(필요할 때 원하는 슬롯에 자동저장) 5 나렌시아 2011.02.24 2291
30 저장 멀티넷스크립트 -> 아이피 세이브,로드 스크립트 9 file 백호 2009.02.22 2204
29 저장 링메뉴에 빠져 봅시다 - 링메뉴의 세이브시 팅김이 사라지는 방법 !! 3 file 백호 2009.02.21 1998
28 저장 렉없는 자동세이브(중복임??) 4 캉쿤 2011.09.12 1986
27 저장 Improved Save by gerrtunk 2 file Alkaid 2010.10.13 1983
26 저장 심플 세이브 로드(1개의 세이브 사용하기) 3 백호 2009.02.22 1971
25 저장 세이브 & 로드 화면 개조 스크립트 file 백호 2009.02.21 1961
24 저장 KGC_2PaneSave 15 file 키라링 2009.01.23 1868
23 저장 [KGC]_2PaneSave 스크립트 1 file 백호 2009.02.22 1655
22 저장 ASM - Advanced Save Menu 3 file 백호 2009.02.21 1639
21 저장 렉없는 자동세이브 스크립트 2 백호 2009.02.22 1590
20 저장 Chaos Project Save Layout 1.4 by Fantasist, Blizzard file Alkaid 2010.10.08 1558
19 저장 Advanced Save System Edit (현재 맵을 보여주지 않음) file 백호 2009.02.22 1557
18 저장 세이브 슬롯 갯수 증가와 세이브 덮어씌울 때 확인 by RPG Advocate 5 백호 2009.02.22 1505
17 저장 키라링님이 올리신 [KGC_2PaneSave] 번역 1 무뇌인 2010.08.18 1471
16 저장 자동 세이브 스크립트 4 WMN 2008.03.17 1470
15 저장 [신기술 체험] 데이터 저장 6 file 백호 2009.02.22 1420
Board Pagination Prev 1 2 Next
/ 2