いつもお世話になります。
以下は、所持しているアイテムの全てを捨てる(所持数を0にする)スクリプトなのですが、「大事なもの」だけは残すようにしたいです。ご教示頂きたく、よろしくお願いします。
$dataItems.forEach(function(item) {
if (item && item.id > 0) {
$gameParty.loseItem(item, $gameParty.numItems(item));
}
});
アイテムの全てを捨てるが大事なものだけは残す
-
tanaka1105
- 記事: 51
- 登録日時: 2020年12月28日(月) 23:16
-
ecf5DTTzl6h6lJj02
- 記事: 778
- 登録日時: 2018年12月23日(日) 13:55
Re: アイテムの全てを捨てるが大事なものだけは残す
こんにちは。
また、コードを記述する際は、読みやすくするために、きちんとインデントを意識し、整形した方が良いです。
某 〇〇学ラジオの方が、動画の中で、情報学の教授が、「できない奴はタヒんだ方が良い」という発言をしていたと言っているぐらい、整形されていないコードは嫌われています。
記載されているコードを整形するなら、
といったところでしょうか。
話題を元に戻しまして、
大事なものを除外するようにしたいということですが、
大事なものは、通常、itypeId が 2 に設定されています。
なので、アイテムのデータから、itypeId が 2 に設定されているものを除外するよう、フィルタを掛ければいいかなと思います。
配列(Array)オブジェクトには、filter というそのものずばりな関数があるので、それを利用して、
その関数で出力された結果に対して、forEach で個数を減らすようにコードを作ってください。
filter 関数に関する詳しい使い方は、
https://developer.mozilla.org/ja/docs/W ... ray/filter
を参照してください。
という条件式も、このフィルタで一緒に設定してしまえばいいかな。
アイテムのIDは 0 以下に設定されることは無いはずなので、id が 0 より大きいことをチェックする部分は無くても大丈夫です。
以上、ご確認ください。
細かいことですが、コードを載せる際は、上にあるボタンの内、 </> と書かれているボタンを押すと、コード表示用のタグが挿入されるので、それを利用して、記述するようにしてください。tanaka1105 さんが書きました: 2026年2月18日(水) 02:39 いつもお世話になります。
以下は、所持しているアイテムの全てを捨てる(所持数を0にする)スクリプトなのですが、「大事なもの」だけは残すようにしたいです。ご教示頂きたく、よろしくお願いします。
$dataItems.forEach(function(item) {
if (item && item.id > 0) {
$gameParty.loseItem(item, $gameParty.numItems(item));
}
});
また、コードを記述する際は、読みやすくするために、きちんとインデントを意識し、整形した方が良いです。
某 〇〇学ラジオの方が、動画の中で、情報学の教授が、「できない奴はタヒんだ方が良い」という発言をしていたと言っているぐらい、整形されていないコードは嫌われています。
記載されているコードを整形するなら、
コード: 全て選択
$dataItems.forEach(function(item) {
if (item && item.id > 0) {
$gameParty.loseItem(item, $gameParty.numItems(item));
}
});
話題を元に戻しまして、
大事なものを除外するようにしたいということですが、
大事なものは、通常、itypeId が 2 に設定されています。
なので、アイテムのデータから、itypeId が 2 に設定されているものを除外するよう、フィルタを掛ければいいかなと思います。
配列(Array)オブジェクトには、filter というそのものずばりな関数があるので、それを利用して、
その関数で出力された結果に対して、forEach で個数を減らすようにコードを作ってください。
filter 関数に関する詳しい使い方は、
https://developer.mozilla.org/ja/docs/W ... ray/filter
を参照してください。
コード: 全て選択
if (item && item.id > 0)アイテムのIDは 0 以下に設定されることは無いはずなので、id が 0 より大きいことをチェックする部分は無くても大丈夫です。
以上、ご確認ください。