お世話になります。
tomoaky様の「エネミー行動予測」プラグイン(https://hikimoki.sakura.ne.jp/plugin/TMFutureSight.js)で変数の値を表示する方法はありますでしょうか?
戦闘中に攻撃予定の敵から予定行動および予想ダメージを表示するため上記プラグインを使用、攻撃力を取得した変数を表示させようとしているのですが、例えば「スキル名:(変数1の数値)」と表示させようとすると「スキル名:\v[1]」となってしまい上手く表示できません。
解決方法をご存知の方がいらっしゃいましたらご教示して頂けると幸いです。
よろしくお願いいたします。
【解決済】エネミー行動予測プラグインで変数を表示したい
-
- 記事: 455
- 登録日時: 2018年12月23日(日) 13:55
Re: エネミー行動予測プラグインで変数を表示したい
こんにちは。
<fsText:予測テキスト> のテキスト内で制御文字をを使えるようにはなっていないので、
プラグインの内容を変更して使えるようにしないといけません。
皐月喫茶 さんが書きました:お世話になります。
tomoaky様の「エネミー行動予測」プラグイン(https://hikimoki.sakura.ne.jp/plugin/TMFutureSight.js)で変数の値を表示する方法はありますでしょうか?
戦闘中に攻撃予定の敵から予定行動および予想ダメージを表示するため上記プラグインを使用、攻撃力を取得した変数を表示させようとしているのですが、例えば「スキル名:(変数1の数値)」と表示させようとすると「スキル名:\v[1]」となってしまい上手く表示できません。
解決方法をご存知の方がいらっしゃいましたらご教示して頂けると幸いです。
よろしくお願いいたします。
<fsText:予測テキスト> のテキスト内で制御文字をを使えるようにはなっていないので、
プラグインの内容を変更して使えるようにしないといけません。
- TMFutureSight.jsを直接変更しますので、まず、TMFutureSight.jsのバックアップを取っておいてください。
- TMFutureSight.js を テキストエディター 等 JavaScript ファイルを編集できるソフトで開いてください。
- 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] の制御文字のみです。 - Sprite_FutureSight.prototype.drawSightText という関数の中の
コード: 全て選択
var text = this._texts[i];
という部分をコード: 全て選択
var text = this.convertEscapeCharacter(this._texts[i]);
に変更してください。
Re: エネミー行動予測プラグインで変数を表示したい
ecf5DTTzl6h6lJj02様
ご返信ありがとうございます。
教えて頂いた通りの方法を試したところ、無事制御文字の変数の値を表示することができました。
このまま解決方法が無く、人力ですべての攻撃スキルにすべての攻撃力分のバリエーションと攻撃力ごとの行動パターンを用意することを覚悟していたので、とても助かりました。
この度は非常に丁寧なご回答をして頂きありがとうございます。重ねてお礼申し上げます。
ご返信ありがとうございます。
教えて頂いた通りの方法を試したところ、無事制御文字の変数の値を表示することができました。
このまま解決方法が無く、人力ですべての攻撃スキルにすべての攻撃力分のバリエーションと攻撃力ごとの行動パターンを用意することを覚悟していたので、とても助かりました。
この度は非常に丁寧なご回答をして頂きありがとうございます。重ねてお礼申し上げます。