スクリプトによる装備状態の条件分岐

返信する
hogehoge

スクリプトによる装備状態の条件分岐

投稿記事 by hogehoge »

アクターID2番が防具ID2番を装備している時に、条件分岐で文章を表示させる動作をスクリプトでおこなっているのですが、思うように動いてくれません。

どこか間違っているのは間違い無いのですが、どこが間違っているのか見当がつきません。$dataWeaponsの箇所を
$dataArmorに変更してもエラーが返ってくるだけでした。
ゆくゆくはアクターIDを変数にしていろんな動作をさせたいのですが…

コード: 全て選択

◆スクリプト:if($gameActors.actor(2).hasArmor($dataWeapons[2])){
:     ://($gameMessage.add("あいうえお"))
:     :}
アバター
しぐれん
記事: 975
登録日時: 2017年3月28日(火) 22:22
連絡する:

Re: スクリプトによる装備状態の条件分岐

投稿記事 by しぐれん »

アクターが存在しない場合ということも考えられます。
hasArmor()を呼び出す前に、actorが取得可能な状態かをチェックしてください。
帰ってきたエラーは不明ですが、、おそらくundefined not a functionだと思います。
やや雑な説明すると、上記のエラーは「ぬるぽ」です。

コード: 全て選択

var actor = $gameActors.actor(2);
if(actor){
  if(actor.hasArmor($dataArmors[2])){
     //任意の処理
  }
}

現在、プラグイン依頼はお休み中です。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: スクリプトによる装備状態の条件分岐

投稿記事 by フトコロ »

こんにちは。

hasArmor()はアクターが指定した"防具"を装備しているかどうかを判定するスクリプトですので
$dataWeapons[n]を使って判定しても偽にしかなりません。

武器を判定する場合は、hasWeapon($dataWeapons[n])ですよ。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/bl ... /README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
hogehoge

Re: スクリプトによる装備状態の条件分岐

投稿記事 by hogehoge »

返信ありがとうございます!
判定するのは防具で間違っていないのでそれについては問題ありませんでした。私の文章力不足です。申し訳ありませんでした…

いただいたコードを試してみたらうまく行きました!ありがとうございます!
返信する

“MV:質問”に戻る