キャラクターごとに個別にアイテムを所持します – Mano_ItemPocket.js
- タイトル
- キャラクターごとに個別にアイテムを所持します
- 作者名
- しぐれん様
- ヘルプ
- アクターごとにアイテムを所持させることができます。
スイッチを設定するパラメータは、無指定の場合false(OFF)として扱います。
<MaxAmount:2>
アイテム側に上記の記述をすることで、所持数を制限できます。
この場合は、ポケットにその種類のアイテムを入れる数を2個までに制限できます。
<Weight:8>
アイテムに重さを設定できます。
設定しない場合、デフォルトの重さが指定されます。
■アイテムを持っているかのチェックについて
持っているかどうかのチェックは、ポケットに対しては行いません。
イベントコマンドでチェックしたい場合、checkPocketを実行することで
・スクリプトで調べる
条件分岐(スクリプト)に以下の記述を行うことでもチェックできます。
$gameParty.isInPocket(アイテムの番号);
特定のアクターが持っているかはGame_ActorにあるisInPocket()関数を使います。
呼びだし方は以下の通りです。
actor.isInPocket(アイテムの番号)
$gameActor.actor(アクターの番号).isInPocket(アイテムの番号)
■プラグインコマンドについて
条件分岐でポケットにあるアイテムをチェック対象にする場合、
以下のプラグインコマンドのどれかを実行します。
設定を変更した場合、次の条件分岐1回だけ有効になります。
◆Pocket PartyInclude
パーティにいるキャラのポケットを調べます。
◆Pocket AllInclude
全てのアクターの所持アイテムをチェックします。
DS版DQ4には世界樹の葉を大量に所持できてしまうバグがあるのですが、
そういった現象への対策です。
◆Pocket SaveTemporary
パーティにいるアクターが所持しているアイテムを一時的に通常の所持アイテムへ戻します。
これと同時に、所持アイテムの状態を別の場所へ記録します。
このデータはセーブデータの一部として、$gamePartyに記録されます。
既に記録している場合、例外を投げます。(エラーで落ちます)
◆Pocket LoadTemporary
SaveTemporaryで解放したデータを元に戻します。
同時に、一時データを削除します。
データがない状態でこの関数を呼ぶと、エラーで落ちます。
■メモについて
メモ欄で、アクターの初期アイテムが設定できます。
以下のような内容で書き込むと、
ID1のアイテムを4個・ID2のアイテムを3個持った状態で加入します。
<PocketItem[1]:4>
<PocketItem[2]:3>
■競合について
Game_Battler.consumeItemを再定義しているプラグインとは競合する可能性があります。
これは、アイテムを減らす処理において
Game_Battler.consumeItemを使わないようにしているからです。
対応パッチは作成しますので、問題があった際には積極的に報告お願いします。
Twitterの方が反応速いです。
■メソッドの命名法則
以下の通りです。
execute()
を実際に実行する関数。
必要なWindowを開く部分はの方にあります。
start
end
Scene_ItemPocketにおいて、
特定の処理を開始する場合と終了する場合のペアです。
startでウィンドウを開き、endで閉じています。
※ヘルプの書き途中です。
ver 2.0.0(2018/03/22)
タッチ操作周辺の不具合を修正
本体のクラス構文を旧来の書き方からES5以降の物へ変更
多数のエンバグ発生の可能性あり
ver 2.1.0 (2018/03/28)
ヘルプ表示を増やし、UIを改善
プラグインパラメータの一部を破壊的変更(互換切り)
ver 1.4.0
タッチ操作向けのボタンを追加。
ver 1.3.0
MA_ItemPocket.addItem()にバグが発覚したので修正。
アイテムを渡す機能を実装。
ver 1.2.0(2017/09.13) アイテムの重さ機能を実装
ver 1.1.0(2017/09/05) マイセット機能を実装
ver 1.0.0(2017/08/26) イベントコマンド「条件分岐」で、アイテム所持をチェックできるようにした。
DQ風所持モードの拡張プラグインを追加。
ver 0.7.5(2017/06/28) アイテムの出し入れで個数指定を可能にし、入れられない時はグレーアウト。
ver 0.7.0(2017/06/21) バトル中にアイテムを使えるようになった
ver 0.6.3(2017/06/21) バトルに少しだけ対応。
ver 0.6.0(2017/06/20) アイテムを持たせることができるようになった。
ver 0.5.0(2017/06/20) 公開 - パラメータ
-
param menuCommand text コマンド名 desc メニュー画面におけるアイテム所持のコマンド名 type string default アイテム所持 param menuCommandPosition text コマンドの位置 desc アイテム所持コマンドの位置を調整します type select option オリジナルコマンドの位置 value 0 option 「アイテム」の上 value 1 default 0 param usingWeight text 「重さ機能」の有効化 desc アイテムの重さ機能を使うかどうかを定義します
※ゲーム実行中は変更できませんtype boolean on 使う off 使わない default false param defaultWeight text 重さ初期値 desc アイテムのデフォルトの重さ
メモに何も書かなかった場合、ここに指定した数値が代入されます。type number default 1 parent usingWeight param weightText desc 重さの表示形式(個数指定時) default 重さ parent usingWeight param command2 type struct<CommandSetting>[] default [] param command text コマンドリスト desc ゲーム中で有効なコマンドの一覧です。
ここで並び順を調整できます。default ["use","pass","swap","remove","add","myset"] type select[] option use option pass option add option swap option remove option myset param use type struct<CommandSetting> desc アイテムを使うコマンド名 default {"name":"使う","description":""} parent command param swap type struct<CommandSetting> desc アイテムを入れ替えるコマンド名 default {"name":"入れ替え","description":""} parent command param remove type struct<CommandSetting> desc アイテムをしまうコマンド名 default {"name":"しまう","description":""} parent command param add type struct<CommandSetting> desc アイテムを入れるコマンド名 default {"name":"入れる","description":""} parent command param pass type struct<CommandSetting> desc アイテムを渡すコマンド名 default {"name":"わたす","description":""} parent command param myset type struct<CommandSetting> desc マイセットのコマンド名 default {"name":"マイセット","description":"アイテム所持の組み合わせを保存できます"} parent command param sort type struct<CommandSetting> desc アイテムのソートのコマンド名 default {"name":"整列","description":""} parent command param numberSelectHelp type string desc 個数を選択するときのヘルプ文章を設定します default 左右キーで個数を選択 param sound text 効果音 param mysetSaveSound desc マイセットのセーブに使われる効果音 default Save require 1 dir audio/se/ type file parent sound param mysetLoadSound desc マイセットのセーブに使われる効果音 default Equip1 require 1 dir audio/se/ type file parent sound param InsertForPocket type switch desc 指定したスイッチがONの時、
新しく手に入れたアイテムを先頭のアクターのポケットに入れます。param pocketKeepByremoveActor desc 指定したスイッチがONの時、
パーティからの離脱の時アイテムを持たせたままにします。type switch default 0 param pocket text ポケットの設定 param maxAmount type number desc 1種類当たりの入れることができる量を定義します。 default 99 parent pocket param pocketSize type number desc ポケットに入れることができるアイテムの種類を設定します。 default 6 parent pocket param canDuplicate type boolean 同じ種類のアイテムをポケットに入れることができるかを定義します。 default false param MaxColor type number desc 最大個数を所持している際の表示色を設定します。
システムのカラー番号で指定されます。default 18 parent pocket param NotEnoughColor type number desc マイセット実行時に、アイテムが足りなかった時の色を設定します 未実装 default 4 param usingMyset type boolean desc マイセット機能を使うかどうかを定義します on 使う off 使わない default true parent myset param mysetSize type number desc マイセットの保存数を定義します default 8 parent myset param mysetFormat type string desc マイセットのデフォルト名です default マイセット【%1】 parent myset param saveMyset type string desc マイセットを保存する時のコマンドです default マイセットの保存 parent myset param saveMysetHelp type string desc マイセットを保存する時のヘルプ表示 default 保存先の選択 parent myset param loadMyset type string desc マイセットを読み込む時のコマンドです。 default マイセットの読み込み parent myset param loadMysetHelp type string desc マイセットを保存する時のヘルプ表示 default 読み込むデータの選択 parent myset param renameMyset type string desc マイセットの登録名を変更する時のコマンド名です default マイセットの名前変更 parent myset param developMode type boolean desc 開発モードフラグです。ダミーデータなどの設定が入っています。 default false - ライセンス表記
- Copyright (c) 2017-2017 Sigureya
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php
item.amount = Math.min( this.numItemsForParty(i),item.amount );
紹介ページ https://github.com/Sigureya/RPGmakerMV/blob/master/Mano_ItemPocket.js