ページ 11

SceneFormation.js改変依頼:戦闘メンバーの人数を固定にしたい【ツクールMV】

Posted: 2025年3月09日(日) 14:18
by おもちこめ
*前置き:
お世話になります。
表題の通り、Yana様作SceneFormation.jsの改変をお手伝いしていただきたく存じます。
詳細は以下に記載しておりますが、
ご不明点等ございましたらお手数ですがご連絡お願いいたします。
ご検討いただけますと幸いです。

*プラグインDL場所(ツクマテ):
viewtopic.php?t=15064
ver1.097

*説明用資料等(googleスプレッドシート):
https://docs.google.com/spreadsheets/d/ ... ingle=true
(画像をいっぱい用意したため、サーバーの負担になるかと思い
資料を別で用意いたしました。)

*目的:
SceneFormation.jsの並び替えシーンにおいて、
戦闘メンバーの人数を固定(4人固定)にしたい。

*現状:
待機メンバー行の一番左に"-"(空欄)の項目がある。
"-"(空欄)と戦闘メンバーを選択すると、
戦闘メンバーを4人以下に出来てしまう。
(リンク先資料:左半分参照。)

*試した内容:
1. 待機メンバー最大数を調整する。
例) パーティメンバー6人・戦闘メンバー4人固定の場合、
  待機メンバーは必ず2人になるため、
  プラグインパラメータで
  待機メンバーの最大数を2人に設定する。

結果:
待機メンバー行・枠右外の"-"(空欄)を選択出来てしまい、
戦闘メンバーを減らせてしまう。失敗。
(リンク先資料:右半分参照。)

2. プラグイン改変を試みる。
SceneFormation.js・425行目

コード: 全て選択

this.drawText('-', x, y, 48, 'center');
をコメントアウトする。

結果:
ハイフンが表示されないだけで、"-"(空欄)の項目は残ってしまっており、
戦闘メンバーを減らせてしまう。失敗。
(リンク先資料:右半分参照。)

*余談(別件?):
今回のご依頼に関係のある内容なのか、関係ない内容なのか、
そもそも不具合なのか仕様なのか判断できなかったのですが、
念のためご共有いたします。

待機メンバー行右端の"-"(空欄)と戦闘メンバーを入れ替えると、
新たに待機メンバー行・右枠外に"-"(空欄)が生成されるようで、
戦闘メンバーを1人まで減らせてしまう。
また、この際"-"(空欄)と入れ替えた待機メンバーとなった戦闘メンバーは、
待機メンバー枠を超えて配置される(画面に表示されない)。

*環境:
ツクールMV:ver1.6.3
SceneFormation.js:ver1.097

*質問者のスペック:
スクリプトを弄って、文字の大きさや色等を変更することが出来るくらい。

何卒、よろしくお願いいたしますT T

Re: SceneFormation.js改変依頼:戦闘メンバーの人数を固定にしたい【ツクールMV】

Posted: 2025年3月10日(月) 00:17
by 名無し蛙
要は待機メンバーウィンドウの空欄を選択出来ないようにすれば良いんですよね
ここ以外で戦闘メンバー4人という前提が崩れないのであれば

1.096でチェックしたので行数はズレてると思いますけど
644行目のonTouchHandlerName() {というメソッドの下に
isCurrentItemEnabled() {を追加してください。

コード: 全て選択

        // ここは既存メソッド
        onTouchHandlerName() {
            return 'battleOff';
        }

        // ここが追加メソッド
        isCurrentItemEnabled() {
            return (this.index() < this._members.length) && super.isCurrentItemEnabled();
        }
自動で左詰めされる仕様であればこの程度の改変で良いと思います。
そもそも「-自体要らない」というのであれば
594行目のmaxItems() {の+1を取っ払っても他に影響は無いと思います。

コード: 全て選択

    class Window_FormationStander extends Window_Formation {
        windowWidth() {
            return Math.min(standMembersSize * 60 + this.standardPadding() * 2, Graphics.boxWidth - 196);
        }

        maxRows() {
            return Math.ceil(this.maxItems() / 10);
        }
        // ここを改変
        maxItems() {
//            return this.size() + 1;
            return this.size();
        }

【解決】SceneFormation.js改変依頼:戦闘メンバーの人数を固定にしたい【ツクールMV】

Posted: 2025年3月10日(月) 22:43
by おもちこめ
名無し蛙様

お世話になります。
ご返信ありがとうございます。

「-自体要らない」というのが私の希望だったため、
2つ目にご提示いただいた改変を試し、希望通りの動作をすることを確認いたしました!

迅速にご回答くださり、本当にありがとうございます。
また、私の拙い質問文から質問意図を汲み取って下さり、大変助かりました。

このプラグインで実装する並び替えシーンの
歩行グラフィックがいっぱい並ぶところが可愛くてとてもお気に入りで
どうしても利用したかったため、ご回答いただけて嬉しいです。

ありがとうございました。^^ <(_ _)>