【解決済み】YEP様の「Message Backlog」で別途に設定した制御文字の[]が表示されてしまう件について

tukuruchan
記事: 2
登録日時: 2020年1月06日(月) 03:28

【解決済み】YEP様の「Message Backlog」で別途に設定した制御文字の[]が表示されてしまう件について

投稿記事by tukuruchan » 2020年1月06日(月) 03:37

YEP様の「Message Backlog」プラグインを使用しているのですが、ツクールmvに元からある制御文字であればログの中に出てこないものの、別のプラグイン用に設定した \SE[default]、\SA[2]といった独自の制御文字を使用した場合、\SEなどはキチンと消え、[default]や[1]という文字のみログに表示されてしまいます。

こうした[]を含めた制御文字関係をログから消す場合どのように対処する方法があるでしょうか?
最後に編集したユーザー tukuruchan on 2020年1月07日(火) 03:05 [ 編集 1 回目 ]

アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: YEP様の「Message Backlog」で別途に設定した制御文字の[]が表示されてしまう件について

投稿記事by にゃたま » 2020年1月07日(火) 01:44

tukuruchan様

こんばんは。
私もこちらのプラグインを使ってましたが、これはプラグイン中にある
Window_MessageBacklog.prototype.removeMessageBoxOnlyCodes関数の末尾に
以下を追加してやることで可能と思います。

例で言えば
\SE[default]ならtext = text.replace(/\\SE\[default]/gi, '');
\SA[2]ならtext = text.replace(/\\SA\[2]/gi, '');
といった具合です。

後、正規表現を習得しておいたほうが複数のパターンに対応できるので便利です。
例えば[]内がどんな数字でもヒットするとかです。
text = text.replace(/\\SA\[(\d+)]/gi, '');
また以下は[]内がどんな文字列でもヒットします
text = text.replace(/\\SE\[(.*?)]/gi, '');

余談ですが、なんとなくこの制御文字の例の感じから
シロップ様の立ち絵プラグインのような感じがしてます…(間違ってたらすみません)
そのプラグインなら使ってますので(^^;
tukuruchan
記事: 2
登録日時: 2020年1月06日(月) 03:28

Re: YEP様の「Message Backlog」で別途に設定した制御文字の[]が表示されてしまう件について

投稿記事by tukuruchan » 2020年1月07日(火) 03:04

にゃたま様

早速のご回答ありがとうございます。
そして、お察しの通りシロップ様の立ち絵プラグインを使っております。有料プラグインなのでツクマテでお名前を出して良いものか分からずボカしつつの質問でしたがそこまで察して頂けるとは……( ;∀;)
\SE[]\SA[]\SM[]をとてつもない頻度で使っておりましたので、正規表現での除外方法までご教示いただけて本当に本当に本当に助かりました……数ヶ月ずっと謎の文字を見続けていたので本当に嬉しいです……

スマートすぎる解決ありがとうございました。
実際に打ち込んでみたところ綺麗さっぱり[]文字は消え去りましたので、これで最強のバックログになります。
本当にありがとうございました。

こちらの質問は解決済みとさせて頂きます!

“MV:質問” へ戻る