3テラバイト

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

RPGツクールMV

RPGツクールMV – “能力値の増減”で変動している分の値を取得、リセットする方法

投稿日:

こんにちは、今日はRPGツクールMVのイベントコマンド”能力値の増減”で変動している分の値の取得と、その値のリセット方法についてまとめていきます。

イベントコマンドの”能力値の増減”で指定アクターの各種パラメータの増減が行えますが、現在の増減値の取得やリセットは行えません。
これらを行うためにはイベントコマンドの”スクリプト”でJavaScriptコードを記述します。

確認環境

RPGツクールMV Version 1.6.2

増減値の取得方法

現在の増減値の取得は以下のコードで行えます。

var actorId = 1;
var paramId = 2;
var variableId = 3;
var currentParamPlus = $gameActors.actor(actorId).paramPlus(paramId);
var equips = $gameActors.actor(actorId).equips();
for (var i = 0; i < equips.length; i++) {
    var item = equips[i];
    if (item) {
        currentParamPlus -= item.params[paramId];
    }
}
$gameVariables.setValue(variableId, currentParamPlus);

actorIdにアクターのIDを、
paramIdにパラメータのIDを、
variableIdに取得した値を格納する変数のIDをそれぞれ代入します。
この例ではアクターID1の攻撃力の増減値を取得し、変数ID3に格納しています。

コード解説

$gameActors.actor(actorId)

で指定IDのアクター情報を取得

paramPlus(paramId)

でそのアクターの指定パラメータ増減値を取得し変数currentParamPlusに値を格納

ここまでで取得した値にはイベントコマンドで増減した値のほか、装備で増減している分も含まれているため、以下のコードではその分をマイナスしています。

for (var i = 0; i < equips.length; i++) {
    var item = equips[i];
    if (item) {
        currentParamPlus -= item.params[paramId];
    }
}

パラメータID

paramPlus()の引数に渡す値と取得できるパラメータの対応は以下の通りです。

数値パラメータ名
0最大HP
1最大MP
2攻撃力
3防御力
4魔法力
5魔法防御
6敏捷性
7

増減値のリセット方法

全てのパラメータのリセット

全ての増減値をリセットしたい場合は以下のコード1行で完了します。
こちらの例ではアクターID1の増減値を全てリセットします。

$gameActors.actor(1).clearParamPlus();

個別のパラメータのリセット

特定のパラメータの増減値のみリセットしたい場合は、リセットの関数が用意されていないため現在の増減値を取得し、その値分減算することでリセットします。
以下のようなコードになります。

var actorId = 1;
var paramId = 2;
var currentParamPlus = $gameActors.actor(actorId).paramPlus(paramId);
var equips = $gameActors.actor(actorId).equips();
for (var i = 0; i < equips.length; i++) {
    var item = equips[i];
    if (item) {
        currentParamPlus -= item.params[paramId];
    }
}
$gameActors.actor(actorId).addParam(paramId, -currentParamPlus);

-RPGツクールMV


comment

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


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

関連記事

no image

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

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

no image

RPGツクールMVのアクターコマンドをカスタマイズするプラグインを作る

こんにちは、今日はRPGツクールMVのアクターコマンドを、プラグインからカスタマイズする方法についてまとめていきます。 確認環境 アクターコマンドの追加はプロジェクトのjs/rpg_windows.j …

no image

RPGツクールMVで選択肢を拡張するプラグインMPP_ChoiceEXの使い方

このプラグインでは選択肢の項目を6個を超えて設定でき、スイッチや変数の条件により特定の選択肢を非表示、グレーアウトで選択不可能な状態にすること等が可能です。 ダウンロード 以下ページのプラグインの項に …

no image

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

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

no image

スキルコストをMPとTPどちらも表示するRPGツクールMVプラグインdrawSkillMpAndTpの使い方

このプラグインを導入すると、通常スキル消費MPと消費TPが設定されていた場合は消費TPのみが表示されるのがどちらも表示されるようになります。 このプラグインはシトラス様が制作されたプラグインです。 確 …