QLOOK ANALYTICS
サイトマップ :

装備耐久度(RGSS3)
Ver1.11(2013/11/25)

どういったものに需要があるかなど
スクリプト製作の参考にしたいので,
いいね!と思ったスクリプトにクリックお願いします.

web拍手

概要

装備に耐久度性を導入します.
装備の様々な条件で耐久度を変更させたり,耐久度によって装備の性能を変動させることができます.

アイテムセグメントver1.12以上が必須です.

装備耐久度(RGSS3)のスクリーンショット

併用

  • ダメージイベントver1.02以上」と併用することで戦闘時に装備の耐久度を様々な条件で自動的に変動させることができます.

スクリプト

中身をすべてコピーして,ツクールのスクリプトに新たなセクションを作成し,貼り付けてください.

更新履歴

  1. 2013/11/25…修理画面に一括修理を追加
  2. 2013/10/20…公開

使用方法

スクリプトに丸ごと貼り付けていただければ使用できます.

装備修理画面を呼び出すことで,装備の修理を行うことができます.
装備修理画面を呼び出すにはマップ画面でイベントのスクリプトから以下の式を実行します.

ED.call_repair_equipment

デフォルトでは修理にお金を消費しますが,引数に整数を渡すことでそのIDに対応する変数の値を消費して修理することができます.

例・変数001を消費して装備を修理する

ED.call_repair_equipment(1)

また,耐久度を変化させた武器,防具の入手についてはそれぞれイベントのスクリプトから以下の式を実行します.

ED.gain_durability_weapon(id, durability, amount)
ED.gain_durability_armor(id, durability, amount)

上記メソッドの引数は装備のID,設定耐久度,入手個数を引数に指定します.

詳細設定にて装備耐久度の設定を行うことができます.

ENABLE_DURABILITY
装備の耐久度が有効かどうかのデフォルトの設定です

以下の設定では耐久度によるアイテムの性能を求めるための式を設定します.
evalで評価されるためRubyの通常の式を描くことができます.
このとき,対象の装備のパラメータを参照することができます.

各種評価式中で使える特殊な変数
変数 説明
dur アイテムの現在の耐久度
mdur アイテムの最大耐久度
price オリジナルのアイテムの価格
atk オリジナルのアイテムの攻撃力の上昇値
_def オリジナルのアイテムの防御力の上昇値
mat オリジナルのアイテムの魔法力の上昇値
mdf オリジナルのアイテムの魔法防御力の上昇値
agi オリジナルのアイテムの敏捷性の上昇値
luk オリジナルのアイテムの運の上昇値
mhp オリジナルのアイテムの最大HPの上昇値
mmp オリジナルのアイテムの最大MPの上昇値
etype_id アイテムの装備タイプID
id アイテムのid
REPAIR_PRICE
装備修理にかかる費用の式(お金の時)
REPAIR_POINT
装備修理にかかる費用の式(変数の時)
PRICE
装備の価格の式
SUC
強化成功率の式
ATK
攻撃力上昇値の式
DEF
防御力上昇値の式
MAT
魔法力上昇値の式
MDF
魔法防御力上昇値の式
AGI
敏捷性上昇値の式
LUK
運上昇値の式
MHP
最大HP上昇値の式
MMP
最大MP上昇値の式
DEFAULT_DURABILITY
耐久度の初期値
MAX_DURABILITY
最大耐久度
REPAIR_DURABILITY
修理後の耐久度
DESTROY
trueのとき耐久度が0になると装備が破棄されます
PENALTY
修理に失敗したときのペナルティを設定します.
ペナルティには以下の種類から選択します.
:none
ペナルティなし
:break
装備の破壊
(自然数)
耐久度が(自然数)になる
DISPLAY_SUCCESS
装備強化画面で強化成功率を表示するか
DISPLAY_PENALTY
装備強化画面でペナルティを表示するか
POINT_UNIT
変数を消費して修理する時の通貨単位?です.
キー:defaultにはデフォルトの単位を指定します.
自然数をキーにして単位を設定すると,そのIDの変数を利用する時その単位が表示されます.
BROKEN_MESSAGE
trueのとき戦闘中装備が壊れた旨を表示します
MESSAGE_FMT
装備破壊時に表示されるメッセージです.
アクターの名前,装備名が置換されます
DEGRADE_EXPS
後述するダメージイベントを利用して耐久度を変動させる場合に使用する耐久度減少式です.
任意のキーに対して式を文字列で設定し,装備耐久度イベント内で設定したキーを指定します.
このとき,対象の装備のパラメータおよび各種ダメージイベントで参照可能な情報を参照することができます.
耐久度減少式中で使える特殊な変数
変数 説明
dur アイテムの現在の耐久度
mdur アイテムの最大耐久度
price オリジナルのアイテムの価格
atk オリジナルのアイテムの攻撃力の上昇値
_def オリジナルのアイテムの防御力の上昇値
mat オリジナルのアイテムの魔法力の上昇値
mdf オリジナルのアイテムの魔法防御力の上昇値
agi オリジナルのアイテムの敏捷性の上昇値
luk オリジナルのアイテムの運の上昇値
mhp オリジナルのアイテムの最大HPの上昇値
mmp オリジナルのアイテムの最大MPの上昇値
etype_id アイテムの装備タイプID
id アイテムのid
ダメージイベントの各種変数 subject, target などタイプによる
DRAW_GAUGE
trueの時装備アイコンに耐久度ゲージを描画します
GAUGE_MAX_DURABILITY
ゲージが最大になる耐久度です.
装備の最大耐久度より小さくすることで例えば耐久度120%の装備などを表現することができます.
GAUGE_EDGECOLOR
ゲージの縁の色(nilで描画しません)
GAUGE_BACKCOLOR
ゲージの背景色(nilで描画しません)
GAUGE_COLOR
ゲージの色
GAUGE_MAXCOLOR
ゲージ最大時の色
GAUGE_OVERCOLOR
ゲージ限界突破時の色
BROKENCOLOR
耐久度が0のときの装備名の文字色(nilで変更しません)

以下の設定では装備修理画面で鳴らす効果音を指定できます.

REPAIR_SOUND
修理実行時効果音のファイル名
REPAIR_VOLUME
修理実行時効果音のボリューム
REPAIR_PITCH
修理実行時効果音のピッチ
SUCCESS_SOUND
修理成功時効果音のファイル名
SUCCESS_VOLUME
修理成功時効果音のボリューム
SUCCESS_PITCH
修理成功時効果音のピッチ
MISS_SOUND
修理失敗時効果音のファイル名
MISS_VOLUME
修理失敗時効果音のボリューム
MISS_PITCH
修理失敗時効果音のピッチ

また,アイテムのメモ欄にてアイテムごとに耐久度の設定を行うことができます.

==装備耐久度EnableDurability:xxx==

xxxにtrueかfalseを指定して,耐久度のあるアイテムかどうか設定します.

==装備耐久度RepairPrice:xxx==

お金による修理費用の式を設定します.

==装備耐久度RepairPoint:xxx==

変数による修理費用の式を設定します.

==装備耐久度Price:xxx==

価格の式を設定します.

==装備耐久度Success:xxx==

修理成功率の式を設定します.

==装備耐久度Atk:xxx==

攻撃力の式を設定します.

==装備耐久度Def:xxx==

防御力の式を設定します.

==装備耐久度Mat:xxx==

魔法力の式を設定します.

==装備耐久度Mdf:xxx==

魔法防御力の式を設定します.

==装備耐久度Agi:xxx==

敏捷性の式を設定します.

==装備耐久度Luk:xxx==

運の式を設定します.

==装備耐久度MaxHP:xxx==

最大HPの式を設定します.

==装備耐久度MaxMP:xxx==

最大MPの式を設定します.

==装備耐久度DefaultDurability:xxx==

初期耐久度を設定します.

==装備耐久度MaxDurability:xxx==

最大耐久度を設定します.

==装備耐久度RepairDurability:xxx==

修理成功時の耐久度を設定します.

==装備耐久度GaugeMax:xxx==

ゲージの最大耐久度を設定します.

==装備耐久度Destroy:xxx==

xxxにtrueかfalseを指定して耐久度が0になったとき装備が破棄されるか設定します.

==装備強化Penalty:xxx==

ペナルティを設定します.
xxxにはbreak,none,(自然数)のいずれかを指定します.

ダメージイベントを利用した耐久度の減少

基本的にはダメージイベントのコモンイベントの作り方と同様ですが,以下の点が異なります.

一行目の注釈
==装備耐久度イベント:%types%:%timing%==
条件注釈の最後に耐久度変動注釈を追加
耐久度変動#%args%
%args%は以下のフォーマットで置き換えます.
:actor => xxx, :exp => xxx, %オプション% => xxx, ...
:actor
耐久度の影響を受けるアクター,もしくはアクターの配列を指定します.
:exp
DEGRADE_EXPSのキーを指定します.
この式の評価結果の分だけ耐久度が減少します.
%オプション%は無くても構いませんが,設定するとより影響を受ける装備についてより細かい設定を行うことができます.
%オプション%には以下の項目があります.
:slot_id
装備のスロットIDもしくはスロットIDの配列で指定します.
ここで指定したスロットIDの装備のみ耐久度が変動します.
省略すると全てのスロットIDの装備耐久度が減少します.
:equip_type
装備タイプIDもしくは装備タイプIDの配列で指定します.
ここで指定した装備タイプIDの装備のみ耐久度が変動します.
省略すると全ての装備タイプIDの装備耐久度が減少します.
:id
装備のアイテムIDもしくはアイテムIDの配列で指定します.
ここで設定したアイテムIDの装備の耐久度が変動します.
省略すると全てのアイテムIDの装備耐久度が変動します.
耐久度変動注釈は%args%の途中に改行が入っても構いません.

これらの違い以外はダメージイベントと同じ挙動をするので,ダメージイベントの条件注釈および耐久度変動注釈でうまく条件を設定し,装備の耐久度を減少させます.
また,装備耐久度イベントのイベント内容自体も実行されます.

例・ID001のスキルを使用されたアクターの防具(装備タイプ1,2,3,4)に対して,耐久度減少式:armorを適用する

注釈:==装備耐久度イベント:HP:表示前==
注釈:action.id == 1
注釈:耐久度変動#:actor => target, :exp => :armor,
      :equip_type => [1,2,3,4]

注意

このスクリプトでは「RPG::BaseItem」「RPG::EquipItem」「Game_Actor」「Game_Party」「Scene_Battle」「Window_BattleLog」「Window_Base」「Window_ShopBuy」のメソッドを改変しています.

Valid XHTML 1.0 Transitional