【解決済】武器合計数取得による条件分岐

こよでん
記事: 6
登録日時: 2022年5月20日(金) 20:28

【解決済】武器合計数取得による条件分岐

投稿記事by こよでん » 2022年6月25日(土) 08:07

上手くいかない理由がどこにあるか分からない為、大変申し訳ないのですが最初にやろうとしていることを説明させてください。

武器=山札 アイテム=手札 防具=捨て札 という見立てでローグライクカードゲームのようなことを試みようと考えています。武器・アイテム・防具には同名同IDのデータを設定し、これを同じ「カード」として扱います。
トリアコンタン様の下記プラグインにて

https://plugin.fungamemake.com/archives/1102

毎ターン「ターン終了」というスキルでコモンイベントを発生させ、そのコモンイベントから上記のプラグインコマンドを使用して所持武器の中からランダムに装備をし、それぞれの武器を装備しているか否かを条件分岐として同名アイテムを増やし、武器を減数します(山札が1枚減り、手札が1枚増えるいわゆるドローの処理)。
アイテムにはコモンイベントを発生させ、使用時に防具(捨て札)を増やし、アイテムは消耗するという仕様です。

長くなりましたが、上記の仕様を前提として添付ファイルのように「ターン終了」というスキルで発生させるコモンイベントを作ってみました。(添付ファイルの画像)
このコモンイベントで、「5枚ドローをする。ただし、武器(山札)の所持数が0だった場合、防具(捨て札)をすべて武器(山札)に戻して、そこから続けてドローをする」という事を実現しようと思いました。

https://plugin.fungamemake.com/archives/19355

上記MAR_kun様のプラグインで、武器の合計数を取得して、それを条件分岐として

viewtopic.php?t=3782

こちらのトピックを参考に、武器が0だった場合、防具リストを変数に格納し、本来はこれを防具リストに復元追加するところを武器リストに追加して、上記の目的を達成しようと試みました。
このコモンイベントは1回目に使用した「ターン終了」では、武器が0だった場合の処理も含めて正常に動いたのですが、同じ戦闘中で2回目以降に行うと、「武器(山札)が0であるにもかかわらず、防具(捨て札)が残った状態」になってしまい正常に動きません。
この事から、「武器が0だった場合」の設定にミスがあるのだと思うのですが、同じコモンイベントを実行しているのに最初はできて2回目以降ができない原因に自力で辿り着けず質問させていただきました。
プラグイン・スクリプトの事など何もわからず、色々な方のやり方を調べて流用させていただいていただけなので、本当に右も左も分かっていないような質問になってしまい大変恐縮です。
何か理由が分かる方がいたら、お助けいただけますと幸いです。よろしくお願いいたします。
添付ファイル
スクリーンショット 2022-06-25 071639.png
スクリーンショット 2022-06-25 071533.png
最後に編集したユーザー こよでん on 2022年6月25日(土) 13:32 [ 編集 1 回目 ]

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

Re: 武器合計数取得による条件分岐

投稿記事by Plasma Dark » 2022年6月25日(土) 12:15

アイテム、武器、防具をそういう使い方で使う発想は面白いですね。

武器や防具を個別にするような(例えば、YEP_ItemCoreのような)プラグインが使われていなければ、スクリプトに書かれたコード自体は普通に動きそうに見えます。
一番最初に確認すべきは、必須プラグイン(EquipChangeRandom 及び ItemCountPlugin)以外がONになっていない状態で動くかどうかです。

同じ戦闘中で2回目以降に行うと、「武器(山札)が0であるにもかかわらず、防具(捨て札)が残った状態」になってしまい正常に動きません。


正常に動いていないことをどうやって確認したか、の情報があると良いと思います。

必須プラグインのみで動いているとしたら、以下のように確認していきます。

武器合計数 = 0 の分岐に入っているかを確認します。
Absorb2のSEを鳴らしているので、2回目の正常に動かない場合に、そのSEが鳴っているかどうかを確認します。
もし、鳴っていない場合は、武器合計数が0でない状態になっています。
そうであれば、分岐前に \V[1] をメッセージとして表示してみて、中身がどうなっているかを確認し、そこから原因を追いかけていくことになります。

武器合計数が0の分岐に入っているとすると、その後本当に望みの状態になっていないのかを確認するところから始めます。

スクリプト実行の直後で
1. $gameItemCount.Weapon() を今一度変数1に代入して \V[1] をメッセージとして表示してみる。
(本当に山札が0枚になっているか)
2. $gameItemCount.Armor() を適当な変数に代入して \V[変数ID] をメッセージとして表示してみる。
(本当に捨て札が減っていないか)
こよでん
記事: 6
登録日時: 2022年5月20日(金) 20:28

Re: 武器合計数取得による条件分岐

投稿記事by こよでん » 2022年6月25日(土) 13:31

Plasm Dark様

ご返信ありがとうございます。
教えていただいたように確認をし、他プラグインをOFFにして再度実行したところ正常に動きました!
大変助かりました。
ただ、どこかのプラグインが競合していたのだと思い、一つずつONにし直してみて検証したのですが、
全部ONにしても今度は正常に動くという摩訶不思議な事になってしまいました・・・
私の設定ミスで元々入れていないはずのプラグインがONになっていたのかもしれません。
完全に私のイベントの書き方に問題があると思い込んでいたので、アドバイスをいただいて助かりました。
元々は、SEの音だけでイベントを通ってる・通ってないを判断していたので、今後は変数の値を「文章の表示」でも確認したいと思います。

本当にありがとうございました。

“MV:質問” へ戻る