TMTyping.jsをMZで使いたい

返信する
鯉太郎
記事: 2
登録日時: 2024年9月08日(日) 18:27

TMTyping.jsをMZで使いたい

投稿記事 by 鯉太郎 »

tomoaky様のMV向けプラグイン「TMTyping.js」をMZで使いたいのですが、このプラグインをそのまま格納してONにした状態でゲームを起動すると、「Cannot read property 'active' of undefined」というエラーが発生してしまいます。
タイピングゲーム起動のトリガーとなる文字列「[タイピング]」の使用有無に関わらず、タイトルのニューゲームを押下した直後に上記エラーが発生します。
他プラグインはすべてOFFにしてゲームを起動した際にも同様のエラーが発生するため、プラグインが競合しているわけではないようです。

類似するプラグインは他に見当たらないためどうにかMZでも使えるようにしたく、どのように修正すれば良いかご教示いただけますと幸いです。
jsのことはまったくわからず、どれぐらい難しい話なのかもわかっていないのですが、よろしくお願いいたします。
添付ファイル
スクリーンショット 2026-07-31 232116.png
アバター
ノリミツ
記事: 11
登録日時: 2018年3月04日(日) 15:10
連絡する:

Re: TMTyping.jsをMZで使いたい

投稿記事 by ノリミツ »

MVとMZで構文が大きく違う箇所のあるプラグインなので、修正は結構大変です
プログラマーでない素人の私で分かる範囲で考えましたので、以下参考程度にして下さい
(修正前の TMTyping.js を別フォルダにバックアップコピーしておいた方がよいです)
TMTyping.js を「メモ帳」などのテキストエディタで開き、最終行の })(); の直上に、下記追加コードを全てコピペしてから、ファイルを上書き保存すると、一応起動はできそうです

コード: 全て選択

Window_Typing.prototype.initialize = function(rect) {
  Window_Base.prototype.initialize.call(this, rect);
  this.deactivate();
};

Window_Typing.prototype.setMessageWindow = function(messageWindow) {
  this._messageWindow = messageWindow;
};

const _WT_updatePlacement = Window_Typing.prototype.updatePlacement;
Window_Typing.prototype.updatePlacement = function() {
  if (!$gameMessage.hasText()) {
    this._messageWindow.y = Graphics.boxHeight - this._messageWindow.height;
  }
  _WT_updatePlacement.apply(this, arguments);
};

Window_Typing.prototype.textPadding = function() {
  return 6;
};

Window_Message.prototype.setTypingWindow = function(typingWindow) {
  this._typingWindow = typingWindow;
};

const _SM_createAllWindows = Scene_Message.prototype.createAllWindows;
Scene_Message.prototype.createAllWindows = function() {
  _SM_createAllWindows.apply(this, arguments);
  this.createTypingWindow();
};

Scene_Message.prototype.createTypingWindow = function() {
  this._typingWindow = new Window_Typing(new Rectangle(0, 0, 0, 0));
  this.addWindow(this._typingWindow);
  this._messageWindow.setTypingWindow(this._typingWindow);
  this._typingWindow.setMessageWindow(this._messageWindow);
};
*******************************************************
ノリミツ (NoLimits)
[x] https://x.com/nolimits_tukool
[GitHub] https://github.com/nolimits-tukool
*******************************************************
鯉太郎
記事: 2
登録日時: 2024年9月08日(日) 18:27

Re: TMTyping.jsをMZで使いたい

投稿記事 by 鯉太郎 »

ノリミツ様
返信ありがとうございます。
記載いただいた通り修正し軽く動作確認してみたところ、問題なく動くようになったように見受けられます。
まだ作り始めたばかりで他の機能に影響があるか把握できていないのですが、まずはこれで進めてみます。ご回答いただき誠にありがとうございました。
返信する

“MZ:質問”に戻る