スクリプト条件分岐「アイテムタイプXの所持数」

ふゆき
記事: 25
登録日時: 2019年11月23日(土) 11:47

スクリプト条件分岐「アイテムタイプXの所持数」

投稿記事by ふゆき » 2019年12月06日(金) 15:22

いつもお世話になっております。

条件分岐にて
「アイテムタイプ4(隠しアイテムB)のアイテムを1個以上持っている場合」を作りたいのですが、
記述方法を教えていただけないでしょうか?

特定のアイテムを持っているかどうかは

$gameParty.hasItem($dataItems[アイテムID])

で取得できる。ということはわかったのですが、
アイテムIDではなくアイテムタイプ(itypeId)で、その所持個数を調べる場合
どうすればいいかがわかりませんでした。

また、更にこちらのプラグイン
https://github.com/futokoro/RPGMaker/blob/master/FTKR_ItemSelfVariables.ja.md
でそれぞれの隠しアイテムにセルフ変数0を設定し、
「itypeIdが4で、かつセルフ変数0が0のアイテムを、1個以上持っているか」
「itypeIdが4で、かつセルフ変数0が1のアイテムを、1個以上もっているか」
というそれぞれの条件は、どう記述すればよいのでしょうか。

どうかよろしくおねがいします。

アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: スクリプト条件分岐「アイテムタイプXの所持数」

投稿記事by 剣崎 宗二 » 2019年12月07日(土) 14:18

「アイテムタイプ4(隠しアイテムB)のアイテムを1個以上持っている場合」を作りたいのですが、

こちらは以前回答しております。return内の3を4にしてください。
http://tm.lucky-duet.com/viewtopic.php?t=8153


「itypeIdが4で、かつセルフ変数0が0のアイテムを、1個以上持っているか」

コード: 全て選択

$gameParty.items().some(function(element){return element.itypeId == 3 && $gameSelfVariables.item(element.id).value(0) == 0})

こちらをお試しください。
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
ふゆき
記事: 25
登録日時: 2019年11月23日(土) 11:47

Re: スクリプト条件分岐「アイテムタイプXの所持数」

投稿記事by ふゆき » 2019年12月07日(土) 17:57

剣崎さま:

お世話になっております、早速のご回答ありがとうございます!
ご紹介いただいたとおり記述したところ、希望する動作が得られました。
本当にありがとうございます。
someという便利なものがあるんですね…!


また、既に数ヶ月前に回答済のトピックがあるにもかかわらず、全く同じ質問してしまい大変失礼しました。
検索で「アイテムタイプ」と検索しても該当トピックがヒットしなかった(今もしない)のですが、
検索方法が悪いのでしょうか・・・?

“MV:質問” へ戻る