【解決済み】装備を外して減らすコマンドについて

めんこ
記事: 9
登録日時: 2020年2月07日(金) 03:52

【解決済み】装備を外して減らすコマンドについて

投稿記事by めんこ » 2020年5月06日(水) 02:50

お世話になっております。


現在制作中のゲームの逃げるイベントにて「追いつかれ接触された時に装備を外して減らす」という処理を設定しているのですが、動きが安定しない為にちゃんと外れて減る場合と外れない場合のムラが出てしまい困っております。

moto様制作プラグインの「パーティメンバーの誰かが…」から、装備している武器、防具のIDの指定をし、攻撃された際にその装備を一回外して所持品から1つ減らすという処理をさせています。

過去の質問より、
$gameActors.actor(1).changeEquipById(1, 0)
こちらのスクリプトを利用させて頂いておりますが、より安定する方法がありましたらご教授頂きたいです。

宜しくお願い致します。
最後に編集したユーザー めんこ on 2020年5月06日(水) 23:18 [ 編集 1 回目 ]

アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 装備を外して減らすコマンドについて

投稿記事by Plasma Dark » 2020年5月06日(水) 10:39

moto様制作プラグインの「パーティメンバーの誰かが…」から、


これだけでは対象プラグインを特定できません。配布元URLを貼ってください。
アバター
WTR
記事: 558
登録日時: 2015年12月22日(火) 19:14

Re: 装備を外して減らすコマンドについて

投稿記事by WTR » 2020年5月06日(水) 11:26

率直な疑問なんですけど
安定しないのは装備を外す処理ではなく、追い付かれたことを判定する処理なのでは?
スクリプトは書いた通りにしか動かない。安定も不安定もないです。

まず追い付かれた判定を疑ってみては?
追い付かれたときの処理をもっとわかりやすい内容(メッセージを表示するとか)に置き換えてみて
意図通りに追いつかれた判定されているかどうか再確認してみてはいかがでしょうか。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
めんこ
記事: 9
登録日時: 2020年2月07日(金) 03:52

Re: 装備を外して減らすコマンドについて

投稿記事by めんこ » 2020年5月06日(水) 14:29

Plasma Dark様

失礼いたしました。
http://mototkool.blog.fc2.com/blog-entry-147.html

こちらの「Conditional_branch_in_Partymember.js」内の「$gameParty.membersEqWeapon(1)」を使用しております。


WTR様

追いつかれた際に効果音やアニメーションの表示も設定しているのですが、そちらは毎回発動しているのは確認できていますので接触判定は問題ないと思っておりました。
一度確認してみます。
添付ファイル
キャプチャ.PNG
キャプチャ.PNG (52.32 KiB) 閲覧数: 3344 回
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 装備を外して減らすコマンドについて

投稿記事by Plasma Dark » 2020年5月06日(水) 15:29

ぱっと見スクリプト自体に問題はなさそうですが、IDの指定が間違っていたりしないでしょうか。

membersEqArmor で指定する引数は、防具IDです。
盾の防具IDは2で合っていますか? RPGツクールMV新規プロジェクトのデフォルト設定では1だったと思うのですが。

changeEquipById で指定する引数は、装備タイプIDと変更後の装備ID(または、外す場合0)です。
データベースのタイプタブ一番右に装備タイプが設定されており、そのIDを指定する必要があります。
デフォルトでは盾の装備タイプIDは2になっているので、おそらくこちらは合っているんじゃないかと思います。
めんこ
記事: 9
登録日時: 2020年2月07日(金) 03:52

Re: 装備を外して減らすコマンドについて

投稿記事by めんこ » 2020年5月06日(水) 16:27

Plasma Dark 様

防具をいくつか増やしまして、盾は防具欄2番目に配置しているのでIDは2で合っているはずです。

装備タイプは弄っていないのでディフォルトの盾のままです。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 装備を外して減らすコマンドについて

投稿記事by Plasma Dark » 2020年5月06日(水) 18:09

パーティメンバーは一人で、そのアクターのIDは 1 ですか?
もしそうであれば、 Conditional_branch_in_Partymember.js は不要で、イベントにスクリプトも用いなくて良いはずなのですが。
(条件分岐でアクターの装備を指定できますし、装備の変更もデフォルトのイベントコマンドの中にあります)

そうでなく、外したい対象アクターのIDが1とは限らないのであれば、外れないこともあるかと思います。
武器防具の増減コマンドは装備していないものを優先的に減らすような仕組みになっており、盾をすでに持った状態でアクター(アクターID != 1)が盾を装備している、のだとすれば、装備がはずれたりはずれなかったりという挙動も自然に見えます。

イベントコマンドの装備の変更を使用していないのはなぜでしょうか。
めんこ
記事: 9
登録日時: 2020年2月07日(金) 03:52

Re: 装備を外して減らすコマンドについて

投稿記事by めんこ » 2020年5月06日(水) 19:35

パーティーメンバーは一人ですが、探索ゲーで同マップ内でアクターが途中で入れ替わる為にデフォルトの装備の変更だと条件分岐が多くなってしまうと考えてこのスクリプトを使用させて頂いております(武器、防具が複数ある為)

なるほど、確かに1とは限らないのでこの挙動は自然なのですね…。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 装備を外して減らすコマンドについて

投稿記事by Plasma Dark » 2020年5月06日(水) 20:55

コード: 全て選択

$gameActors.actor(1).changeEquipById(2, 0)


このコードの意味は、アクターID1のアクターの装備タイプID2の装備を外す、です。
メンバーが常に一人ということであれば、以下のスクリプトに変えることでお望みの仕様になるかと思います。

コード: 全て選択

$gameParty.leader().changeEquipById(2, 0)
めんこ
記事: 9
登録日時: 2020年2月07日(金) 03:52

Re: 装備を外して減らすコマンドについて

投稿記事by めんこ » 2020年5月06日(水) 23:17

Plasma Dark様

そもそもコードが違っていたんですね…。
書き換えたところ上手くいきました、有難うございます…!

“MV:質問” へ戻る