RPGツクールMV

装備に耐久度を追加するYEP_X_ItemDurabilityの使い方

RPGツクールMVで装備に耐久度を追加するプラグイン「YEP_X_ItemDurability.js」の使い方を紹介します。

デフォルトだと装備変更画面で装備の耐久度が見れないので、制御文字を使ってアイテム名や説明欄に耐久度を表示させる方法も紹介します。

2019/10/31より、Yanfly様のプラグインが一部をのぞいて有償化しました。

YEP_X_ItemDurability.jsを使うには、Patreon(海外サイト)にて$10の[Bundle] Items & Equips Packまたは$30のフルパッケージを購入する必要があります。
(有償化前にダウンロードしたプラグインは、今まで同様引き続き使用できます)

事の経緯は、海外プラグインの和訳をされているムノクラ様のサイトでまとめられています。
YEPシリーズの今後の和訳について

導入方法

作者さまのサイトから「YEP_ItemCore.js」と「YEP_X_ItemDurability.js」をダウンロードします。

「English Mirror」のリンクを右クリックしてリンク先を保存します。
YEP_X_ItemDurabilityのダウンロード

ちなみにプラグインは無料で利用できるけど寄付も受けつけているみたいな感じで、リンクの上にある大きいバナーをクリックすると金額入力画面が表示されます。

投げ銭したい人はどうぞ。

ダウンロードしたファイルを、プロジェクトフォルダ/js/pluginsフォルダに移動します。

ツール→プラグイン管理からダウンロードした2つのプラグインを追加します。

読み込み順はYEP_ItemCore→YEP_X_ItemDurabilityの順番にしてください。
YEP_X_ItemDurabilityのプラグイン読み込み順

アイテム画面を通常に戻す方法

YEP_ItemCoreを入れると、アイテムのメニューが独自のものに変わります。
YEP_ItemCoreの独自アイテムメニュー

元のアイテムメニューを使いたい場合は、YEP_ItemCoreのプラグインパラメータ「Update Scene Item」をNormal(false)にします。
YEP_ItemCoreの独自メニューを通常のメニューに戻す

Update Scene ItemをNormalにした場合、独自アイテム画面用のノートタグが使えなくなります。

耐久度の設定方法

耐久度や耐久の消費度は、装備品のメモ欄(ノートタグ)かプラグインパラメータで設定します。

基本的に装備品のメモ欄で設定されていればその値、設定されていない場合はプラグインパラメータの値が入ります。

ノートタグは <タグ名: 値> で設定します。
コロンのあとの半角スペースは必須です。(ないと認識されません)

装備品の初期耐久度を設定する

<Durability: 耐久度>

耐久度を設定したくない場合は、メモ欄に <Unbreakable> を記入します。

デフォルトを壊れないにしたい場合は、プラグインパラメータのDefault Durabilityを-1にします。

プラグインパラメータの初期値は100です。

初期耐久度にゆらぎを設定する

<Durability Variance: 耐久度>

耐久度のゆらぎです。
初期耐久度は、Durability ± Durability Varianceの値になります。

Default Durabilityが50でDurability Varianceが10の場合、装備を手にいれるごとに50±10(40~60)の耐久度がランダムで設定されます。

ただし、初期装備にはゆらぎは適用されず<Durability: >で設定した値になります。

プラグインパラメータの初期値は5です。

ゆらぎが不要な場合は0を設定します。

耐久度の最大値を設定する

<Durability Maximum: 耐久度>

プラグインパラメータの初期値は200です。

攻撃時・被ダメージ時の耐久度を設定する

プラグインパラメータを使って、攻撃時&ダメージをくらった時の耐久度の増減を設定できます。

スキル自体に耐久度の増減が設定されている場合はこのパラメータの値は無視され、スキルに設定された値だけ減少(または回復)します。

プラグインパラメータ 説明
Physical Action 命中タイプ:物理攻撃のスキル使用時に減る耐久度
(通常攻撃含む)
Magical Action 命中タイプ:魔法攻撃のスキル使用時に減る耐久度
Certain Action 命中タイプ:必中のスキル使用時に減る耐久度
Phisical Damage 命中タイプ:物理攻撃のスキルをくらった時に減る耐久度
(通常攻撃含む)
Magical Damage 命中タイプ:魔法攻撃のスキルをくらった時に減る耐久度
Certain Damage 命中タイプ:必中のスキルをくらった時に減る耐久度

デフォルトでは、ダメージを受けた時は装備している防具のうちどれか1つがランダムに選ばれて耐久度が減るようになっています。

1回の攻撃で装備しているすべての防具の耐久度を減らしたい場合は、Damage All ArmorをDamage All(true)にします。
YEP_X_ItemDurabilityのプラグインパラメータ Durability Drop

耐久度を消費/回復するアイテム・スキルを作る

アイテムまたはスキルのメモ欄にノートタグを記入します。

独自アイテム画面用ノートタグ

YEP_ItemCoreの独自アイテム画面を使う場合、アイテムを選択するとアクションコマンドというサブコマンドが表示されます。(使う、修理)
YEP_ItemCoreの独自アイテム画面のアクションコマンド

アイテム画面から修理したい装備を選択→修理コマンド→修理に使うアイテムを選択という流れです。

修理に使うアイテムのメモ欄に<Repair: 〇〇>を設定することで、耐久度の回復値を設定できます。

ノートタグ 説明
<Repair Durability: 値> 修理コマンドで選択中の装備耐久度の回復値。
<Repair Weapon: 値> 修理コマンドで選択中の武器耐久度の回復値。
選択中の装備が防具の場合は修理に使うアイテムに表示されません。
<Repair Armor: 値> 修理コマンドで選択中の防具耐久度の回復値。
選択中の装備が武器の場合は修理に使うアイテムに表示されません。
<Repair WType 武器タイプID: 値> 修理コマンドで選択中の武器耐久度の回復値。
武器タイプが一致しない場合は修理に使うアイテムに表示されません。
<Repair AType 防具タイプID: 値> 修理コマンドで選択中の防具耐久度の回復値。
防具タイプが一致しない場合は修理に使うアイテムに表示されません。
<Unbreakable Durability> 修理コマンドで選択中の装備から耐久度を取り除き、壊れなくします。
<Unbreakable Weapon> 修理コマンドで選択中の武器から耐久度を取り除き、壊れなくします。
選択中の装備が防具の場合は修理に使うアイテムに表示されません。
<Unbreakable Armor> 修理コマンドで選択中の防具から耐久度を取り除き、壊れなくします。
選択中の装備が武器の修理時には修理に使うアイテムに表示されません。
<Unbreakable WType 武器タイプID> 修理コマンドで選択中の武器から耐久度を取り除き、壊れなくします。
武器タイプが一致しない場合は修理に使うアイテムに表示されません。
<Unbreakable AType 防具タイプID> 修理コマンドで選択中の防具から耐久度を取り除き、壊れなくします。
防具タイプが一致しない場合は修理に使うアイテムに表示されません。

汎用ノートタグ

戦闘時や、(修理コマンドではなく)アイテムを使った時用のノートタグです。

値には+または-をつける必要があります。
+で耐久度回復、-で耐久度減少です。

符号をつけわすれると効果がないので注意!

<User Weapon Durability: +10>

<User Weapon Durability: 10>
↑ 符号がないので効果がありません。

アイテムになにも効果がない場合はアイテムが使用できないので、ダミーの効果を設定する必要があります。

たとえば「耐久度回復」というなにも効果のないステートを作り、アイテムの効果にステート付与(耐久度回復)とステート解除(耐久度回復)を設定するなど。

戦闘中にアイテムを使用した時のメッセージは、ステートの「アクターがこの状態になった時」欄に記入すれば表示されます。

<User ~>系は戦闘用です。
移動中に使った場合は先頭のアクターの武器の耐久度が回復します。

ノートタグ 説明
<User Weapon Durability: +値> 使用者の武器の耐久度を増減します。
<User All Weapon Durability: +値 使用者のすべての武器の耐久度を増減します。
<User Random Weapon Durability: +値> 使用者が装備しているの武器のうち1つをランダムで選び、耐久度を増減します。
<User Armor Durability: +値> 使用者の防具の耐久度を増減します。
<User All Armor Durability: +値> 使用者のすべての防具の耐久度を増減します。
<User Random Armor Durability: +x 使用者が装備している防具のうち1つをランダムで選び、耐久度の増減をします。
<Target Weapon Durability: +値> 対象者の武器の耐久度を増減します。
<Target All Weapon Durability: +値> 対象者のすべての武器の耐久度を増減します。
<Target Random Weapon Durability: +値> 対象者の装備している武器のうち1つをランダムで選び、耐久度を増減します。
<Target Armor Durability: +値> 対象者の防具の耐久度を増減します。
Target All Armor Durability: +値> 対象者のすべての防具の耐久度を増減します。
<Target Random Armor Durability: +値> 対象者の装備している防具のうち1つをランダムで選び、耐久度を増減します。

装備が壊れた時の効果音を変更する

武器、防具のノートタグで壊れた時の効果音を設定できます。

ノートタグ 説明
<Break Sound Name: filename> 装備が壊れた時の効果音をfilenameで指定した効果音にします。
filenameは拡張子を抜いたファイル名を指定します。
<Break Sound Volume: x> 装備が壊れた時の効果音の音量
<Break Sound Pitch: x> 装備が壊れた時の効果音のピッチ
<Break Sound Pan: +x> 装備が壊れた時の位相

メニューの項目名を日本語にする

YEP_ItemCoreの独自アイテム画面を使う場合、デフォルトだと項目名が英語になっています。

表示する項目名はプラグインパラメータから変更が可能です。

YEP_ItemCoreのパラメータ

プラグインパラメータ 説明
Recovery Format アイテム効果(回復)のテキスト。
Add State アイテム効果(ステート付与)のテキスト。
Add Buff アイテム効果(強化付与)のテキスト。
Remove State アイテム効果(ステート解除)のテキスト。
Remove Buff アイテム効果(強化解除)のテキスト
Use Command アクションコマンド「使う」のテキスト。
%1で対象のアイテム名を入れられます。
YEP_ItemCoreプラグインパラメータ対応図

YEP_ItemDurabilityのパラメータ

プラグインパラメータ 説明
Broken Text 耐久度が0になって装備品が壊れた時のメッセージ。
%1でアクター名、%2でアイテム名、%3でアイテムアイコンを入れられます。
Repair Command アクションコマンドの修理コマンドの名前。
%1で装備品の名前を入れられます。
Durability Text 情報ウィンドウに表示される耐久度の見出し名。
Unbreakable Text 壊れない装備品の耐久度欄に表示する文字。
YEP_X_ItemDurabilityプラグインパラメータ対応図

【上級者向け】装備が壊れた時などにスクリプトを実行する

メモ欄でLunatic Mode用のタグを使うと、装備が壊れた時や耐久度が更新された時に任意のスクリプトを実行できます。

  <Custom Break Effect>
   // 装備が壊れた時に実行するスクリプト
  </Custom Break Effect>

ぜんぶ解説すると長くなるので、詳しくはプラグインの説明を読んでみてください。

アイテムの名前や説明欄に耐久度を表示する

YEP_X_ItemDurabilityは大変すばらしいプラグインなのですが、装備変更画面で耐久度が見られないという欠点があります。

制御文字を使って、アイテムの名前や説明に耐久度を表示できるようにしてみましょう。

アイテム名や説明に制御文字を使うには「ItemNameEscape.js」という、これまた素晴しいプラグインがあります。

これを再利用してYEP_X_ItemDurability用の制御文字を追加するプラグイン「CustomItemEscapeCharacterDurability.js」を作ってみました。

ダウンロード

IEを使っている人はボタンを右クリック→対象をファイルに保存でダウンロードしてください。

YEP_X_ItemDurability.jsとItemNameEscape.jsのあとに読みこんでください。

\Dで現在の耐久度、\MDで最大耐久度を表示できます。

壊れないアイテムの耐久度は「-」表示になります。

設定例

アイテム名に[耐久度]、アイテムの説明に耐久度: 耐久度 / 最大耐久度を表示するようにしてみました。

データベースの設定データベースの設定

制御文字で耐久度表示 表示例耐久度表示例
制御文字で耐久度表示 表示例2耐久度表示例(壊れないアイテムの場合)

戦闘中に装備変更できるようになるプラグイン「ChangeEquipBattle.js」と併用もできますが、同じアクターが連続で装備ウィンドウを開いた場合、アイテム名に設定した耐久度が更新されません。

アイテム名に耐久度を表示している場合は、ChangeEquipBattle.jsのcommandEquipにthis._eStatusWindow.refresh();を追加してください。

    Scene_Battle.prototype.commandEquip = function() {
        var actor = BattleManager.actor();
        this._eStatusWindow.setActor(actor);
        this._eSlotWindow.setActor(actor);
        this._eItemWindow.setActor(actor);
        this._eStatusWindow.open();
        this._eSlotWindow.open();
        this._eItemWindow.open();
        this._helpWindow.show();
        this._actorCommandWindow.deactivate();
        this._eSlotWindow.activate();
        this._eSlotWindow.select(0);
        this._activeEquip = true;
        this._eSlotWindow.refresh();
    };