Created
August 1, 2012 07:32
-
-
Save rutan/3224577 to your computer and use it in GitHub Desktop.
セーブデータ保存場所変更さん for RGSS3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
#=============================================================================== | |
# ■ セーブデータ保存場所変更さん for RGSS3 | |
# ※ このスクリプトは「HZM_VXAベーススクリプトさん for RGSS3」が必要です | |
#------------------------------------------------------------------------------- | |
# 2012/11/14 Ru/むっくRu | |
#------------------------------------------------------------------------------- | |
# セーブデータの保存場所をWindowsのAppDataディレクトリに変更します. | |
#------------------------------------------------------------------------------- | |
# 【もうちょっと詳しい解説】 | |
# セーブデータの保存先にWindowsが用意している | |
# AppDataというフォルダに保存するようにします. | |
# これにより,Windowsのログインユーザ毎に別の場所にデータが保存されるので, | |
# 同じPCを複数の人が使っている場合でも, | |
# セーブデータが別に管理されるようになります. | |
# | |
# WindowsのAppDataフォルダは以下の場所です | |
# [Windows Vista,7 の場合] | |
# C:\Users\<ユーザ名>\AppData\Roaming | |
# [Windows XP の場合] | |
# C:\Documents and Settings\<ユーザ名>\Application Data | |
#------------------------------------------------------------------------------- | |
# 【オマケ機能】 | |
# AppDataにセーブを保存したくない場合もあるので, | |
# (例:他人のPC,ネットカフェでプレイする場合 など) | |
# その場合は,game.iniの末尾に | |
=begin | |
↓ ここから ↓ | |
[SaveDir] | |
NoAppData=1 | |
↑ ここまで ↑ | |
=end | |
# 上の2行を追加することで,通常通りの保存先になります. | |
# 配布するときにReadmeあたりに書いておくといいと思います. | |
#------------------------------------------------------------------------------- | |
# 【更新履歴】 | |
# 2012/11/14 保存済みが認識できなかったのを修正 | |
# 2012/08/01 ぶっぱ | |
#------------------------------------------------------------------------------- | |
#=============================================================================== | |
# ● 設定項目 | |
#============================================================================== | |
module HZM_VXA | |
module SaveDir | |
# ● 保存するフォルダの名前(半角英数字のみ) | |
# ※他のアプリケーションと被らないようにしてください | |
DIR_NAME = "TorigoyaTxt_Sample" | |
end | |
end | |
#=============================================================================== | |
# ↑ ここまで設定 ↑ | |
# ↓ 以下、スクリプト部 ↓ | |
#=============================================================================== | |
raise '「HZM_VXAベーススクリプトさん for RGSS3」が必要です' unless defined?(HZM_VXA::Base) | |
raise '「HZM_VXAベーススクリプトさん for RGSS3」のバージョンが異なります' unless HZM_VXA::Base.check_version?('2.1.0') | |
module HZM_VXA | |
module SaveDir | |
#--------------------------------------------------------------------------- | |
# ● 保存先の取得 | |
#--------------------------------------------------------------------------- | |
def self.save_dir | |
dir = use_appdata? ? | |
"#{HZM_VXA::Base.appdata_path}/#{HZM_VXA::SaveDir::DIR_NAME}" : | |
save_dir_current | |
HZM_VXA::Base.mkdir_p(dir) | |
dir.gsub("\\", '/') | |
end | |
#--------------------------------------------------------------------------- | |
# ● 保存先にAppDataを使用するか? | |
#--------------------------------------------------------------------------- | |
def self.use_appdata? | |
HZM_VXA::Ini.load("SaveDir", "NoAppData").to_i == 0 | |
end | |
#--------------------------------------------------------------------------- | |
# ● 保存先:AppDataを使用しない場合 | |
#--------------------------------------------------------------------------- | |
def self.save_dir_current | |
"./" | |
end | |
end | |
end | |
module DataManager | |
#-------------------------------------------------------------------------- | |
# ● セーブファイルの存在判定(再定義) | |
#-------------------------------------------------------------------------- | |
def self.save_file_exists? | |
!Dir.glob("#{HZM_VXA::SaveDir.save_dir}/Save*.rvdata2").empty? | |
end | |
end | |
class << DataManager | |
#-------------------------------------------------------------------------- | |
# ● ファイル名の作成 | |
# index : ファイルインデックス | |
#-------------------------------------------------------------------------- | |
alias hzm_vxa_saveDir_make_filename make_filename | |
def make_filename(index) | |
"#{HZM_VXA::SaveDir.save_dir}/#{hzm_vxa_saveDir_make_filename(index)}" | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment