ページ 11

【解決済み】戦闘中のスキル説明に表示された変数の更新について

Posted: 2025年9月11日(木) 12:07
by AQ01
お世話になっています。
ツクールMV1.5.2での質問になります。

戦闘中の「スキル選択時の説明に表示」された「変数の更新」についてお知恵を貸していただけると助かります。

①戦闘中にスキルを使う度に威力を増していくスキルや
②戦闘中に特定のアイテムを消費するスキルを使う場合

スキルの説明欄にその回数や個数、変数(仮に「X」とします)を表示した方が状況がわかりやすいと思うので、スキル説明欄に変素を表示しているのですが(消費アイテムの場合は変数に代入して変数を表示しています)。

上記を実現する場合

①の場合、スキルを使うごとに変数が加算されたり(スキルに変数を操作するコモンイベントをセットすることでできます)
②の場合、スキルを使うごとにアイテムの増減を変数に代入、それをコモンイベントで戦闘グループイベントのバトルモーメントなどで設定することで実数は変わっています

ですが、同じ戦闘中にスキルを選択して前のスキルが表示された際、そのコモンイベントなどで変数を変更した数値が説明欄に反映されていません。

例に例えると、変数Xを操作するスキルAを使うと、戦闘コマンドからスキルを選びスキルAが表示されたとき
その説明欄に表示されている変数Xの値が変わっていません。
ただし、一度スキルのカーソルを他のスキルに当てて、もう一度スキルAを選択すると、その瞬間にXの変更値が反映されます。

おそらくベースのバトルスクリプト?のスキル説明欄の更新タイミングが合ってない
(スキルを再選択したときにスキルの説明欄が更新されている)せいなのだと思いますがこちらの説明の更新を
そのスキルを使った直後、あるいはターンが終了した段階ですることはできますでしょうか?

その際どこをいじるべきかわかりませんので、どうしたらいいか教えていただけると助かります。
よろしくお願いします。

Re: 戦闘中のスキル説明に表示された変数の更新について

Posted: 2025年9月11日(木) 19:01
by Plasma Dark
スキル一覧を開くときにヘルプウィンドウの内容をリフレッシュしてあげるのが良いと思います。

コード: 全て選択

(function () {
  'use strict';

  function Scene_Battle_UpdateHelpOnCommandSkill(sceneBattle) {
    const _commandSkill = sceneBattle.commandSkill;
    sceneBattle.commandSkill = function () {
      _commandSkill.call(this);
      this._helpWindow.refresh();
    };
  }

  Scene_Battle_UpdateHelpOnCommandSkill(Scene_Battle.prototype);
})();

Re: 戦闘中のスキル説明に表示された変数の更新について

Posted: 2025年9月11日(木) 19:34
by AQ01
>> Plasma Darkさん

お返事ありがとうございます。

こちらのコードはどのタイミング(というかどのjsファイル?)のどのあたりの部分で上書きというか
差し込めばよいのでしょうか?

それともプラグイン的にjpファイルとしてダウンロードしてONにすればいいのでしょうか?


プログラムにあまり詳しくないので感覚的にわからなくてすみません…。

Re: 戦闘中のスキル説明に表示された変数の更新について

Posted: 2025年9月16日(火) 00:56
by Plasma Dark
こちらのコードはどのタイミング(というかどのjsファイル?)のどのあたりの部分で上書きというか
差し込めばよいのでしょうか?

それともプラグイン的にjpファイルとしてダウンロードしてONにすればいいのでしょうか?
このコードはプラグインです。
.jsファイルとして js/plugins フォルダに保存して利用してください。

Re: 【解決済み】戦闘中のスキル説明に表示された変数の更新について

Posted: 2025年9月17日(水) 16:44
by AQ01
ありがとうございます!
上記のプラグインで無事に想定通り動きました!

こちらで解決とさせていただきます。