【解決】防具を装備している有無を、条件分岐かスクリプトで分岐させ処理をしたい。

風雨がぁ
記事: 123
登録日時: 2017年9月24日(日) 10:18

【解決】防具を装備している有無を、条件分岐かスクリプトで分岐させ処理をしたい。

投稿記事by 風雨がぁ » 2019年4月06日(土) 19:07

皆様の知恵をお貸しください。

イベントコマンドの条件分岐にて、スクリプトで パーティ○番目のアクターがID○○の防具を装備しているか の有無を分岐させたいのですが、エラーが発生してしまいます。
スクリプト初心者ですが、調べてそれなりに条件分岐のスクリプトを考えてみました。
$gameParty.members()[1].hasArmor($dataArmors[1])
一応これで動くは動くのですが、
アクターが防具を一切装備していない場合、エラーが発生してしまいます。

下記のトピを参考に条件分岐でなくスクリプトで組んでみようと考えましたが、私の知識不足のため理解できませんでした…。
https://tm.lucky-duet.com/viewtopic.php?t=4605
このトピでは、防具を装備していない時の処理が記載されていますが、私には理解が難しかったようです。

一つ目の質問に、条件分岐のスクリプトを使って防具を一切装備していない時の分岐ができたりしないでしょうか?
もし方法があるのでしたら、ご教授頂きたいです。
二つ目の質問に、もし一つ目の質問の答えがない場合、
スクリプトを使って処理をしたいのですがどういったスクリプトになるか、どうかお教えいただけないでしょうか?

既に同じトピなどがある場合は申し訳ありません。
よろしくお願いします。
最後に編集したユーザー 風雨がぁ on 2019年4月06日(土) 21:14 [ 編集 1 回目 ]

アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: 防具を装備している有無を、条件分岐かスクリプトで分岐させ処理をしたい。

投稿記事by まっつUP » 2019年4月06日(土) 19:40

風雨がぁ様

まず、
$gameParty.members()[1].hasArmor($dataArmors[1])
ですが、デフォルトのプラグイン無しのプロジェクトでは
アクターが一切何も装備していないということではエラーは起こしません。
パーティメンバーの二人目の装備を見ているので、エラーが起こるのならば
パーティメンバーが一人以下など、正しくアクターが取得できていない可能性があります。

一つ目の質問の答えとしては
以上の問題を解決するという方法があると思います。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
風雨がぁ
記事: 123
登録日時: 2017年9月24日(日) 10:18

Re: 防具を装備している有無を、条件分岐かスクリプトで分岐させ処理をしたい。

投稿記事by 風雨がぁ » 2019年4月06日(土) 21:14

まっつUP さんが書きました:風雨がぁ様

まず、
$gameParty.members()[1].hasArmor($dataArmors[1])
ですが、デフォルトのプラグイン無しのプロジェクトでは
アクターが一切何も装備していないということではエラーは起こしません。
パーティメンバーの二人目の装備を見ているので、エラーが起こるのならば
パーティメンバーが一人以下など、正しくアクターが取得できていない可能性があります。



まっつUP様、回答ありがとうございます。

お恥ずかしい間違いをしました…。
今まで$gameParty.members()[1]がパーティ1番目だと勘違いしていました。

細かいところまで説明をしていませんでしたが、
戦闘に出られるアクター数分の条件分岐をそれぞれ用意していたため
アクターがいない箇所で正しく取得できていなかったようです。

パーティの○番目のアクターの有無は、変数にパーティ○番目のアクターを格納して調べる事にします。

まっつUP様のご指摘により、無事問題が解決できそうです。
いつもいつもありがとうございます。
これにてこの質問は解決とします。ご迷惑をおかけしました。

“MV:質問” へ戻る