イベントコマンド

 2011-04-03
VXってXPと比べるとイベントコマンドで
いろいろできるようになったらしいけど、
「変数の操作」の「操作する変数」に「Nの番号の変数」が
復活しなかったからスクリプト使わないと自作システムは作れないよね。

でさ、VXのオペランドってとこに「スクリプト」って項目欲しかったね。
こんな感じで。
SS1104022130008.png
色も変わるし見分けやすくなるのにね。

◆◇◆◇◆◇◆◇◆◇


> 1つ質問があるのですが、Cacao Base Script
の一部をコピーして、自分のスクリプト開発に活用してはいけませんか?

ベーススクリプトも素材なんで自由に改変して使っていただいて構いませんよ。


◆◇◆◇◆◇◆◇◆◇


セーブファイルの場所を変更するのは、
セーブとロードするファイル名を変更するだけでできないかな?
デフォルトならこんな感じだろうか。
特殊ディレクトリを取得する必要があるので、このスクリプトを導入してください。
# セーブフォルダのパスを定義
DIR_SAVE = "#{DirEx.psf(DirEx::PERSONAL)}/Tkool Games/"\
"#{load_data("Data/System.rvdata").game_title}"

# フォルダが無ければ作成
DirEx.mkdir(DIR_SAVE) unless FileTest.directory?(DIR_SAVE)

class Scene_Title
#--------------------------------------------------------------------------
# ○ コンティニュー有効判定
#--------------------------------------------------------------------------
def check_continue
@continue_enabled = (Dir.glob("#{::DIR_SAVE}/Save*.rvdata").size > 0)
end
end

class Scene_File
#--------------------------------------------------------------------------
# ○ ファイル名の作成
# file_index : セーブファイルのインデックス (0~3)
#--------------------------------------------------------------------------
def make_filename(file_index)
return "#{::DIR_SAVE}/Save#{file_index + 1}.rvdata"
end
end

『<拡張> セーブ画面』を使っているならこうかな?
class Scene_File
# セーブフォルダのパスを定義
SAVE_DIRECTORY = "#{DirEx.psf(DirEx::PERSONAL)}/Tkool Games/"\
"#{load_data("Data/System.rvdata").game_title}"
# フォルダが無ければ作成
DirEx.mkdir(SAVE_DIRECTORY) unless FileTest.directory?(SAVE_DIRECTORY)
end
※ 搭載されている Ruby のバージョンでは、Dir.glob が日本語に対応していないようです。
フォルダ名に日本語ゲームタイトルを使う場合は、
Scene_Title#check_continue で DirEx.glob を使用してください。


上の2つの例では、
[My Documents]/Tkool Games/[ゲームタイトル] というフォルダに保存してます。
上書き確認とかされないので、名前が被らないように注意してください。


セーブフォルダのパスには日本語が使えないので、数値に変換してみたり
直接、半角英数字を使ってフォルダ名を決めた方がいいかもしれません。
list = load_data("Data/System.rvdata").game_title.unpack("C*")
"#{DirEx.psf(DirEx::PERSONAL)}/Tkool Games/#{sprintf("%X"*list.size, *list)}"
# [My Documents]/Tkool Games/8351815B8380835E83438367838B
というか、直入力推奨です。余計な処理も必要なくなりますし。
"#{DirEx.psf(DirEx::PERSONAL)}/Tkool Games/Game Title"
# [My Documents]/Tkool Games/Game Title

フォルダの階層を作っているのは、複数のゲームでセーブ場所を変更したときに
マイドキュメント内がごちゃごちゃならないようにするためです。
最低でもこのくらいの階層は必要だと思います。
コメント




 

 ※ コメント内にURLを含めるには、バッククォート(`)をURLの直前に付け加えてください。


管理人のみ閲覧許可 [?]

管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/16 18:44】 | | [編集]
もしかして、ゲームタイトルに日本語使ってます?

調べてみたところ、ツクールに搭載されている Ruby 1.8.1 では
Dir.glob がマルチバイト文字に対応していないようです。

セーブフォルダのパスのゲーム名のところを適当な
半角英数字にしてもらうと解決するかもしれません。

例えば、
"#{load_data("Data/System.rvdata").game_title}"
というところを
"MyGame"
と変更してみてください。
【2011/04/11 23:32】 | CACAO | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/11 15:55】 | | [編集]
他に何かスクリプトを入れているからではないですか?
そうでないなら、Data フォルダ内の Scripts.rvdata を
正常に動作しているプロジェクトから作成中のプロジュクトへ入れ替えれば
同じスクリプト構成にすることができますよ。
バックアップは取っといてくださいね。
【2011/04/09 23:46】 | CACAO | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/07 23:28】 | | [編集]
素材スクリプトは指示がない限り、「▼ 素材」以外の場所には入れないでください。
大抵のひとは「( ここに追加 )」のコメントに従って作ってますので。
`http://blog-imgs-46.fc2.com/c/a/c/cacaosoft/SS1104072174432.png

それと、セーブが5つっていうのはおかしいですよね。
デフォルトでは、4つまでだったと思います。
拡張するスクリプトを入れているのでしたら、それが原因です。

あと、プリセットのスクリプトは直接変更しないでください。
また、変更の必要はありません。
【2011/04/07 22:47】 | CACAO | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/07 13:02】 | | [編集]
んー、なぜでしょうね。
それって、テストプレイのときはコンティニューできて、
CDから実行すると選択できなかったってことですか?

コンティニューが選択できないってことは、
セーブファイルが見つからないってことですよね。
セーブしました?

セーブしたのに選択できないってことは、
セーブ自体が失敗しているのか、セーブの場所が違うのか、
セーブのファイル名が違うかですよね。

それでも、問題が見つからなければ、スクリプトの競合かな?
Scene_title#check_continue がどうなっているのか確認するといいですよ。
【2011/04/06 22:16】 | CACAO | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/06 08:43】 | | [編集]
ありがと。
【2011/04/05 21:27】 | CACAO | [編集]
オペランド! オペランドー!
【2011/04/05 18:01】 | 匿名希望 | [編集]
あれ?直りました?

『<拡張> セーブ画面』が原因のエラーではないので、
そんなことはないと思うのですが。。。
もしかして、上の記事のスクリプト両方入れてます?
どちらか1つで結構ですよ。

上のスクリプト修正しておきました。
ご迷惑おかけしました。
【2011/04/04 21:28】 | CACAO | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/04 19:56】 | | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/04 13:13】 | | [編集]
スクリプトエディタの『素材』のところに入れてください。
そのまま使うのでしたら、『ディレクトリ操作』のスクリプトも必要です。
『上記スクリプト』は『ディレクトリ操作』より下に、
『<拡張> セーブ画面』を使う場合は、
『上記スクリプト』より上に導入してください。

例としては、
上から『ディレクトリ操作』『<拡張> セーブ画面』『上記スクリプト』
【2011/04/03 21:47】 | CACAO | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/03 21:00】 | | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/04/03 20:41】 | | [編集]
トラックバック
トラックバックURL:
http://cacaosoft.blog42.fc2.com/tb.php/528-ed9306d1
≪ トップページへこのページの先頭へ  ≫
カレンダー
01 << 2017/02 >> 03
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 - - - -

カテゴリー
最近の記事
02/14 お返事
01/21 お返事
01/12 更新情報
11/28 お返事
08/08 お返事

最近のコメント
01/21 お返事
11/30 z座標
11/20 z座標
08/03 お返事
02/24 お返事

タグクラウド

リンク