ルンタッタ・ワクテッカ さんが書きました:ムノクラ様、いつも大変お世話になっております!
この度も大変親身なご回答をいただき心より感謝しております……!
(察しが悪いなんて滅相もないです、自分の質問を読み返すと情報の足りなさに冷や汗でした……本当に申し訳ないです)
今回、質問へ対する回答とお礼が遅れてしまいまして誠に申し訳ございません><
ご提示いただきました改善策、
「選択肢にキャンセル時用の分岐を入れてラベルジャンプでロード時強制選択を回避する」というもの、
私もずっとキャンセル禁止を入れていて分岐は試してみたことがなかったので、
なんてシンプルで分かりやすい方法なんだ! と感動し、
早速ご共有いただきましたサンプルを参考に拙作にも反映させていただきました。
すると無事、選択肢表示中にロードで戻ってくることが出来、
大喜び……だったのですが、
こちら何故か回避できる場合とできない場合が分かれてしまい……;;
(下記に画像を添付いたしております)
私の方で、
選択肢分岐内にある選択肢だからダメなのか?
はたまたイベントページ数や位置が問題なのか?
ラベルの貼り方がいけないのか?
などなど、何とか全てのパターンが「回避できた」になるよう、
条件を揃える努力をしてみたのですが、
結局1ケースしか「回避できた」にならず……。
そうなる原因や理屈が分かればその情報を含め、
改善する方法がないかとご相談できたかと思うのですが、
結局何が”できる”になり、何が”できない”になるのか、自分では判別できませんでした。
とても使いやすいアイディアかつ、1ケースは成功しているのに、
解決しました! というご報告ができない結果になってしまい、
ムノクラ様には重ね重ね申し訳ないです……。
こういった結果になっている以上、
私のプロジェクトに何か原因があるのでは? と思うのですが、
今の自分の知識では対処することができないので、
今回の件に関してはしぐれん様がご製作中とのことのプラグインの完成をお待ちしつつ、
ムノクラ様のアイディアを安定して実行する方法を探しつつ、
別の方法も模索しつつ……ということにさせていただこうと思います。
初心者の拙い質問に対しこんなにも親身になってご意見を下さり、
また拙作同様のプラグインまでご用意くださってサンプルをご製作くださった(しかも2回も……;;)
ムノクラ様には感謝の気持ちでいっぱいです。本当にありがとうございました。
ムノクラ様のアイディア、
「選択肢にキャンセル時用の分岐を入れてラベルジャンプでロード時強制選択を回避する」で
同じお悩みを解決できる方も大勢いらっしゃるのでは? と思うのですが、
私のようなケースでも回避できる方法がお伺いできると大変有難いので、
こちらのスレッドは現状、【解決】をタイトルに追加しないまま置かせていただけますと幸いです。
これ以上ご迷惑をお掛けするのが心苦しく、
勝手にまとめの方向へ話を進めてしまいましたが、
もし他にも「選択肢表示中にセーブし、ロードでその場所に戻る方法」に
心当たりがございましたらご教示いただけますととても助かります……!
(また、ムノクラ様のアイディアが上手く作動しない場合の原因に心当たりのある方も……)
何卒、よろしくお願い申し上げます。
原因がわからないので、可能性を調べていくしかないですね…
(ちなみに、上記の方法をMV版で行ったらエラーになりました…)
こんな処理だとどうでしょうか?
(選択肢のキャンセルが禁止のケース、禁止じゃなくても良いかも知れないですが)
コード: 全て選択
◆ラベル:Select1
◆変数の操作:#0001 V1 = -1
◆文章:なし, なし, ウィンドウ, 下
: :私を旅に連れて行ってくれる?
◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, -)
:はいのとき
◆変数の操作:#0001 V1 = 1
◆
:いいえのとき
◆変数の操作:#0001 V1 = 2
◆
:分岐終了
◆条件分岐:V1 = -1
◆ラベルジャンプ:Select1
◆
:分岐終了
あとは、スクリプトに
console.log('処理1だよ')
とか
文章の表示
を入れて、どのタイミングにどの処理がされているのか調べるとなにかわかるかも…
コード: 全て選択
◆ラベル:Select1
◆変数の操作:#0001 V1 = -1
◆文章:なし, なし, ウィンドウ, 下
: :状況1:\v[1]
◆文章:なし, なし, ウィンドウ, 下
: :私を旅に連れて行ってくれる?
◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, -)
:はいのとき
◆変数の操作:#0001 V1 = 1
◆
:いいえのとき
◆変数の操作:#0001 V1 = 2
◆
:分岐終了
◆文章:なし, なし, ウィンドウ, 下
: :状況2:\v[1]
◆条件分岐:V1 = -1
◆文章:なし, なし, ウィンドウ, 下
: :状況3:\v[1]
◆ラベルジャンプ:Select1
◆
:分岐終了
◆文章:なし, なし, ウィンドウ, 下
: :状況4:\v[1]
あとは、同時に他の並列処理が動いているなら、それが影響している可能性もあるので、虱潰しに状況毎にどのように処理がされているのか調べていくしかないかと思います。
何と言っても、文章表示中にセーブができるだけで、デフォルトの想定外の動作でしょうから…
追記
頂いた画像を見て気づいたのですが、選択肢が入れ子(選択肢を選んだ中に選択肢になっている…◆が一番左にない箇所)になっているのが原因ではないでしょうか?
入れ子の外側でセーブされるとかの条件になっている可能性があるかも…と思いました。
選択肢の中に選択肢を作成せず、選択肢の項目で変数を入れ、次の条件分岐で変数で表示する選択肢を変化させるような処理にすれば、セーブされる場所が変わるような予感がします。
(未実験ですいません…明日にでも追加調査するつもりです)