질문과 답변

Extra Form



안녕하세요, 아방스 회원님들. 한 가지 여쭤보고 싶은 게 있어서 글을 쓰게 되었습니다.

다름이 아니라 제목에 있는 것처럼 엔딩을 본 다음에 새로 게임을 시작할 때 특정 변수만 보존하는 것이 가능한지 알고 싶어서 글을 올리게 되었습니다. 



#==============================================================================

# ■ 강해서 뉴 게임 Ver. 1.1 by Claimh

#------------------------------------------------------------------------------

#   게임 완료시의 데이터를 계승하고, 최초부터 시작할 수 있다.

#   (주) 강해서 뉴 게임 판정용의 스윗치 이외는 모두 초기화됩니다 

#   (강해서 뉴 게임을 판정시키는 플래그만 ON가 된다)

#   변수도 모두 초기화됩니다

#   액터 상태만 계승합니다. 

#==============================================================================


class Scene_Load < Scene_File

  #  강해서 뉴 게임 판정 스윗치 

  RENEW_GAME = 10

  # 강해서 뉴 게임 발생 후 , 강해서 뉴 게임을 판정시키는 플래그 

  RENEW_GAME_FLG = 11

  #--------------------------------------------------------------------------

  # ● 결정시의 처리

  #--------------------------------------------------------------------------

  def on_decision(filename)

    # 파일이 존재하지 않는 경우 

    unless FileTest.exist?(filename)

      # 버저 SE 를 연주 

      $game_system.se_play($data_system.buzzer_se)

      return

    end

    # 로드 SE 를 연주

    $game_system.se_play($data_system.load_se)

    # 세이브 데이터의 기입해 

    file = File.open(filename, "rb")

    read_save_data(file)

    file.close

#-----------

    # 강해서 뉴 게임 발동 

    if $game_switches[RENEW_GAME]

      # 초기화

      $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_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

      # 맵으로 설정되어 있는 BGM 과 BGS 의 자동 바꾸고를 실행 

      $game_map.autoplay

      #  맵을 갱신 (병렬 이벤트 실행) 

      $game_map.update

      # 강해서 뉴 게임한 증거를 남기는

      $game_switches[RENEW_GAME_FLG] = true

      # 맵 화면으로 전환하고

      $scene = Scene_Map.new

      return

    end

#-----------

    # BBGM,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



검색을 해보니까 위에 있는 것처럼 엔딩 후 캐릭터를 이어서 시작할 수 있는 스크립트라는 게 나왔는데, 이건 변수나 스위치는 모두 초기화 되고 액터의 상태만 보존되는 것이더라구요ㅠㅠ 저는 모두 초기화 되고 딱 한 가지 변수만 초기화 되지 않기를 원하거든요... 이게 가능한 것인지, 혹시 가능하다면 어떤 방법을 써야 되는지 알고 싶습니다. 답변해주시면 정말로 감사드리겠습니다ㅠㅠ 날씨가 많이 추워졌는데 건강 조심하세요~! 



Comment '6'
  • ?
    탐험가 2012.11.29 19:22
    $game_variables = Game_Variables.new
    이 줄 앞에 #를 붙여보세요. 이렇게
    #$game_variables = Game_Variables.new

    변수 초기화하는 코드를 코멘트로 바꿔주어 변수 초기화가 되지 않게 됩니다.
  • ?
    얍얍 2012.11.29 19:25
    그렇게 하면 모든 변수가 초기화 되지 않는 것 아닌가요? 저는 변수 중에서 한 가지 변수만 초기화를 시키고 싶지 않은 것입니다.
  • ?
    탐험가 2012.11.29 19:35
    @저장변수 = $game_variables[특정변수].clone
    $game_variables = Game_Variables.new
    $game_variables[특정변수] = @저장변수

    이렇게 한 번 해보세요. clone 메소드가 먹힐지는 모르겠네요. 실험을 안해봐서.
  • ?
    탐험가 2012.11.29 20:15
    $game_variables = contents[:variables]
    @저장변수 = $game_variables[1]#.clone
    p @저장변수
    $game_variables = $game_switches[10] ? Game_Variables.new : contents[:variables]
    $game_variables[4] = @저장변수#.clone
    p @저장변수

    XP는 모르겠고 VX Ace에서는 데이터 매니저의 익스트랙트 세이브 콘텐츠에 게임 베리블을 이걸로 바꾸면 됩니다. 엔딩 후에 해당 파일로 로드하면 변수가 한 변수 외에는 모든 변수가 초기화됩니다. 위에서는 4번 변수를 초기화하지 않았습니다. 스트링이기 때문에 클론 메소드를 쓰면 안되는군요.
  • ?
    하진 2012.12.01 02:02
    XP에서 확실히 되는 스크립트가 있습니다. 전에 KRC? RKC?...라고 네이버카페 아시죠... 거기에 FPG란 닉 쓰시던 분이 '세이브파일끼리 스위치&변수 공유하는 스크립트' 찾는 질문글에 답변으로 직접 짜서 올려주신 게 있었어요. 모든 세이브파일에서 참조하는 세이브파일...? 이라고 했던가?
    제가 예전에 받아서 커스텀해서 쓰고 있는거 긁어 드리고 싶은데 수정재배포를 막 하기도 좀 그래서;; 카페 가셔서 검색한번 해보심 뙇 나올 거예요.
  • ?
    에헤헤 2012.12.03 19:49
    감사합니다!

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12451
RMVXA 쯔꾸르창이 전체화면으로 됩니다... 4 마맨 2014.01.11 29573
에러 해결 RMMV NW.js 프로필 오류 해결법 아시는분 있나요? 2 file MSM 2019.03.05 19169
기타 RPG만들기로 만든 게임은 에디트를 사용못하나요? 5 키키두두키 2011.10.09 13477
RMVXA 요즘 혜성 같이 나타난 RPG VX ACE 치트오메틱에 대해서입니다. 1 g223k 2013.04.10 11977
RMVXA RPG VX ACE 에서 조작키 바꾸는 법 3 째워잉 2013.08.17 10848
RMVX RGSS202.dll좀 주실분 2 알피지매니아스 2010.11.14 10518
RMVX RVDATA2 파일은 어떤 프로그램으로 열어야하나요? 2 글쓰니안쓰니 2013.03.28 10133
RMVX rpgvx계 게임을 받았는데 1 하구하구 2010.11.08 9686
RM2k3 2003 그래픽 (캐릭터,몬스터) xp에서도 사용 가능 하나요? 2 마우리 2012.03.20 8895
RMVX 대화창 스킵하는법 6 kaisis 2013.05.06 8721
RMVXA RPG VX ACE 윈도우 7유저의 한글 깨짐 현상. 3 kila233 2012.07.07 8630
RMVX RGSS202E.dll 이 없어요.. 어디서 구하죠? 2 C1님 2011.04.18 8103
RMVX RPGVX 오류(?) 2 『호┠심』군 2010.12.01 8061
RMVXA RPG만들기 VX ACE 이거에서 rgss3a파일 어떻게 열어요? 2 시에마 2013.07.28 7914
한글이 네모로 뜨며 깨집니다.(해결!) 4 file 꺄훌 2012.11.19 7842
기타 rvdata2 확장자는 무슨 제작툴을 쓴건가요? 6 식인곰푸 2014.06.17 7781
RMMV ~~.rpgmvp가 뭔가요? 2 file 무슨상관이라도 2016.08.25 7393
기타 사이트 이용 사운드 소재 란에 있는 사운드/효과음 소재들은 써도 되는 건가요? 2 jojiwell 2019.11.30 7384
RMVX 뱀파이어 액알에서 Die Self Switch A 어떻게 사용하는 건가요? 3 닉네임은2와20 2012.01.16 7269
RMVX 애니메이션 한 프레임당 초가 몇인지 알고싶습니다. 4 톰소여동생 2012.06.29 7185
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 516 Next
/ 516