概要
オンラインMMORPGによくあるような武器強化システムを導入します.
お金を払って強化を実行することで武器を強化します.
強化の度合いや限度,成功確率などは好みに設定できます.
アイテムセグメントver1.11以上が必須です.
スクリプト
中身をすべてコピーして,ツクールのスクリプトに新たなセクションを作成し,貼り付けてください.
使用方法
スクリプトに丸ごと貼り付けていただければ使用できます.
装備強化画面を呼び出すことで,装備強化を行うことができます.
装備強化画面を呼び出すにはマップ画面でイベントのスクリプトから以下の式を実行します.
FES.call_forge_equipment
また,強化済みの武器,防具の入手についてはそれぞれイベントのスクリプトから以下の式を実行します.
FES.gain_forge_weapon(id, level, amount)
FES.gain_forge_armor(id, level, amount)
上記メソッドの引数は装備のID,設定レベル,入手個数を引数に指定します.
詳細設定にて装備強化の設定を行うことができます.
- FORGABLE
- 装備の強化が可能かどうかのデフォルトの設定です
- NAME_LEVEL
-
レベル名の付け方です.
ここで設定した名前に対してnextメソッドを呼ぶことでレベルに応じたアイテム名を表示します.
- NAME_HEADER_PLUS
- レベルがプラスのときレベル名の前につく文字列です
- NAME_HEADER_MINUS
- レベルがプラスのときレベル名の後につく文字列です
- NAME_FOOTER_PLUS
- レベルがマイナスのときレベル名の前につく文字列です
- NAME_FOOTER_MINUS
- レベルがマイナスのときレベル名の前につく文字列です
以下の設定では強化したアイテムの現在のレベルの能力などを求めるための式を設定します.
evalで評価されるためRubyの通常の式を描くことができます.
このとき,対象の装備のパラメータを参照することができます.
各種評価式中で使える特殊な変数
| 変数 |
説明 |
| level |
アイテムの現在の強化レベル |
| price |
オリジナルのアイテムの価格 |
| atk |
オリジナルのアイテムの攻撃力の上昇値 |
| _def |
オリジナルのアイテムの防御力の上昇値 |
| mat |
オリジナルのアイテムの魔法力の上昇値 |
| mdf |
オリジナルのアイテムの魔法防御力の上昇値 |
| agi |
オリジナルのアイテムの敏捷性の上昇値 |
| luk |
オリジナルのアイテムの運の上昇値 |
| mhp |
オリジナルのアイテムの最大HPの上昇値 |
| mmp |
オリジナルのアイテムの最大MPの上昇値 |
| etype_id |
アイテムの装備タイプID |
| id |
アイテムのid |
- FORGE_PRICE
- 装備強化にかかる費用の式
- PRICE
- 装備の価格の式
- SUC
- 強化成功率の式
- ATK
- 攻撃力上昇値の式
- DEF
- 防御力上昇値の式
- MAT
- 魔法力上昇値の式
- MDF
- 魔法防御力上昇値の式
- AGI
- 敏捷性上昇値の式
- LUK
- 運上昇値の式
- MHP
- 最大HP上昇値の式
- MMP
- 最大MP上昇値の式
- UPPER_LIMIT_LEVEL
- 強化レベルの最大
- LOWER_LIMIT_LEVEL
- 強化レベルの最小
以下の設定では強化に失敗したときのペナルティを設定します.
ペナルティにはいくつか段階があります.
ペナルティの種類
| ペナルティレベル |
効果 |
| 0 |
変化なし |
| 1 |
指定した分だけレベルが下がる |
| 2 |
指定したレベルになる |
| 1 |
アイテム消失 |
PENALTY1,2ではそのペナルティの適用開始レベルと値のペアの配列を任意個並べた配列を格納します.
PENALTY3では適用開始レベルを格納します.
適用開始レベルが同じものがある場合,レベルの高いペナルティが優先されます.
ペナルティレベル1,2,3に該当する強化レベルでない場合はペナルティレベル0になります.
- PENALTY1
-
ペナルティレベル1の配列
(例・[[5,1],[10,3]]:5レベルから1レベル減少,10レベルから3レベル減少のペナルティ)
- PENALTY2
-
ペナルティレベル2の配列
(例・[[15,0]]:15レベルからレベル0になるペナルティ)
- PENALTY3
- ペナルティレベル3の適用開始レベル(nilでペナルティ3はなし)
- DISPLAY_SUCCESS
- 装備強化画面で強化成功率を表示するか
- DISPLAY_PENALTY
- 装備強化画面でペナルティを表示するか
以下の設定では装備強化画面で鳴らす効果音を指定できます.
- FORGE_SOUND
- 強化実行時効果音のファイル名
- FORGE_VOLUME
- 強化実行時効果音のボリューム
- FORGE_PITCH
- 強化実行時効果音のピッチ
- SUCCESS_SOUND
- 強化成功時効果音のファイル名
- SUCCESS_VOLUME
- 強化成功時効果音のボリューム
- SUCCESS_PITCH
- 強化成功時効果音のピッチ
- MISS_SOUND
- 強化失敗時効果音のファイル名
- MISS_VOLUME
- 強化失敗時効果音のボリューム
- MISS_PITCH
- 強化失敗時効果音のピッチ
また,アイテムのメモ欄にてアイテムごとに強化の設定を行うことができます.
==装備強化Forgable:xxx==
xxxにtrueかfalseを指定して,強化可能なアイテムかどうか設定します .
==装備強化Level:xxx==
レベル名を設定します.
==装備強化PlusHeader:xxx==
レベルがプラス時のヘッダーを設定します.
==装備強化MinusHeader:xxx==
レベルがマイナス時のヘッダーを設定します.
==装備強化PlusFooter:xxx==
レベルがプラス時のフッターを設定します.
==装備強化MinusFooter:xxx==
レベルがマイナス時のフッターを設定します.
==装備強化ForgePrice:xxx==
強化費用の式を設定します.
==装備強化Price:xxx==
価格の式を設定します.
==装備強化Success:xxx==
成功率の式を設定します.
==装備強化Atk:xxx==
攻撃力上昇値の式を設定します.
==装備強化Def:xxx==
防御力上昇値の式を設定します.
==装備強化Mat:xxx==
魔法力上昇値の式を設定します.
==装備強化Mdf:xxx==
魔法防御力上昇値の式を設定します.
==装備強化Agi:xxx==
敏捷性上昇値の式を設定します.
==装備強化Luk:xxx==
運上昇値の式を設定します.
==装備強化MaxHP:xxx==
最大HP上昇値の式を設定します.
==装備強化MaxMP:xxx==
最大MP上昇値の式を設定します.
==装備強化UpperLevel:xxx==
強化レベルの最大を設定します.
==装備強化LowerLevel:xxx==
強化レベルの最小を設定します.
==装備強化Penalty1:xxx==
ペナルティレベル1の適用配列を設定します.
==装備強化Penalty2:xxx==
ペナルティレベル2の適用配列を設定します.
==装備強化Penalty3:xxx==
ペナルティレベル3の適用開始レベルを設定します.
注意
このスクリプトでは「RPG::BaseItem」「RPG::EquipItem」「Game_Party」のメソッドを改変しています.