ページ 12

ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月05日(土) 21:25
by しぐれん
ツクールMZとツクールMVの関数の違いをこのプラグインで吸収し、MV用プラグインをMZ用で動くようにします。
現在テスト中です。

※さっそくバグに遭遇したので新しいファイルをアップ。
ただし、開発中なのでバグが出る可能性は高いです。

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月05日(土) 22:16
by ムノクラ
しぐれん さんが書きました:ツクールMZとツクールMVの関数の違いをこのプラグインで吸収し、MV用プラグインをMZ用で動くようにします。
現在テスト中です。
早速テストして、エラー報告です。

下記プラグインを使用しました。
https://raw.githubusercontent.com/Kanji ... yChange.js
パーティ編成メニューを選択した時点で下記のエラーが出ました。

コード: 全て選択

rmmz_managers.js:2030 TypeError: ImageManager.reserveFace is not a function
    at KanjiPartyChange.js:1551
    at Array.forEach (<anonymous>)
    at Scene_LoadPCKanji.create (KanjiPartyChange.js:1549)
    at Function.SceneManager.changeScene (rmmz_managers.js:2084)
    at Function.SceneManager.updateMain (rmmz_managers.js:2056)
    at Function.SceneManager.update (rmmz_managers.js:1938)
    at Function.Graphics._onTick (rmmz_core.js:800)
    at TickerListener.emit (pixi.js:9474)
    at Ticker.update (pixi.js:9928)

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月05日(土) 23:25
by しぐれん
ImageManager.reserveFaceは修正に成功しました。
しかし、MVとMZで関数呼び出しの親子関係が逆転した部分があり、そこが相互再帰を起こしています。
これは修正が不可能なので、未対応とします。

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月09日(水) 20:16
by maker-b
お世話になります!

yana様の陣形プラグインを動かそうとおもい、いれてみましたが、以下エラーが出てしまいました・・・

https://rpg.mitukasa.jp/src/ogrpg1587.zip

陣形メニューを開く際のエラーなので、
windowを生成するタイミングなのではないかと思っておりまして
エラー時のthisをconsole.logで調べたのですが、いまいちわかりません・・・

this.textPadding is not a function

お手すきの際にみていただけると嬉しいです。
※ちなみに、最小実行環境でやっております(2つのプラグインのみ)

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月10日(木) 02:24
by しぐれん
エラーの原因が大量にあったので修正しました。
ただ、1か所陣形プラグインの内部に異常があるので、そこを修正する必要があります。

本来は継承元をWindow_Selectableにするべき場所をWindow_Baseにしているため、初期化でエラーが発生します。
該当箇所を発見して、下の内容に書き換えてください。

コード: 全て選択

    function Window_BFParameter() {
        this.initialize.apply(this, arguments);
    }

//    Window_BFParameter.prototype = Object.create(Window_Base.prototype);
    Window_BFParameter.prototype = Object.create(Window_Selectable.prototype);
    Window_BFParameter.prototype.constructor = Window_BFParameter;

    Window_BFParameter.prototype.initialize = function() {
        Window_Selectable.prototype.initialize.call(this, 0,0,144,50);
        this.openness = 0;
    };

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月10日(木) 10:00
by maker-b
しぐれん 様

お世話になっております。
早速の修正ありがとうございます!
以下、コード修正までご指摘くださり感謝いたします!

早速動かしてみましたら、最初は無事に動きましたが、陣形を一つ追加したのち、
陣形メニューをよびだしたところ

this.drawGauge is not a function

のエラーを吐いてしまいました

これは、
Window_BFFormationList.drawItem
に、drawGaugeがない、という意味でしょうか・・・

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月10日(木) 13:14
by ムノクラ
https://forum.tkool.jp/index.php?thread ... post-25391
を参考に PH Warehouse をテストしました。
https://fungamemake.com/archives/1836

プラグインコマンド
PHWarehouse create <預かり所:50>
PHWarehouse show <預かり所>
とやると下記のエラーが出てしまいます。

コード: 全て選択

rmmz_managers.js:2030 TypeError: this.windowWidth is not a function
    at Window_WarehouseCategory.Window_Command.initialize (MVJoint.js:62)
    at Window_WarehouseCategory.Window_HorzCommand.initialize (rmmz_windows.js:1576)
    at Window_WarehouseCategory.Window_ItemCategory.initialize (rmmz_windows.js:2105)
    at Window_WarehouseCategory.initialize (PH_Warehouse.js:1103)
    at new Window_WarehouseCategory (PH_Warehouse.js:1097)
    at Scene_Warehouse.createCategory (PH_Warehouse.js:1363)
    at Scene_Warehouse.create (PH_Warehouse.js:1344)
    at Function.SceneManager.changeScene (rmmz_managers.js:2084)
    at Function.SceneManager.updateMain (rmmz_managers.js:2056)
    at Function.SceneManager.update (rmmz_managers.js:1938)

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月11日(金) 04:47
by しぐれん
プラグインコマンドに@descを書くのを忘れており、正しく動作しない問題がありました。
修正しました。
以後、このプラグインのみでプラグインコマンドを呼び出せます。
bobyama さんが書きました:しぐれん 様

お世話になっております。
早速の修正ありがとうございます!
以下、コード修正までご指摘くださり感謝いたします!

早速動かしてみましたら、最初は無事に動きましたが、陣形を一つ追加したのち、
陣形メニューをよびだしたところ

this.drawGauge is not a function

のエラーを吐いてしまいました

これは、
Window_BFFormationList.drawItem
に、drawGaugeがない、という意味でしょうか・・・
はい、そのままの意味です。
このプラグインの陣形設定の追加方法が理解できなかったのでテストできませんでした。
該当関数は追加したので、今度は動くと思います。

PHWarehouseについても修正。
ただ、内部が謎の挙動をしておりこれがMZ環境で奇妙な動作をして動きません。

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月11日(金) 07:38
by ムノクラ
C:\Program Files (x86)\Steam\steamapps\common\RPG Maker MV\dlc\KadokawaPlugins_New\samples\Slot Machine Sample
に入っている公式が配布しているスロットマシーンのサンプルプロジェクトをMZにコンバートして
https://forum.tkool.jp/index.php?thread ... post-25391
と同じ方法でテストしました。

(MVJointはさっきダウンロードし直して使いました)
下記エラーになりました。

コード: 全て選択

rmmz_managers.js:2030 TypeError: this._setDirty is not a function
    at Bitmap.drawImage (SlotMachine.js:450)
    at Scene_SlotMachine.makeReel (SlotMachine.js:574)
    at Scene_SlotMachine.start (SlotMachine.js:564)
    at Function.SceneManager.updateScene (rmmz_managers.js:2101)
    at Function.SceneManager.updateMain (rmmz_managers.js:2057)
    at Function.SceneManager.update (rmmz_managers.js:1938)
    at Function.Graphics._onTick (rmmz_core.js:800)
    at TickerListener.emit (pixi.js:9474)
    at Ticker.update (pixi.js:9928)
    at Ticker._tick (pixi.js:9679)

Re: ツクールMZでMVのプラグインをそのまま動かすプラグイン

Posted: 2020年9月11日(金) 13:03
by maker-b
しぐれん 様

お世話になっております。
頂いたプラグインでなんとか陣形が動作するようになりました!
ご対応ありがとうございます!

コード: 全て選択

Window_Base.prototype.drawGauge = function(x, y, width, rate, color1, color2) {
    var fillW = Math.floor(width * rate);
    var gaugeY = y + this.lineHeight() - 8;
    this.contents.fillRect(x, gaugeY, width, 6, this.gaugeBackColor());
    this.contents.gradientFillRect(x, gaugeY, fillW, 6, color1, color2);
};
上記をもとに、自分なりに勉強しました。

今回のオーバーライド?上書きは

エラー発見>エラーの関数のプロトタイプのMVコアスクリプトを探す>追加する

というようなアクションであっていますでしょうか?

いつも対応ありがとうございます!