RPGツクールMVでアクターのレベルアップ時に指定したコモンイベントを実行するプラグインです。
ダウンロード
LevelUpCommonEvent.js
上記リンクの右クリックメニューから保存できます。
使い方
レベルアップ時にコモンイベントを実行したいアクターのメモ欄に以下を追加するだけでOKです。
<LevelUpCommonEvent: [コモンイベントID]>
ID0001のコモンイベントを実行したい場合の例:<LevelUpCommonEvent: 1>
戦闘終了時のレベルアップに関しては、フィールド画面に戻ってきてからコモンイベントが実行されます。また、イベント中に開始した戦闘の場合は戦闘終了後に続くイベントが全て完了した後にコモンイベントが実行されます。
一時的にコモンイベント実行を無効化したい場合
イベント戦闘でのレベルアップではコモンイベントを実行しないなど、一時的に実行したくないこともあると思います。
実行するコモンイベント側で条件分岐を作っても対応はできますが、プラグインの機能を使って無効化することも可能です。
プラグインパラメータで無効化に使うスイッチ番号を指定し、無効化したい間だけそのスイッチをオンにすることでレベルアップしてもコモンイベントが実行されなくなります。
戦闘終了直後に実行したい場合
レベルアップ表示メッセージの直後に実行したい場合は、FTKR_ExBattleEventというプラグインで実現できます。
僕もレベルアップ時のコモンイベントのプラグインを作ったのはいいものの、戦闘終了直後に実行したかったので結局上記のプラグインを使いました。
コモンイベントを実行するようにするだけだと、経験値が付与されてレベルアップする前に実行されてしまうので戦闘勝利時の処理を独自のものに置き換えていきます。
戦闘勝利時のイベントの設定を参考に、プラグインパラメータで戦闘勝利時のコモンイベントを指定した上で、Custom Victory Eventを有効にします。
実行されるコモンイベント内で、戦闘勝利時の処理をプラグインコマンドを使って実行していきます。
戦闘報酬の入手(EBE_GAIN_REWARDS)を実行すると経験値が付与され、レベルアップしている場合はレベルアップメッセージが出ます。
そのため、EBE_GAIN_REWARDSを実行した直後にレベルアップしているかどうかを見て、実行したいイベントを実行すればOKです。
- ゲーム開始時にアクターのレベルを変数Aに入れておく
- EBE_GAIN_REWARDS直後に現在のレベルを別の変数Bに入れる
- 上記2つの変数を条件分岐で比較判定する
- 変数Aに変数Bの値を入れて更新する
レベルアップメッセージを差し替えたい場合
レベルアップメッセージについてもコモンイベント側で作成したい場合に使える、メッセージ表示をオフにするプラグインもGitHubにて公開中です。