질문과 답변

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
RMXP 전투 도중에 몇턴지나면 캐릭터가 아무것도 안해요. 3 닉넴크 2012.12.22 762
RMXP 턴알피지에서 맨손으로 때릴 때 타격음 집어넣는 방법. 2 아미상 2012.12.20 760
RMXP 스크립트 함수처리(?) 관련 질문 6 Lighna 2012.12.19 641
RMXP 이런 현상은 도대체 왜 일어나는거죠? 5 file 초록곰돌이 2012.12.17 719
RMXP 몬스터 랑 장 만들때 1 상큼한똥 2012.12.17 703
RMXP 스크립트 에디터에서 정해진 수치를 다양하게 변경할수 있는 방법(?)에 관해서 질문합니다 1 브라우니 2012.12.13 846
RMXP 준돌님의 메세지 뛰우기 스크립트 수정좀 도와주세요. 7 브라우니 2012.12.12 782
RMXP 커서(↓)키를 누르고 있지도 않은데, 액터가 혼자 계속 움직입니다. 6 하진 2012.12.10 871
RMXP 선택지 박스 질문 1 file 뮤러 2012.12.09 770
RMXP 일정시간 타이머 작동 1 bluesu1004 2012.12.09 862
RMXP 스크립트에서 Fixnum 형태를 String 형태로 바꾸는 방법 1 겨울별 2012.12.05 703
RMXP 문장에 사진이나 이름 넣기 7 bluesu1004 2012.12.04 842
RMXP 가지고 있던 아이템,스킬,장비 모조리 압수 1 CJYG* 2012.12.02 1136
RMXP 엔딩을 본 다음에 새로 게임을 시작할 때 특정 변수만 보존할 수 있나요? 6 얍얍 2012.11.28 1002
RMXP 아이템 사용에 대한 질문 3 임맹 2012.11.27 923
RMXP 맵이름 스크립트의 표시를 사진표시보다 위로 하려면 어떻게 해야 하나요? 2 file 팥떡 2012.11.26 1000
RMXP 데미지 계산에 대하여... 5 아드니엘 2012.11.25 1076
RMXP rmxp 애니메이션 랙을 줄여주는 스크립트 질문.. Lighna 2012.11.23 768
RMXP xp역전 검사처럼 로직체스 구현중 막힘.. 도와주세요 5 아이리수 2012.11.22 1070
RMXP 스위치 문제 2 오늘밤어때 2012.11.15 689
Board Pagination Prev 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 90 Next
/ 90