備忘録_武器(防具)をお気に入り登録してショップで売れないようにする

ツクる上でのちょっとした小ネタや裏ワザなどを紹介してみましょう。
ディザ
記事: 28
登録日時: 2023年7月14日(金) 04:56

備忘録_武器(防具)をお気に入り登録してショップで売れないようにする

投稿記事by ディザ » 2023年7月15日(土) 03:35

装備品の能力がランダムに決まるタイプのゲームでは、後でまた装備するけど、今は別のアイテムを装備する。
といったことがしばしばあります。(炎のダンジョンで炎属性の付いた剣を外す等)
こういった時に、誤ってショップで装備品を売ってしまう!といったことを防ぐ(アイテムを保護する・お気に入り登録する)方法をプラグイン含めて探してましたが、ツクールMVでは見つけれませんでしたので、自分のやったことをメモしておきます。どこかで誰かの参考になれば幸いです。
使用したプラグインは、フトコロ様作のFTKR Item Sub Commandです。

まず、以下のようなコモンイベントを作成します。
◆条件分岐:スクリプト:$dataWeapons[$gameVariables.value(29)].iconIndex < 124
◆スクリプト:$dataWeapons[$gameVariables.value(29)].iconIndex += 32
◆文章:なし, ウィンドウ, 下
:  :お気に入りにしました

:それ以外のとき
◆スクリプト:$dataWeapons[$gameVariables.value(29)].iconIndex -= 32
◆文章:なし, ウィンドウ, 下
:  :お気に入りから外しました

:分岐終了
このコモンイベントの意味は、武器のアイコンが124未満(MVのデフォルトでは短剣~シミター?の武器に使われているアイコン)ならば、アイコンを下に二行分ずらす。
逆にアイコンが124以上(一度下に二行ずらした)なら、上に二行分ずらします。(元のアイコンに戻る)

次に、前述のプラグイン、FTKR Item Sub Commandで、
Use Item ID に29(コモンイベントの$gameVariables.value(29)部分)

"Custom0 Format":"お気に入り登録/解除
"Custom0 EventID":"前述のコモンイベントの番号",
"Custom0 Show Condition":"DataManager.isWeapon(item)",
"Custom0 Enabled Condition":"DataManager.isWeapon(item)"
とプラグインのパラメーターを設定します。

これでアイテムで武器を選択したときに、お気に入り登録/解除というサブコマンドが表示され、
コモンイベントが実行されて武器のアイコンを変更/元に戻すことが可能になりました。

最後にrpg_windows.jsを開きます。

3031行付近に、
Window_ShopSell.prototype.isEnabled = function(item) {
return item && item.price > 0;
となっている部分があるので、ここを
Window_ShopSell.prototype.isEnabled = function(item) {
return item && item.iconIndex < 124;
と書き換えます。
これでお気に入り登録した武器は、アイコン番号が124より大きくなるため、ショップで売却できなくなりました。
お気に入り登録を解除すればアイコン番号が124未満になる為、ショップで売却できます。
防具もだいたい同じ感じで作ればいけるはずです。(アイコン番号のずらし方などは適当なものを選択してください)

以上の作業をそっくりそのまま実行すると、アイコン番号124以降のアイテムはすべて売却できなくなり、不便極まりないため、
実際にはアイコン番号の最後辺りに、装備品アイコン及びお気に入り登録後のアイコンを用意すれば良いと思われます。

以上、試行錯誤のメモでした。

“MV:小ネタ・TIPS・講座” へ戻る