【自己解決】選択肢をウィンドウに入れるプラグインを修正したい

アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

【自己解決】選択肢をウィンドウに入れるプラグインを修正したい

投稿記事by にゃたま » 2018年9月16日(日) 12:01

こんにちは。

HIME様の作成されたChoiceDisplayModeというプラグインを使用しています。
http://himeworks.com/2016/04/hms-choice-display-mode/

こちら「文章の表示コマンド」でメッセージが表示されていない状態で
プラグインコマンドHMS.setChoiceMode("embed")を使用すると
エラーを起こしてしまうみたいでしたので以下スクリプトでウィンドウを強制的に開いて実行してみると
ウィンドウに選択肢が表示されるようになりましたが、
選択肢を選択した際に「文章の表示コマンド」を使っても何も表示されない不具合に見舞われました。
どうスクリプトをいじれば選択肢を選択しても表示するようになるでしょうか?
ご存知の方よろしくおねがいします。

コード: 全て選択

var TH_WindowChoiceList_numVisibleRows = Window_ChoiceList.prototype.numVisibleRows;
  Window_ChoiceList.prototype.numVisibleRows = function() { 
     
   
    // need to calculate how much space is left
    if (this._choiceMode === 1) {
      // Add メッセージウィンドウが開かれてなければ開く
      if (!this._messageWindow.isOpen()) {
          this._messageWindow.startMessage();
      }
      // Add end
      var textState = this._messageWindow._textState;
      var y = textState.y;
      var textHeight = textState.height;
      var messageHeight = this._messageWindow.height - this.padding * 2
      if (textState.text !== '') {
        y += textHeight;
      }
      return Math.floor((messageHeight - y) / textHeight);
    }
    else {
      return TH_WindowChoiceList_numVisibleRows.call(this);
    }   
  };




追記
すみません。プラグインの問題ではなくイベントコマンドのスクリプトの順番が原因のようでした。
文章のあとにスクリプトHMS.setChoiceMode("embed")を実行してました。
スクリプトHMS.setChoiceMode("embed")のあとに文章の表示コマンドで正常に表示できました。
文章の表示コマンドで文章を何も入力しないとエラーでないようです。
自己解決です。お騒がせしました。

“MV:質問” へ戻る