RMVXA

스크립트) 세이브 파일 저장시 삭제->저장 이 아니라 해당파일에 덮어씌우기 안되나요?

by 엽여비소엽 posted Jan 15, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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


 제곧내 인데,

 

 구글링을 통해 '러닝은빛'님의 자동세이브 스크립트를 사용하고있습니다.

자동 저장은 정상적으로 잘 작동하나, 대화등 특정 상황에서 세이브파일이 지워져있는채로 멈춰있고,

이후 대화를 종료하면 다시 파일이 생성되지만, 대화중 게임 종료 했을시에 나중에 다시 접속을 하면

대화이전 저장파일조차 없이 세이브파일 자체가 날아가버립니다.


스크립트를 전혀 몰라서 해결을 못하고있는데, DataManager 스크립트에서 찾아보니 파일삭제를 하는 항목이 있더라구요.

이부분을 덮어씌우는 명령어로 수정하면 해결될 문제가 아닐까 싶은데

혹시 도움좀 받을수 있을까요? 


이건 세이브/로드를 하면서 확률획득템시스템을 망치지 않기 위해 찾게된 스크립트인데,

혹시 특정 이벤트에 세이브창을 띄우지않고 즉시 파일을 저장하게 하는방법이 있다면 그걸 알려주셔도 좋습니다.

 

 

혹시몰라 첨부하는 러닝은빛님의 자동저장 스크립트

 

 =begin

이름 : 자동 저장 스크립트

작성자 : 러닝은빛

버전 : 1.0

=end

 

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

# module AUTO_SAVE

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

module AUTO_SAVE

TIME = 1;  #<이부분은 원래 15초로 게시하셨는데, 테스팅을 위해 제가 대폭 줄인값입니다.

SLOT = 0; 

end

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

# class Game_Map

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

class Game_Map

attr_reader   :first_save_time

attr_reader   :nnow_save_time

attr_reader   :anow_save_time

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

# 클래스 초기화

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

  alias ti_initialize initialize

  def initialize

  ti_initialize

  @first_save_time = (Time.now).to_i

  @nnow_save_time = (Time.now).to_i

  @anow_save_time = 1+(Time.now).to_i

  end

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

# 초시계 실시간 계산

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

  def up_counter

    @nnow_save_time = (Time.now).to_i

  end

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

# 초시계 리셋하기

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

  def set_counter

  @nnow_save_time = (Time.now).to_i

  @anow_save_time = AUTO_SAVE::TIME + (Time.now).to_i

  end

 

end

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

# class Game_Player

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

class Game_Player

  alias ti_update update

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

# 실시간으로 계산하기

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

  def update

    ti_update

    get_time

  end

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

# 초시계 동작

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

  def get_time

    if $game_map.nnow_save_time >= $game_map.anow_save_time + 1

      default_time

      $game_map.set_counter;

    else

      $game_map.up_counter;

    end

  end

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

# 저장하기

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

  def default_time

    DataManager.save_game(AUTO_SAVE::SLOT)

    $game_map.set_counter

  end

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

# 초시계 가져오기

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

  def time_now

    $game_map.nnow_save_time - $game_map.first_save_time

  end

end

 

 

■ 질문전 필독!
  • 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
  • 하나의 게시물에는 하나의 질문만 합니다.
  • 제목은 질문의 핵심 내용으로 작성합니다.
  • 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
  • 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
  • 답변받은 게시물은 삭제하지 않습니다.
  • 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
    • 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!

※ 미준수시 사전경고 없이 게시물을 삭제합니다.