敵のステートによる条件分岐をしたい

返信する
なっぱ
記事: 80
登録日時: 2015年11月19日(木) 20:19

敵のステートによる条件分岐をしたい

投稿記事 by なっぱ »

条件分岐のスクリプトを使い、特定のエネミーが指定したステートにかかっているかどうかで挙動を変えたいです。

https://rpgmaker-script-wiki.xyz/condition_mv.php#13
上記のURLの
「敵キャラのステート」
$gameTroop.members()[敵キャラID].isStateAffected(ステートID)
がイメージに近かったのですが、使い方が分からず困っています。
単純に条件分岐のスクリプトのコピペして、敵キャラIDとステートIDに半角数字を入れて試しましたが、エラーが出ます。
TypeError
Cannot read property `isStateAffected`of undefined

どなたか使い方が分かる方助けていただけないでしょうか?
ゆわか
記事: 416
登録日時: 2015年11月10日(火) 20:08
連絡する:

Re: 敵のステートによる条件分岐をしたい

投稿記事 by ゆわか »

普通にイベントコマンドの条件分岐でできると思うけど。

◆条件分岐:#2 ミノタウロスが暗闇になっている

:分岐終了

もし項目を見つけられなかっただけなら
普通にイベントコマンドでやった方が分かりやすいと思います。

いやそうじゃのうて
どうしてもスクリプトでなくちゃいけない事情があるということなら
使用例がこちらになります。

◆敵キャラのステート変更:#2 ミノタウロス, + 暗闇
◆スクリプト:if($gameTroop.members()[1].isStateAffected(5)){
:     :$gameMessage.add("表示する文章")
:     :}

敵グループ内で、敵キャラIDが2番の敵(今回はミノタウロス)が
ステートID5番の暗闇にかかってる時に、「表示する文章」というメッセージを表示する
というスクリプトです。

ここでいう敵キャラIDは
いわゆるデータベースの「敵キャラ」作成画面における敵キャラのIDではなく
「敵グループ」作成画面で配置した敵の順番、いわゆるインデックス番号のことを意味します。

スクリプトで敵キャラのインデックスを指定する時は、1番が0番になります。
理屈はわかりやせんが、
イベントコマンドで、#1 #2 #3・・・と数えるのに対し
スクリプトコマンドでは、0 1 2・・・と数えます。

なので、#2番のミノタウロスの敵キャラID(インデックス)は、1 になります。

インデックス番号じゃなくて、データベースの「敵キャラ」作成画面における敵キャラのIDでやりたい
という場合は、私はちょっとわからないので、他の方に助けてもらってください。
なっぱ
記事: 80
登録日時: 2015年11月19日(木) 20:19

Re: 敵のステートによる条件分岐をしたい

投稿記事 by なっぱ »

ゆわか さんが書きました:普通にイベントコマンドの条件分岐でできると思うけど。

◆条件分岐:#2 ミノタウロスが暗闇になっている

:分岐終了

もし項目を見つけられなかっただけなら
普通にイベントコマンドでやった方が分かりやすいと思います。

いやそうじゃのうて
どうしてもスクリプトでなくちゃいけない事情があるということなら
使用例がこちらになります。

◆敵キャラのステート変更:#2 ミノタウロス, + 暗闇
◆スクリプト:if($gameTroop.members()[1].isStateAffected(5)){
:     :$gameMessage.add("表示する文章")
:     :}

敵グループ内で、敵キャラIDが2番の敵(今回はミノタウロス)が
ステートID5番の暗闇にかかってる時に、「表示する文章」というメッセージを表示する
というスクリプトです。

ここでいう敵キャラIDは
いわゆるデータベースの「敵キャラ」作成画面における敵キャラのIDではなく
「敵グループ」作成画面で配置した敵の順番、いわゆるインデックス番号のことを意味します。

スクリプトで敵キャラのインデックスを指定する時は、1番が0番になります。
理屈はわかりやせんが、
イベントコマンドで、#1 #2 #3・・・と数えるのに対し
スクリプトコマンドでは、0 1 2・・・と数えます。

なので、#2番のミノタウロスの敵キャラID(インデックス)は、1 になります。

インデックス番号じゃなくて、データベースの「敵キャラ」作成画面における敵キャラのIDでやりたい
という場合は、私はちょっとわからないので、他の方に助けてもらってください。
返信ありがとうございます。
スクリプトの使い方について、分かりやすいご説明ありがとうございます。
インデックス番号を参照していたのですね。データベースのIDかと思って入力していたのでエラーが出ていたみたいです。理由が分かり助かりました。

今回はできればデータベース上の敵IDでできない模索していたので、もしそちらで分かる方いましたらお願いします。
ecf5DTTzl6h6lJj02
記事: 752
登録日時: 2018年12月23日(日) 13:55

Re: 敵のステートによる条件分岐をしたい

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
なっぱ さんが書きました: 今回はできればデータベース上の敵IDでできない模索していたので、もしそちらで分かる方いましたらお願いします。
他の人が返信するかと思って静観してたんですが、誰も返信しないようなので…。

敵グループの構成として、
同じエネミーが複数体登録されていない状況であれば、
エネミーIDから特定のメンバーの情報を引っ張ってくることが可能ですが、
同じエネミーを複数体登録している場合、
そのエネミーは、同じエネミーIDになってしまうため、
エネミーIDではメンバーの特定ができません。

敵グループの構成として同じエネミーが複数体存在しない状況でしょうか?

また、このイベントがどういう目的のイベントなのかによって、
他にいい取得の仕方があるかもしれません。

このイベントがどういうイベントであるのか、
どういうタイミングで起動して、どういう挙動をするのが正しい(理想な)のか 等、
詳細をお教えください。
返信する

“MV:質問”に戻る