질문과 답변

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 12456
RMXP 스토리 나오게 하는 법 6 노블레스 2011.02.17 739
RMXP MP를 화면 오른쪽아래에 표시하고싶습니다^^ 4 바흐 2014.03.05 739
RMXP RPG XP 기본 전투때 무기를 안끼면 공격력이 0이에요. 1 아미상 2010.12.14 741
RMXP 스킬 호빵맨 2011.02.23 741
RMXP 전체키 스크립트가 잘 안돼요 1 Rpgxp팬~ 2013.07.03 741
RMXP 퀘스트 할때 1 나랑관계없다 2014.01.15 741
RMXP alias가 뭐에요?... 1 코아 코스튬 2010.10.29 743
RMXP 구 버젼의 허물을 벗고 2 겔럭시 안드로메다 2011.02.09 743
RMXP 케릭터가 가만히 있을 때 움직이게 하는방법 2 하얀솜털 2012.10.15 743
RMXP XP상에서 타일셋 전환을 가능하게 하는 스크립트가 있나요? 1 칸타모 2012.08.12 744
RMXP 프로젝트 안에 BGM이 재생되지 않습니다 4 이룩 2014.01.22 744
RMXP 이 스크립트의 동료 따라오기가 제대로 적용되지 않아요. file 길고냥이 2013.07.14 745
RMXP 스크립트 오류 질문입니다. file 레모네이드립톤 2013.10.29 746
RMXP XAS에서 몬스터 수정법 올려주세요. 4 아방스타르 2010.12.14 746
RMXP xp안움직여저요 10 2014.02.04 746
RMXP 한 맵에 2개의 맵칩을 사용할수는없나여?? 1 떠오르는게없다 2014.03.31 746
RMXP 스킬에 관해서.. zozgga 2010.09.22 747
RMXP 타일문제.. 2 미노 2010.10.28 747
RMXP 캐릭터와 몬스터 HP늘리는방법 1 아오오에 빠진사람 2010.11.15 747
RMXP 테스트 플레이 도중 1 Hsik 2010.12.11 748
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