【解決済】エネミー行動予測プラグインで変数を表示したい

返信する
アバター
皐月喫茶
記事: 3
登録日時: 2020年4月05日(日) 21:29

【解決済】エネミー行動予測プラグインで変数を表示したい

投稿記事 by 皐月喫茶 »

お世話になります。

tomoaky様の「エネミー行動予測」プラグイン(https://hikimoki.sakura.ne.jp/plugin/TMFutureSight.js)で変数の値を表示する方法はありますでしょうか?

戦闘中に攻撃予定の敵から予定行動および予想ダメージを表示するため上記プラグインを使用、攻撃力を取得した変数を表示させようとしているのですが、例えば「スキル名:(変数1の数値)」と表示させようとすると「スキル名:\v[1]」となってしまい上手く表示できません。

解決方法をご存知の方がいらっしゃいましたらご教示して頂けると幸いです。
よろしくお願いいたします。
最後に編集したユーザー 皐月喫茶 [ 2021年5月07日(金) 22:05 ], 累計 1 回
ecf5DTTzl6h6lJj02
記事: 752
登録日時: 2018年12月23日(日) 13:55

Re: エネミー行動予測プラグインで変数を表示したい

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
皐月喫茶 さんが書きました:お世話になります。

tomoaky様の「エネミー行動予測」プラグイン(https://hikimoki.sakura.ne.jp/plugin/TMFutureSight.js)で変数の値を表示する方法はありますでしょうか?

戦闘中に攻撃予定の敵から予定行動および予想ダメージを表示するため上記プラグインを使用、攻撃力を取得した変数を表示させようとしているのですが、例えば「スキル名:(変数1の数値)」と表示させようとすると「スキル名:\v[1]」となってしまい上手く表示できません。

解決方法をご存知の方がいらっしゃいましたらご教示して頂けると幸いです。
よろしくお願いいたします。
<fsText:予測テキスト> のテキスト内で制御文字をを使えるようにはなっていないので、
プラグインの内容を変更して使えるようにしないといけません。
  1. TMFutureSight.jsを直接変更しますので、まず、TMFutureSight.jsのバックアップを取っておいてください。
  2. TMFutureSight.js を テキストエディター 等 JavaScript ファイルを編集できるソフトで開いてください。
  3. Sprite_FutureSight.prototype.update の関数の下に、以下の関数を追加してください。

    コード: 全て選択

    	Sprite_FutureSight.prototype.convertEscapeCharacter = function(text) {
    		text = text.replace(/\\/g, '\x1b');
    		text = text.replace(/\x1b\x1b/g, '\\');
    		text = text.replace(/\x1bV\[(\d+)\]/gi, function() {
    			return $gameVariables.value(parseInt(arguments[1]));
    		}.bind(this));
    		text = text.replace(/\x1bV\[(\d+)\]/gi, function() {
    			return $gameVariables.value(parseInt(arguments[1]));
    		}.bind(this));
    		return text;
    	};
    
    この関数で変換できるのは \V[n] の制御文字のみです。
  4. Sprite_FutureSight.prototype.drawSightText という関数の中の

    コード: 全て選択

    var text = this._texts[i];
    という部分を

    コード: 全て選択

    var text = this.convertEscapeCharacter(this._texts[i]);
    に変更してください。
以上で、テキストに制御文字 \V[n] が使用できるようになると思います。
アバター
皐月喫茶
記事: 3
登録日時: 2020年4月05日(日) 21:29

Re: エネミー行動予測プラグインで変数を表示したい

投稿記事 by 皐月喫茶 »

ecf5DTTzl6h6lJj02様

ご返信ありがとうございます。
教えて頂いた通りの方法を試したところ、無事制御文字の変数の値を表示することができました。

このまま解決方法が無く、人力ですべての攻撃スキルにすべての攻撃力分のバリエーションと攻撃力ごとの行動パターンを用意することを覚悟していたので、とても助かりました。
この度は非常に丁寧なご回答をして頂きありがとうございます。重ねてお礼申し上げます。
返信する

“MV:質問”に戻る