기타

암울한스크립트? 엔딩후 캐릭터 이어서 새로운 게임시작 스크립트

by *ps인간 posted Jan 26, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

#==============================================================================
# ■ 강해서 뉴 게임 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