3テラバイト

プログラム関連備忘録サイト。主にゲーム。

RPGツクールMV

RPGツクールMVのランダムエンカウント逃走可否をスイッチで切り替えるプラグインを作る

投稿日:

こんにちは、今日はRPGツクールMVのランダムエンカウントで、逃走できるかどうかをスイッチの値によって切り替えるプラグインの作り方についてまとめていきます。

確認環境

RPGツクールMV Version 1.6.2

プラグインコード

SetCanEscape.jsというファイルに以下のコードを貼り付けプロジェクトのプラグインフォルダに追加、プラグイン管理からプラグインを有効にすると使用可能です。

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
//=============================================================================
// SetCanEscape.js
//=============================================================================
/*:
 * @plugindesc 逃げるコマンドの追加をスイッチで切り替える
 *
 * @param canEscapeSwitchNo
 * @desc 逃げるコマンド有効/無効切り替えスイッチの番号
 * @default 10
 *
 * @help 指定のスイッチがONになっている場合、戦闘コマンド「逃げる」が追加されます。
 *
 * このプラグインには、プラグインコマンドはありません。
 */
 
(function() {
    var parameters = PluginManager.parameters('SetCanEscape');
 
    Window_PartyCommand.prototype.makeCommandList = function() {
        this.addCommand(TextManager.fight,  'fight');
        if ($gameSwitches.value(parameters['canEscapeSwitchNo'])) {
            this.addCommand(TextManager.escape, 'escape', BattleManager.canEscape());
        }
    };
})();

コード解説

元コード

js/rpg_windows.js 5341行目に定義されているWindow_PartyCommand.prototype.makeCommandList関数で戦闘のパーティコマンドが作られています。

1
2
3
4
Window_PartyCommand.prototype.makeCommandList = function() {
    this.addCommand(TextManager.fight,  'fight');
    this.addCommand(TextManager.escape, 'escape', BattleManager.canEscape());
};

こちらの関数をプラグインで上書きし、「逃げる」コマンドの追加部分にスイッチがONになっているかの条件を付与します。

プラグインパラメータ

「逃げる」コマンドの有効/無効を切り替えるスイッチとして使用するスイッチIDを設定するプラグインパラメータcanEscapeSwitchNoを定義しています。

初期値は10になっているため、初期状態ではスイッチID10がONになっている場合に「逃げる」コマンドが追加されるようになっています。

他のスイッチIDを使用したい場合はこちらのプラグインパラメータの値を変更します。

「逃げる」コマンドを表示するか

現在のコードではスイッチの値がOFFの場合、「逃げる」コマンド自体を追加しないようにしています。

こちらをコマンド自体は追加し、グレーアウトして選択できない状態にするには、以下の部分を

1
2
3
if ($gameSwitches.value(parameters['canEscapeSwitchNo'])) {
    this.addCommand(TextManager.escape, 'escape', BattleManager.canEscape());
}

以下のように変更します。

1
this.addCommand(TextManager.escape, 'escape', $gameSwitches.value(parameters['canEscapeSwitchNo']));

これでコマンド自体は必ず追加され、スイッチの値により選択できるかが変わります。

-RPGツクールMV


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

関連記事

no image

RPGツクールMVでイベントにプレイヤー探索機能を付与するプラグインMKR_PlayerSensorの使い方

イベントに視界範囲を持たせることで、ステルスゲームのように敵に見つからないように進んでいくゲームの制作が可能になります。 このプラグインはマンカインドさんが制作されたプラグインです。 デモ マンカイン …

no image

RPGツクールMVでゲーム内時間を追加するプラグインChronusの使い方

本プラグインを導入すると、上のgifのように画面左上に時計が表示され、時間によって画面の色調を変更することで時間の変化を表現でき、天候も時間により自動で変化します。 このプラグインはトリアコンタン様が …

no image

RPGツクールMVでマップ名をスクリプトから変更する

RPGツクールMVのマップ名をイベントコマンドのスクリプトから変更する方法について記載しています。 確認環境 RPGツクールMV Version 1.6.2 マップ名の変更方法 以下のように$data …

no image

RPGツクールMV – 自作プラグインでキー入力を取得する

こんにちは、今日はRPGツクールMVの自作プラグインでキーやタッチ入力を取得する方法についてまとめていきます。 確認環境 RPGツクールMV Version 1.6.2 キー入力判定関数 関数はいずれ …

no image

RPGツクールMVでBGSの演奏をスクリプトから行う

RPGツクールMVでBGSの演奏をスクリプトから行う方法についてまとめていきます。 イベントコマンドの2ページ目、オーディオ・ビデオ > BGSの演奏…と同様の操作を、イベントコマンドの3ページ目、上 …

S