질문과 답변

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 12460
RMXP 이벤트가 삭제되면 다른 이벤트가 발동하는 방법 2 절망했다 2010.10.31 1005
RMXP [Rmxp] 해상도 스크립트 추천 부탁드려요 2 '여우비 2013.11.30 1004
RMXP 제가 액알을 쓰는데 스킬이... 5 Toast 2011.01.15 1004
RMXP 캐릭터 배경색 2 file 린네 2013.11.23 1002
RMXP 엔딩을 본 다음에 새로 게임을 시작할 때 특정 변수만 보존할 수 있나요? 6 얍얍 2012.11.28 1002
RMXP 퀘스트만드는법 2 게임초초초초봉 2010.10.13 1001
RMXP 처음시작 할떄 1 오니다운중''' 2011.01.24 1000
RMXP 맵이름 스크립트의 표시를 사진표시보다 위로 하려면 어떻게 해야 하나요? 2 file 팥떡 2012.11.26 1000
기타 RMXP 게임화면 확대하는법 GAME중독 2019.09.20 999
RMXP 통합 맵칩같은 그래픽 소재 적용법 7 포레버아이둔 2013.06.23 998
RMXP rpg xp에서의 무한 루프맵... 포메란 2014.07.05 998
RMXP RPG 2000 캐릭터칩 적용 관련 질문 ㅠㅠㅠㅠㅠㅠ 1 file 히쥬 2014.08.19 998
RMXP Skill Shop 스크립트 선행스킬 판정 추가 방법 4 모모아이 2012.06.26 997
RMXP TCG게임을 만드려면 1 리버 2010.12.12 997
RMXP 죽었는데(hp:0) 게임오버도안뜨고 아무현상도없는경우 5 Haze~ 2013.09.01 997
RMXP rpgxp 연타스킬 만드는 법좀... 2 왕초메이커 2010.10.30 995
RMXP 배경음악 지속가능하게하는방법 있나요? 1 룰랄루루 2010.12.06 995
RMXP RPG XP 게임 시작하기 전에 안내문 만드는데 스크립트 사용에 대해 4 허곰탱 2014.03.04 993
RMXP 대화창의 색깔,그래픽 어떻게 바꾸나요 ? 1 포레버아이둔 2013.06.22 991
RMXP rpgxp 심각한 질문이요.ㅠㅠ 5 file 운운 2013.11.28 990
Board Pagination Prev 1 ... 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 90 Next
/ 90