QLOOK ANALYTICS
サイトマップ :

アイテムセグメント(RGSS3)
Ver1.17(2015/09/01)

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

web拍手

概要

同じ種類のアイテムでも個別に保持し,セグメントと呼ばれる小分けの単位でアイテムを管理します.

複数選択機能ver1.00以上が必須です.

アイテムセグメント(RGSS3)のスクリーンショット

位置

特に指定はありませんが,再定義が多いのでできるだけ上の方を推奨します

スクリプト

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

更新履歴

  1. 2014/04/22…スキル習得アイテムがスキルを習得済みでも使用できるバグを修正
  2. 2014/02/06…イベントコマンドによる装備の変更に関するバグを修正
  3. 2014/01/21…条件分岐にて装備中判定が正常に行われないバグを修正
  4. 2014/01/16…攻撃回数追加の特徴が反映されないバグを修正
  5. 2013/10/20…バージョン番号のズレを修正
  6. 2013/02/11…装備の特徴で追加されたスキルが使用不可になる問題,レベルアップ時に何度もスキル習得が表示される問題を修正
  7. 2012/09/12…アイテムIDシフトによる個別化に対応するための更新
  8. 2012/08/31…公開

使用方法

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

まずこのスクリプトの概念の説明をします.
VXAceデフォルトの仕様ではアイテムはアイテムIDごとに個数(整数)で管理されています.
このスクリプトではアイテム一つ一つを別のオブジェクトとして管理します.
この一つ一つを拡張アイテムと呼ぶことにします.
なので,同じアイテムでも一つだけ効果が違ったり,強化したりすることが可能になります.

また,アイテムごとに最大所持数を変更でき,セグメントとよばれるアイテムをひとまとまりにする単位の個数もアイテムごとに指定できます.
例えば,最大所持数50,セグメントサイズ10のアイテムAは
A:10,A:10,A:10,A:10,A:10
と所持したり
A:10,A:5,A:6,A:5,A:5,A:8,A:8,A:1
と所持したりすることができます.

セグメントサイズの設定

詳細設定から各種セグメントサイズのデフォルトを指定できます.
また,アイテムごとに設定するにはアイテムのメモ欄に以下の様に記述します.
すると,そのアイテムのセグメントサイズはがxになります.

==セグメントサイズx==

セグメントサイズを1にするとそのアイテムは一つずつ個別に所持します.

最大所持数の設定

詳細設定から各種最大所持数のデフォルトを指定できます.
また,アイテムごとに設定するにはアイテムのメモ欄に以下のように記述することで,そのアイテムの最大所持数をxにできます.

==最大所持数x==

最大所持数をセグメントサイズの倍数にしておくとアイテムを綺麗にまとめられます.

スキルについて

このスクリプトでは拡張のためにスキルについてもセグメントを導入しています.
しかし,このスクリプト単体ではスキルの最大所持数やセグメントサイズを変えても利点は特にありません.

アイテム画面

詳細設定のITEM_SELECT_EXTENDがtrueのとき,アイテム画面にてセグメントを選択すると拡張アイテム選択ウインドウが開き,セグメント内の任意の拡張アイテムを選択することができます.
ITEM_SELECT_EXTENDをfalseにするとセグメントを選択すると自動的にセグメント内の先頭のアイテムが選択されます.
セグメントサイズ1のアイテムのみしか効果に差異をつけないとわかっているような場合ではITEM_SELECT_EXTENDをfalseにしても良いでしょう.

デフラグ

アイテムの追加や売却などで同じ種類のセグメントが無駄に増えてきます.
このとき詳細設定でDEFLAGをtrueにしておけば「まとめる」コマンドが使用でき,セグメント数ができるだけ少なくなるようにまとめることができます.
この機能には「BMSP 複数選択機能」を使用していて,アイテム画面で複数選択ボタンを押すとまとめるためのウインドウが表示されます.
「全部まとめる」を選ぶと,選択しているアイテムのセグメントをすべてまとめます.
「選んでまとめる」を選ぶと,選択しているアイテムを基準にして同じ種類のセグメントを任意個選択し,それらをまとめることができます.

アイテムの増減について

イベントコマンドでアイテムの減少を行うと,対応するセグメント一覧の最初から順番に削除されていきます.

アイテム選択の処理

イベントコマンド「アイテム選択の処理」は,詳細設定のITEM_SELECT_EXTENDがtrueのとき,選んだ拡張アイテムのアイテムオブジェクトが指定した変数に格納されます.
なので,通常の変数の大小による比較はできなくなるので注意してください.
なにも選ばなかった場合は通常通り0が格納されます.
ITEM_SELECT_EXTENDがfalseのときはアイテム選択の処理の挙動はデフォルトと同じです.
ただしこの場合は選んだアイテムIDしか得られないため,拡張アイテムを直接指定してアイテムを減少させたりすることはできなくなります.

まとめ売り

詳細設定でSHOP_EXTENDをtrueにするとショップ画面での売却を拡張アイテムごとに行うことができます.
また,複数選択ボタンを押すことでセグメントを一気に指定してまとめて売却することができます.
SHOP_EXTENDがfalseの場合はデフォルトのショップ画面と同じ仕様になり,セグメント内のアイテムは先頭から順番に売却されます.

VXAceデフォルトの仕様

例えば武器だけセグメントサイズを1にして残りのアイテムはデフォルトのままで管理するので,いちいち拡張アイテム選択ウインドウいらないんだけど!などのような場合,NEW_SEGMENT,DEFLAG,SHOP_EXTEND,ITEM_SELECT_EXTENDをすべてfalseにすることでデフォルトの挙動に近づけることが可能です.

注意

このスクリプトでは「RPG::BaseItem」「RPG::Skill」「RPG::Weapon」「RPG::Armor」「BattleManager」「Game_BaseItem」「Game_Actor」「Game_Party」「Game_Action」「Window_ItemList」「Window_SkillList」「Window_BattleItem」「Window_BattleSkill」「Window_EquipItem」「Window_KeyItem」「Window_Message」「Window_ShopSell」「Window_ShopNumber」「Scene_Shop」「Scene_ItemBase」「Scene_Item」「Scene_Skill」「Scene_Equip」「Scene_Battle」のメソッドを改変しています.

Valid XHTML 1.0 Transitional