3テラバイト

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

RPGツクールMV スクリプト

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

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

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

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

スクリプトコード

iterateActorExを使用する場合

以下のようにthis.iterateActorEx関数を使用して、スクリプトからHPの増減を行うことができます。

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

第三引数に渡している関数の内部で呼び出しているthis.changeHp関数の第一引数にはそのままactorを、第二引数にはHPの増減値を、第三引数には戦闘不能を許可するかを示す値を指定します(true : 許可する、false : 許可しない)。

以下の例ではアクターの1番のHPを10減らし、戦闘不能を許可しないようにしています。

this.iterateActorEx(0, 1, function(actor) {
    this.changeHp(actor, -10, false);
}.bind(this));

iterateActorExを使用しない場合

上記の例は、実際にイベントコマンドでHPの増減が設定されている場合に使用されている関数ですが、アクター単体であれば以下のようにthis.changeHp関数のみを使用し、第一引数のアクターのデータは$gameActors.actor関数で取得する方法もあります。

$gameActors.actor関数の引数にはアクターIDを指定し、その他の引数は前述の例と同様です。

this.changeHp($gameActors.actor(1), -10, false);

イベントコマンドの内容

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

{"code":311,"indent":0,"parameters":[0,0,0,0,1,false]}

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

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

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


comment

メールアドレスが公開されることはありません。

関連記事

no image

RPGツクールMVのアクター情報をスクリプトから参照or変更する

こんにちは、今日はRPGツクールMVのアクター情報をスクリプトから参照or変更する方法についてまとめていきます。 プロジェクトのjs/rpg_objects.js 3387行目からGame_Actor …

no image

RPGツクールMVでフェードインとフェードアウトをスクリプトから行う

RPGツクールMVでフェードインとフェードアウトをスクリプトから行う方法についてまとめていきます。 イベントコマンドの2ページ目、画面 > フェードアウト…、画面 > フェードイン…と同様の操作を、イ …

no image

RPGツクールMVでメニューに変数の値を表示するプラグインTMMenuLabelの使い方

このプラグインを導入すると、上の画像のようにメニューに変数の値や、歩数、セーブ回数、戦闘回数、勝利回数、敗北回数とその前後にラベルを表示することができます。 このプラグインはtomoaky様が制作され …

no image

RPGツクールMV – イベントコマンドと内部関数の対応表

こんにちは、今日はRPGツクールMVでイベントに設定したイベントコマンドと、その実際の処理内容が記述されている内部の関数との対応についてまとめていきます。 こちらの処理内容を確認することで、イベントコ …

no image

RPGツクールMV – Items.jsonとデータベースの対応表

RPGツクールMVエディタ上でデータベースのアイテムで設定したデータは、プロジェクトフォルダのdata/Items.jsonに保存されています。 Items.jsonは最初の要素がnullで以降は各要 …