3テラバイト

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

RPGツクールMV スクリプト

RPGツクールMVで経験値の増減をスクリプトから行う

投稿日:2021年3月29日 更新日:

RPGツクールMVで経験値の増減をスクリプトから行う方法についてまとめていきます。

イベントコマンドの1ページ目、アクター > 経験値の増減と同様の操作を、
イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。

スクリプトコード

iterateActorExを使用する場合

以下のようにthis.iterateActorEx関数を使用して対象アクターを取得、アクタークラスのchangeExp関数を使用してスクリプトから経験値の増減を行うことができます。

iterateActorExの第一引数には、第二引数でアクターのIDを固定で指定するか、変数で指定するかを示す値を渡します。(固定の場合は0、変数の場合は1)
第二引数にはアクターのID、または変数のIDを指定します。
第三引数にはfunctionを渡していますが、この関数の引数に対象のアクターが渡されるため、その値を用いて対象アクターに処理を行っていきます。

changeExp関数の第一引数には変更後の経験値量を指定します。
以下の例では、アクターの現在の経験値をcurrentExp関数で取得してその値に100を加算した値を設定しています。
第二引数にはレベルアップを表示するかをtrueまたはfalseで指定します。

this.iterateActorEx(0, 0, function(actor) {
    actor.changeExp(actor.currentExp() + 100, true);
}.bind(this));

iterateActorExを使用しない場合

上記の例は、実際にイベントコマンドで経験値の増減が設定されている場合に使用されている関数ですが、アクター単体であれば以下のようにアクターのデータは$gameActors.actor関数で取得し、取得したアクターのchangeExp関数を呼び出すことで経験値の増減を行う方法もあります。

$gameActors.actor関数の引数にはアクターIDを指定します。

var actor = $gameActors.actor(1);
actor.changeExp(actor.currentExp() + 100, true);

イベントコマンドの内容

イベントコマンドの経験値の増減を追加した場合、内部的には以下のようなデータが挿入されており、
js\rpg_objects.jsの10254行目に定義されているcommand315関数が呼び出され、引数にparametersの値が渡されています。

{"code":315,"indent":0,"parameters":[0,0,0,0,100,true]}

parametersの値の内容は以下の通りです。

インデックス内容
[0][1]に格納されている値が固定か変数かを示す値(0 : 固定、1 : 変数)
[1]アクターのID、または変数のID
[2]どの操作を行うかを示す値(0 : 増やす、1 : 減らす)
[3][4]に格納されている値が定数か変数かを示す値(0 : 定数、1 : 変数)
[4]オペランドの定数の値、または変数のID
[5]レベルアップの表示をするか(true : する、false : しない)

-RPGツクールMV, スクリプト


comment

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


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

関連記事

no image

RPGツクールMVでタイマーの操作をスクリプトから行う

イベントコマンドの2ページ目、キャラクター > タイマーの操作…と同様の操作を、イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。 スクリプトコード 以下のコードでタイマーの操作をす …

no image

戦闘コマンド選択ウィンドウの上に顔グラフィックを表示するRPGツクールMVプラグインBattleActorFaceVisibilityの使い方

このプラグインを導入すると、上の画像のように戦闘コマンドウィンドウの上に現在コマンドを選択しているアクターの顔グラフィックを表示することができます。 このプラグインはトリアコンタン様が制作されたもので …

no image

RPGツクールMVでBGMの再開をスクリプトから行う

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

no image

マップタッチによる移動中にイベントが実行されても移動を中断しないようにするRPGツクールMVプラグインSmoothTouchMoveの使い方

このプラグインを導入すると、通常マップタッチによる移動中にイベントが実行された場合、移動を中断する仕様となっているものを、イベントが実行されても移動を中断しないようになります。 このプラグインは神無月 …

no image

マップタッチ時の移動の仕様を変更するRPGツクールMVプラグインChangeMapTouchPolicyの使い方

このプラグインを導入すると、マップタッチ時のキャラクターの移動に関する仕様を指定のタイプから選択することができるようになります。 このプラグインはトリアコンタン様が制作されたものです。 確認環境 RP …