ページ 11

【解決済み】『rpg_managers.js』を書き換えて、特定スイッチON時のみ「〜が出現!」のメッセージを非表示にしたい

Posted: 2019年12月06日(金) 22:47
by あんどう
件名の通り、特定のスイッチをONにしている間だけ
【データベース→用語→メッセージ】にある「%1が出現!」という戦闘開始と同時に表示されるテキストを
表示せずに戦闘に突入したいと考えています。
そこで素人ながら、以下kotonohaさまの記事に似てると感じ、
見よう見まねで書いてみたのですがうまくいかず…。
どなたかご助言いただけないでしょうか…?
(http://ktnhmv.jugem.jp/?eid=3)

-----
BattleManager.startBattle = function() {
this._phase = 'start';
$gameSystem.onBattleStart();
$gameParty.onBattleStart();
$gameTroop.onBattleStart();
this.displayStartMessages();
-----

上記の「this.displayStartMessages();」を条件分岐でON / OFF切り替えたいのです。
どなたかお願いします…!

Re: 『rpg_managers.js』を書き換えて、特定スイッチON時のみ「〜が出現!」のメッセージを非表示にしたい

Posted: 2019年12月07日(土) 22:59
by トリアコンタン
こんにちは!
記事にあるとおり、任意の番号のスイッチ状態を取得するのは「$gameSwitches.value(n)」です。
それを「this.displayStartMessages();」に対して適用します。if文という条件分岐を実現するJavaScriptの制御構造を使います。

適用例

コード: 全て選択

    BattleManager.startBattle = function() {
        this._phase = 'start';
        $gameSystem.onBattleStart();
        $gameParty.onBattleStart();
        $gameTroop.onBattleStart();
        // [1]番のスイッチがONのとき
        if ($gameSwitches.value(1)) {
            this.displayStartMessages();
        }
    };
ただし、この場合、不意打ちや先制攻撃のメッセージも表示されなくなりますのでご注意ください。

Re: 『rpg_managers.js』を書き換えて、特定スイッチON時のみ「〜が出現!」のメッセージを非表示にしたい

Posted: 2019年12月08日(日) 20:19
by あんどう
ありがとうございます!!まさに思い通りの演出ができました!
密かにいつもプラグイン等使わせていただきお世話になっています。
大変助かりました。

また、ついでという形で恐縮なんですが、
「〜が出現!」の文字を消した後に表示される【戦う / 逃げる】【アクター名 / HP / MP TP】などの
ステータスウィンドウも非表示のままバトルに入りたいのですが、こちらも可能でしょうか…?

バトルに入った直後(=アクターが定位置に到着後)からは、
スクリプト<BattleManager._statusWindow.hide();>でウィンドウを消せるのですが、
バトル開始時に一瞬だけ表示されてしまうウィンドウも消したいのです。

すみませんがお願いします…!

Re: 『rpg_managers.js』を書き換えて、特定スイッチON時のみ「〜が出現!」のメッセージを非表示にしたい

Posted: 2019年12月09日(月) 03:10
by トリアコンタン
ステータスウィンドウを非表示にしたい場合、作成直後に非表示にするのがいいと思います。

コード: 全て選択

    Scene_Battle.prototype.createStatusWindow = function() {
        this._statusWindow = new Window_BattleStatus();
        this.addWindow(this._statusWindow);
        // 追加
        this._statusWindow.hide();
    };
ただ、戦う/逃げるのコマンドウィンドウは初期状態でアクティブになる仕様なので、ここを非表示にしたい場合は少し複雑な実装になるので、プラグインが必要になると思います。

Re: 『rpg_managers.js』を書き換えて、特定スイッチON時のみ「〜が出現!」のメッセージを非表示にしたい

Posted: 2019年12月12日(木) 23:34
by あんどう
すみません返信遅れました!
if文を活用して、理想通りステータスウィンドウを消せました!
ありがとうございました!