こんにちは、今日はRPGツクールMVでイベントコマンドの”スクリプト”から、同じくイベントコマンドの”防具の増減”の処理を行う方法についてまとめていきます。
Table of Contents
確認環境
RPGツクールMV Version 1.6.2
防具の増減を行うコード
以下のようなコードにてスクリプトで防具の増減が行えます。
増やす
ex) 防具ID1を2つ増やす
$gameParty.gainItem($dataArmors[1], 2);
減らす
ex) 防具ID1を1つ減らす
$gameParty.gainItem($dataArmors[1], -1);
ex) 防具ID1を1つ減らす、所持数が1に満たない場合は装備中の防具も含める
$gameParty.gainItem($dataArmors[1], -1, true);
変数を用いて増減する
ex)防具ID1を変数ID3の値分増減する
$gameParty.gainItem($dataArmors[1], $gameVariables.value(3), true);
コード解説
$gameParty.gainItem関数を使用します。
引数については以下の通りです。
第一引数 | 増減する$dataArmorsを渡します。 [1]の数字部分にその武器のIDを指定します。 |
第二引数 | 増減する数値を指定します。 |
第三引数 | 減らす場合にtrueを指定すると、所持防具が減少数より少なかった場合に、装備中の防具も含めて減少処理を行います。 |
$dataArmorsはjs/rpg_managers.jsの19行目に定義されており、データベースの防具で設定したデータが全て格納されています。
イベントコマンド”防具の増減”で呼び出される関数
イベントコマンド”防具の増減”が実行されるときに呼び出される関数は、js/rpg_objects.jsの9611行目に定義されている以下の関数です。
// Change Armors
Game_Interpreter.prototype.command128 = function() {
var value = this.operateValue(this._params[1], this._params[2], this._params[3]);
$gameParty.gainItem($dataArmors[this._params[0]], value, this._params[4]);
return true;
};
this._paramsに格納されている値はそれぞれ以下の通りです。
インデックス | 値の内容 |
0 | 防具ID |
1 | 増やす : 0 減らす : 1 |
2 | オペランドが定数 : 0 オペランドが変数 : 1 |
3 | オペランドが定数の場合 : 増減する数値 オペランドが変数の場合 : 増減に使用する変数ID |
4 | 装備品を含む : true 装備品を含まない : false |