【解決済み】ChangeEquipOnBattleMZ:戦闘中の武器所持数表示について

@ぱれっと

ユーザー
初投稿です。
いきなりのお願いで大変恐縮なのですが、ご対応いただけないでしょうか。。。

投げたら消費する、手裏剣(武器)を作ろうとしてます。

手裏剣(武器)の特徴に、手裏剣(スキル)を作って攻撃スキル に設定して、そのスキルの使用効果に、 コモンイベント『武器の増減:手裏剣-1(装備品を含む)』を設定しました。
攻撃する度に手持ちの手裏剣が1個ずつ消費していき、最後に装備している手裏剣を消費して素手状態になります。

そのため、戦闘中に装備変更したく、プラグイン「ChangeEquipOnBattleMZ」を導入させていただく事にしました。

ここから本題ですが、消費しているはずの手裏剣の所持数が、装備をし直すまでずっと同じ数字のままなのです。
※1回目に装備変更画面を表示した時だけ、正常な所持数が表示されるようです。
※盾、身体、装飾品をコモンイベントで減らした場合は、正常な所持数が表示されるようです。

例えば、手裏剣を合計5個所持して戦闘開始。1個装備して、手持ち4個とすると・・・
1回投げた後「装備変更」から確認すると 所持数4。
2回投げた後「装備変更」から確認すると 所持数4。
3回投げた後「装備変更」から確認すると 所持数4。

全部投げた後「装備変更」から確認すると 所持数4。
素手攻撃になった後でも装備をし直さない限り、所持数4の表示のままです。
しかし、表示されてないだけで実際は減っており、『ボス戦に備えて温存、と思っていたら、実はほとんど使い切ってた』みたいな状態になりかねません。

装備変更コマンドを押す際、もしくは武器スロットを押す際に装備中の武器の所持数の書き換え(上書き?)等、都度、装備をし直さなくても所持数を表示してくれたらありがたいのですが、何とかなりませんでしょうか。

半年間、何か方法はないかと試行錯誤を繰り返しましたが、プログラムが使えないと解決できないと判断し、迷いに迷いましたが質問を投稿しました。
プログラムが全く分からない身分で本当に申し訳ないのですが、何卒、よろしくお願いいたします。
 
お疲れ様です。
その問題に対処しました。
具体的には、戦闘中に「武器の増減」か「防具の増減」のイベントコマンドが行われると
装備変更関係のウィンドウを更新するようにしました。

こちらを入れると解決すると思います。
グッドラック。
 

Attachments

  • ChangeEquipOnBattleMZ.zip
    2.9 KB · 閲覧: 9

@ぱれっと

ユーザー
神無月サスケ様

記事を見つけて頂いた上、ご対応頂きありがとうございます。
早速試してみたのですが、どうやら外見上は同じ挙動になってしまっているようです。
初投稿で長々と書いてしまいましたが、やりたい事を簡潔に書きますと
『攻撃する度に武器(装備品を含む)がコモンイベントで1個ずつ減っていくスキル』と言う内容です。

①戦闘中のコマンドの『装備変更』を選択

②装備変更画面が表示され、武器欄を選択

③所持武器の個数が表示されるので同じ武器を選択

④装備変更が完了し、②の画面に戻る

と言う流れですが、③で表示されていた個数が、④まで操作した後②の画面に戻ってから、また③を表示すると、個数がズレる現象が生じます。
大雑把に言うと、戦闘中、武器の個数表示において、表示上の個数と実際の個数がズレてしまっているようです。
確認のため『DarkPlasma_BattleItemVisibility』と言うプラグインを使わせて頂き、アイテム欄に武器を表示できるようにしたところ、アイテム欄の武器は正確な個数が表示されていました。
武器欄の個数がなぜ正確に表示されないのか、MZの仕様なのかどうかも自分には全く分からないのですが、何とかなりそうでしょうか。

最近はお忙しいとのツイートを見かけました。
こちらは全く急いでおりませんので、もしお気持ちに余裕のある時に、ご対応いただけたら幸いです。。。
 
どうも。ご相談の件、こちらでも検証したのですが、個数のズレは再現しませんでした。
具体的にやったこと:
①初期状態からスタート。手裏剣は8個所持。
②ハロルドが「装備変更」で手裏剣に装備変更。この時、ハロルドの装備は手裏剣、武器欄には手裏剣7個
③ハロルドが手裏剣で攻撃。表示はされないが、コモンイベントで武器欄の手裏剣がひとつ減らされ6個になっているはず。
④テレーゼが「装備変更」を行うと、きちんと武器欄には手裏剣が6個になっている
⑤テレーゼも、武器を手裏剣に装備し直し、ここで武器欄の手裏剣は5個。
⑥テレーゼも手裏剣で攻撃。武器欄の手裏剣は4個になっているはず
⑦マーシャが「装備変更」で武器欄を見ると、きちんと手裏剣は4個になっている
 :
 :
⑧以上を繰り返して、武器欄に手裏剣が無くなった状態で手裏剣で攻撃すると素手になる
(MVのアクター名ですが、きちんとMZ環境で実行しています)

これで間違いありませんでしょうか?
もしかしたら、アイテム欄に武器を表示するプラグインは、装備している物も含めた数を表示していませんか?
また、TPBアクティブの戦闘の場合、攻撃を選択してから実際に攻撃が行われるまでにタイムラグがあるので
それで上記の通りにならない場合があります。

もしかしたら、武器欄の手裏剣の表示数の考え方が、僕の意図とは異なるのでしょうか。
そちらでも検証をお願いします。
 
最後に編集:
追記です。念のため、「手裏剣」という装備の僕のデータベースでの設定を載せます。

武器欄:攻撃スキルが「手裏剣」になっている。
capture569.png

スキル欄:攻撃の際にコモンイベント「手裏剣消費」を呼び出している
capture570.png

コモンイベント「手裏剣消費」
capture571.png

多分そちらも大体似た設定でしょうが、念のためお確かめください。
 

@ぱれっと

ユーザー
お忙しい中、詳細を送って下さり、本当にありがとうございます。
自分の書き方が至らず、余計な時間とお手間をかけさせてしまい申し訳ございません。
神無月サスケ様がご回答くださった内容で間違いありません。
そして、追記でアップして頂いた画像と自分のやり方は、全く同じです。

①初期状態からスタート。手裏剣は8個所持。
②ハロルドが「装備変更」で手裏剣に装備変更。この時、ハロルドの装備は手裏剣、武器欄には手裏剣7個
③ハロルドが手裏剣で攻撃。表示はされないが、コモンイベントで武器欄の手裏剣がひとつ減らされ6個になっているはず。
 :
 :
⑧以上を繰り返して、武器欄に手裏剣が無くなった状態で手裏剣で攻撃すると素手になる

一人パーティーで実行すると分かりやすいかと思います。
再現方法として、戦闘開始時、まず手裏剣を装備して(厳密には戦闘開始後、1回目の武器の残数表示をさせてから)、その後武器の持ち替え等をせずに(持ち替えをしなければ残数表示をさせても同じ)、上記引用のように素手攻撃が始まるまで手裏剣を消費する。
素手攻撃になったのを確認して(素手攻撃は何度繰り返しても同じ)、装備変更コマンドを押すと、武器が外れて素手(武器を装備していない)状態になりますが、そのまま武器を押して残数を表示すると手裏剣が最後に装備変更(もしくは武器の持ち替え)をした時の数から減っていない、と言う状態になります。

複数人パーティーの場合は、パーティー中、手裏剣を装備できるのは本人だけとして、他のパーティーメンバーが装備変更画面を表示しなければ(他の誰かが装備変更コマンドで装備変更画面を表示させた時点で、本人の残数表示が更新されるようです)、1人パーティーと同じ状態になります。

※装備変更画面の『武器』を押すタイミングで、マウスを使うと本現象は発生しません。

考え方と言うか自分の残数表示の理想(希望?)としては、戦闘中、
装備変更を押す→手裏剣を押す→★手持ちの正確な残数が表示→手裏剣を選択し、ガシャッ!とSEが鳴る→装備変更画面になるので、もう一度手裏剣を押す→手持ちの正確な残数が表示→・・・
が理想です。

自分の環境だと
装備変更を押す→手裏剣を押す→★手持ちが減ってない残数が表示→手裏剣を選択し、ガシャッ!とSEが鳴る→装備変更画面になるので、もう一度手裏剣を押す→手持ちの正確な残数が表示→・・・
となります。
(★の段階が上下で違います。2回目以降は正確な残数表示になります。)

ですので、一度武器を持ち替えた後、もう一度武器画面を確認すれば正確な残数が表示されると言うのが本来の挙動なら、今回の自分の質問がそもそも見当違いだった事になります。
その時は本当に申し訳ございません。

また長くなってしまいましたが、戦闘中にコモンイベントで武器を減らすと言うこと自体、特殊で需要がないのかもしれませんし、自分もプログラムが分からないので、なぜ今回の現象が起きているのか分かりませんし、確認して頂くだけでも、お願いするのが本当に心苦しい所ではあります。
ゲーム自体は問題なく進行しますので、もし自分だけ発生するような現象なら、残数は気にしないようにしますので、無理のない範囲でご対応いただければありがたいです。
 

津 九琉

ユーザー
お世話になっております

この件と関係あるかわかりませんが戦闘中のイベントで武器を追加すると
装備画面に追加した武器が表示されない事がありました

新規プロジェクトを作りver1.2.0でも試しましたが

すべて一つの戦闘中に同じアクターで
 1 装備変更コマンドで装備画面を開いて閉じる
 2 その後バトルイベントで武器を追加する
 3 自分のターンが来て装備変更で武器を変更しようとすると追加された武器が表示されない
 4 一回装備中の武器を外してまた選択すると追加した武器が表示される

という感じです

キーボードかゲームパッドで操作する時だけこうなります
マウスで同じ操作をすると問題なく武器が表示されました

戦闘システムはターン アクティブ ウェイト全部で同じ事がおこりました 


勘違いだったらすいません
 

大鳥椎名

ユーザー
気になった記事だったので実験したところ、再現できました。
コアスクリプトは1.4.0です。

※このスレッドにて、バージョン1.2.0が公開されていたことを見逃しており、1.1.0で実験した内容だったので記事を省略しました。
 1.2.0に更新したことで、こちらで確認していた不具合は解決したように思えます。また似たような現象を確認した際は改めて掲載します。
 大変申し訳ありませんでした。


>>@ぱれっと様

話の本筋とはそれるのですが、コモンイベントで気になった点があったので記述します。
コモンイベントを『手裏剣 -1(装備品含む)』にすると、手裏剣を装備しているアクターが複数いた場合に、より先頭に近いアクターのものから消えてしまうようなので、もし複数人に装備させる場合は、コモンイベントを以下のように書き換えることをオススメします。

◆変数Aに手裏剣の所持数を代入
◆変数Bに直前に行動したアクターのIDを代入
◆条件分岐:変数A=0
 ◆スクリプト:$gameActors.actor($gameVariables.value(B)).changeEquipById(N, 0)
注釈:変数Bで指定したアクターの、装備スロットが上からN番目の装備を外す処理
 ◆
:分岐終了
◆手裏剣 -1(装備品含めず)
 
最後に編集:

@ぱれっと

ユーザー
大鳥椎名様
アドバイスありがとうございます!
複数人だった時の事には、全く考えが及んでいませんでした。。。
今制作中のゲームは手裏剣使いが1人ですが、もし複数人使えるようにする時は、変数、使わせて頂きます!
 
どうもお騒がせしました。
こちらでも再現いたしました。原因を特定できて、修正できました。
当面の問題は解決したので、これをVer1.2.1 とさせていただきます。
(独り言:どうもこのあたりのコアスクリプトは挙動の解析に罠を仕掛けられている感じがする……)

これをどうぞお試しください。
グッドラック。
 

Attachments

  • ChangeEquipOnBattleMZ.zip
    2.9 KB · 閲覧: 19
最後に編集:

@ぱれっと

ユーザー
神無月サスケ様
完璧です!
これで夢に一歩近づけました!
お忙しい中、複雑なプログラムにも関わらず、迅速にご対応して下さり、感謝です!
本当に、本当にありがとうございました!
 
最後に編集:
トップ