RPGツクールMZ 変数が100以上になった瞬間にイベント移行できない

カイぱち

ユーザー
【変数が100以上になった瞬間にイベント移行できない】

■作っているゲームの概要
・キャラクター移動なしのコマンド選択式ゲーム
・ニューゲーム開始後、自動でオープニングが流れる
・5分タイマーが起動し「雑談・特技・告白」の
 選択肢ループが始まる
・雑談で話題を選ぶとパラメータが変動する
・5分経過or告白でエンディング分岐に移行する

■パラメータ
・親密度(初期値0)
・警戒度(初期値50)
・興奮度(初期値0)
・傲慢度(初期値75)

■イベント構成
・ストーリー1(自動実行・メインイベント)
・タイマー監視(並列処理・タイムアップ監視)
・パラメータ監視(並列処理・0未満を0に戻す)
・大爆発監視(並列処理・興奮度100以上を監視)
・大爆発エンド(自動実行・スイッチ#0004大爆発ON)

全イベントは同じマップに配置済み

■試したこと

①大爆発監視イベントを並列処理で作成
 出現条件:スイッチ#0002 ゲーム中=ON
 内容:
 条件分岐:興奮度>=100
  スイッチ#0002 ゲーム中=OFF
  スイッチ#0004 大爆発=ON
 →発動しない

②出現条件に変数「興奮度>=100」を設定して
 自動実行にする方法
 →発動しない

③ページ3のループ内に
 条件分岐:スイッチ#0004大爆発ONならループ中断
 を追加済み
 →関係なく発動しない

■正常に動いているもの
・タイマー切れ→告白タイムへの移行は正常
・パラメータ監視(0未満を0に戻す)は正常
・タイマー監視(並列処理)は正常に動いている

■質問
興奮度が100以上になった瞬間に
大爆発エンドに強制移行させるには
どうすればよいでしょうか?
よろしくお願いします。
 
並列処理とは違い
自動実行イベントが実行されている間は、別の自動実行イベントは実行されません。

③の方法がダメな理由
自動実行イベントは、並列処理イベントと同じく
イベントの最後まで来たら、最初に戻って実行をループさせる仕様です。
なので、これを止めるには、ページを切り替える必要があります。

つまり、自動実行イベントで、ループコマンドを使っている場合
ループを終了するコマンドを実行するだけでは、イベントページの自動実行そのものを止めることはできず
ず~っとループを続けてしまうわけです。

ループの外に一回しか実行したくない内容が含まれていた場合
ループを脱したことによって、それもループ実行されていると考えられます。

なので、現状の方法で、大爆発イベントを起こすなら
③のようにループを中断を行った上で、中断後に実行される行に、イベント処理の中断コマンドを入れ
メインイベントにスイッチ#0004大爆発ONの条件で出現するページを追加すると良いと思います。
(実行内容はなしでも、大爆発イベントでもよいが、大爆発イベントを入れる場合は、既存の大爆発イベントは消す)

がんばってね。
 
並列処理とは違い
自動実行イベントが実行されている間は、別の自動実行イベントは実行されません。

③の方法がダメな理由
自動実行イベントは、並列処理イベントと同じく
イベントの最後まで来たら、最初に戻って実行をループさせる仕様です。
なので、これを止めるには、ページを切り替える必要があります。

つまり、自動実行イベントで、ループコマンドを使っている場合
ループを終了するコマンドを実行するだけでは、イベントページの自動実行そのものを止めることはできず
ず~っとループを続けてしまうわけです。

ループの外に一回しか実行したくない内容が含まれていた場合
ループを脱したことによって、それもループ実行されていると考えられます。

なので、現状の方法で、大爆発イベントを起こすなら
③のようにループを中断を行った上で、中断後に実行される行に、イベント処理の中断コマンドを入れ
メインイベントにスイッチ#0004大爆発ONの条件で出現するページを追加すると良いと思います。
(実行内容はなしでも、大爆発イベントでもよいが、大爆発イベントを入れる場合は、既存の大爆発イベントは消す)

がんばってね。
できました!
ありがとうございます!
本当に毎度ありがとうございます笑
 
Back
トップ