ページ 11

【解決】除外したファイル名をいつまでも要求される

Posted: 2022年3月29日(火) 16:39
by はせがわ
条件分岐で「変数X番に画像ファイル名を代入」というコモンを配置していた際、
わけあってファイル名をリネームをしたのですが、
特定の条件で、そのリネーム前ファイル名を要求され、エラーになってしまいました。

当然、リネーム前のファイル名を、どこかで使っているものと思って
探したのですが、エディタでprojectフォルダ全体をGREPしても出てきません。
(そのファイル名で検索すると、リネーム後の「そのファイル名_B」は出てくるのに、
"そのファイル名"で検索しても、ひとつも検出されない)

状況的には、基本になる防具Aを装備していた時と、装備をつけない時の立ち絵
同じになる…というものなのですが、防具以外まったく同じ条件分岐を施してるにも
かかわらず、前者はエラーが起きず、後者が除外したファイル名を要求されます。

関連するプラグインとコモンイベントと調べ直し、参照するイベントも新規に
作成してみましたがやはりダメでした。
こんなことはあるのでしょうか。まだ何か見落としたり、チェックの足りない部分が
あるのでしょうか。

そして、リネーム前のファイル名を試しに配置し直したところ、エラーは発生しませんでした。
ですが、自分が把握してない部分でファイルを参照されているのかと思うと落ち着きません。

コアスクリプトは1.4.4です。

Re: 除外したファイル名をいつまでも要求される

Posted: 2022年3月29日(火) 16:59
by ムノクラ
はせがわ さんが書きました:条件分岐で「変数X番に画像ファイル名を代入」というコモンを配置していた際、
わけあってファイル名をリネームをしたのですが、
特定の条件で、そのリネーム前ファイル名を要求され、エラーになってしまいました。

当然、リネーム前のファイル名を、どこかで使っているものと思って
探したのですが、エディタでprojectフォルダ全体をGREPしても出てきません。
(そのファイル名で検索すると、リネーム後の「そのファイル名_B」は出てくるのに、
"そのファイル名"で検索しても、ひとつも検出されない)

状況的には、基本になる防具Aを装備していた時と、装備をつけない時の立ち絵
同じになる…というものなのですが、防具以外まったく同じ条件分岐を施してるにも
かかわらず、前者はエラーが起きず、後者が除外したファイル名を要求されます。

関連するプラグインとコモンイベントと調べ直し、参照するイベントも新規に
作成してみましたがやはりダメでした。
こんなことはあるのでしょうか。まだ何か見落としたり、チェックの足りない部分が
あるのでしょうか。

そして、リネーム前のファイル名を試しに配置し直したところ、エラーは発生しませんでした。
ですが、自分が把握してない部分でファイルを参照されているのかと思うと落ち着きません。

コアスクリプトは1.4.4です。
セーブデータで再現していないでしょうか?
セーブデータは暗号化されているので、GREPでは出てきませんし。

ファイル名を変数に代入していたのでしたら、セーブデータの変数内容までは変わらないでしょうから、テストモードでその変数をクリアするなり、ニューゲームからやり直す等で解決しそうですが、どうでしょう?

Re: 除外したファイル名をいつまでも要求される

Posted: 2022年3月29日(火) 17:11
by はせがわ
>ムノクラさん

アドバイスありがとうございます!
いましがた、一度MZを再起動してニューゲームでテストしてみたのですが、
やはりまったく同じエラーになりました…。

コモンイベントのIDを変更して、もう一度ルーチンを作り直してみて、
それでも再発するようなら、いったんエラーを出されるファイル名だけリネーム前に
戻そうと思います。

セーブデータで参照が最新のものにならない場合があるんですね、
今後注意したいと思います。

Re: 除外したファイル名をいつまでも要求される

Posted: 2022年3月30日(水) 20:06
by はせがわ
追記です。

結局、ファイル名の要求は解消することができず、ファイル名を代入する変数のIDを
変更することでエラーを回避しました。

納得できなかったのが、コモンイベントの内容は一言も変えず、ただ変数のIDだけ
ずらしたら大丈夫だったことで、釈然としません。

その後で、https://tm.yumineko.com/viewtopic.php?t=9447
ヒグラシさんの質問に、 奏ねこま さんが返信された内容に気づき
エラーが起きる直前に、
デベロッパツールのコンソールに「SceneManager.push(Scene_Debug)」と入力する、
を試したみたところ、ニューゲーム時すでに当該変数にファイル名が格納されている
ことを確認しました。

どのタイミングで変数の格納処理がなされ、保存されるのか、疑問は残りますが、
もしも同じように未定義にしたリネームファイルを要求されることがあれば、
確認だけはでき、対処法も検討できたことを記しておきます。