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
781 전투 Mr. Mo's ABS Ultimate by DerVVulfman Alkaid 2011.09.05 1438
780 온라인 Mr.Metring NPE 1.0 [RPG XP 온라인 스크립트] 35 아방스 2009.01.07 6535
779 전투 Mr.Mo's ABS Ultimate 2.6 by DerVVulfman Alkaid 2012.01.04 1820
778 전투 Mr.Mo's ABS Ultimate 3.4 by DerVVulfman Alkaid 2012.03.14 1803
777 전투 Mr.Mo's ABS Ultimate 7.0 by DerVVulfman 4 Alkaid 2012.08.26 2587
776 전투 Mr.mo's SBABS Lite 5 6 아방스마니아 2010.11.14 2947
775 전투 MrMo DVV Add-On #13: Tinuke's Smart Missiles 2 Alkaid 2011.01.24 1843
774 장비 Multi Equip 3.1.4 by Trickster (SDK2 호환, Method & Class Li… 4 file WMN 2008.04.06 1597
773 장비 Multi-equip script 2 file 백호 2009.02.21 1101
772 장비 Multi-equip script ver.6 by Guillaume777 4 file 백호 2009.02.22 1210
771 장비 Multi-equip script 노신버전 2 file 백호 2009.02.22 1129
770 온라인 Multi-Netplay Extended (신버전) 10 백호 2009.02.22 2864
769 온라인 Multi-Netplay Extended[구버전용] 3 백호 2009.02.22 2176
768 기타 Multiple Currencies(여러 개의 통화단위 사용) 2 백호 2009.02.22 1124
767 기타 Multiple Languages v2 by SephirothSpawn (SDK호환) file 백호 2009.02.22 1404
766 장비 Multislots! 2.1 by DerVVulfman 3 file Alkaid 2010.09.02 1537
765 장비 Multislots! 2.2 by DerVVulfman 4 file Alkaid 2011.02.18 1611
764 장비 MultiSlots! 2.4 by DerVVulfman 2 Alkaid 2011.09.05 1466
763 온라인 multy-netplay 로그인창에서 비밀번호를 ***표시해주는 script~! 1 백호 2009.02.22 1889
762 기타 My메세지(메세지 출력 스크립트) 1 file 백호 2009.02.22 1533
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 52 Next
/ 52