【解決済】MaxTpExtend.jsに関する質問

ksk
記事: 108
登録日時: 2020年11月15日(日) 19:05

【解決済】MaxTpExtend.jsに関する質問

投稿記事by ksk » 2021年8月16日(月) 21:53

いつもお世話になっております。

トリアコンタン様が作成された『MaxTpExtend.js』最大TP拡張 プラグイン(MV版)について
質問させていただけますでしょうか。
DL元 ツクプラ様:https://plugin.fungamemake.com/archives/27197

現在、味方全員のTP最大値を0にしてくる敵を実装しようとしているのですが、
付与するステートに<最大TP:-100>と記載すると、ステートにかかった際に下記エラーが出てしまいます。
※新規プロジェクトでも確認してみましたが、同様のエラーが発生しました。

rpg_managers.js:1949 TypeError: Failed to execute 'createLinearGradient' on 'CanvasRenderingContext2D':
The provided double value is non-finite.

素人なりに調べてみたところ、どうやらゲージを描画するときの横幅が不正な値になっていることが
原因のようですが、最大値を0にしてしまう都合上、エラーが生じてしまうのは避けられないのでしょうか。
もし解決方法をご存知の方がおりましたら、ご教示いただけないでしょうか。
最後に編集したユーザー ksk on 2021年8月17日(火) 08:10 [ 編集 1 回目 ]

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: MaxTpExtend.jsに関する質問

投稿記事by 奏ねこま » 2021年8月16日(月) 22:47

一応確認ですが「TP最大値を1にするステート」にする代案はナシですか?
ksk
記事: 108
登録日時: 2020年11月15日(日) 19:05

Re: MaxTpExtend.jsに関する質問

投稿記事by ksk » 2021年8月16日(月) 23:16

全然ありだと考えてます。
TPを0にするのが難しい場合は最大TPを1にする方向で調整しようと思います。
が、やはり最大値を0にした状態でエラーが生じない方法があればそちらで実装したい考えもございます。

※以下、蛇足
実は、今回最大TPを0にする方法を質問をさせていただいた件ですが、
当初本当に実装したかった仕様は、特定のステート中TPが一切上昇しなくなる、というものでした。
『TPチャージ率』を0に設定すれば攻撃や被弾でのTP上昇はなくなりますが、
アイテムやスキルなどでTPを増加する効果を適用すると普通にTPが増えてしまい、
それならば最大TPの方を0にしてしまおう、と実装を目指した経緯がございます。

スレッドのタイトルとは別の質問となってしまい恐縮ですが、
もし『TP増加の効果でもTPが一切増えなくなるステートの実装方法』
をご教示いただけたらそちらでも代替できるかと思います。
解決策さえ分かれば、実装はどちらの方法でもいいと考えております。
引き続きどうぞよろしくお願い致します。
奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: MaxTpExtend.jsに関する質問

投稿記事by 奏ねこま » 2021年8月16日(月) 23:43

TP増加無効はまた別のプラグインを作る必要が出てくるので、エラー対策のほうで。

コード: 全て選択

    let _Game_BattlerBase_tpRate = Game_BattlerBase.prototype.tpRate;
    Game_BattlerBase.prototype.tpRate = function() {
        return this.maxTp() > 0 ? _Game_BattlerBase_tpRate.call(this) : 0;
    };

MaxTpExtend.jsの105行目と106行目の間あたりにでも入れてみてください。
ksk
記事: 108
登録日時: 2020年11月15日(日) 19:05

Re: MaxTpExtend.jsに関する質問

投稿記事by ksk » 2021年8月17日(火) 08:10

ありがとうございます!
動作確認させていただきましたが、最大TPを0にしてもエラーが発生しなくなりました!
本スレッドは解決済とさせていただきます。

“MV:質問” へ戻る