SAN 拡張イベントページ制御にてエラーが発生する

Iron
記事: 15
登録日時: 2021年5月11日(火) 19:36

SAN 拡張イベントページ制御にてエラーが発生する

投稿記事by Iron » 2023年10月30日(月) 22:23

SAN拡張イベントページ制御プラグインにて
<SAN_ExtendedEventPage:{
"trigger":"$gameSelfSwitches.value('' + this._mapId + ',' + this._eventId + ',' + 'B') &&
$gameSelfSwitches.value('' + this._mapId + ',' + this._eventId + ',' + 'D') &&
($gameVariables.value(4) >= '9')"
}>
と記述したところUnexpected end of JSON と表示されます
何が正しくなくてこのようなエラーが発生するのでしょうか?
初歩的な質問かもしれませんが何卒よろしくお願いいたします

ecf5DTTzl6h6lJj02
記事: 459
登録日時: 2018年12月23日(日) 13:55

Re: SAN 拡張イベントページ制御にてエラーが発生する

投稿記事by ecf5DTTzl6h6lJj02 » 2023年10月31日(火) 00:18

こんにちは。
Iron さんが書きました:SAN拡張イベントページ制御プラグインにて
<SAN_ExtendedEventPage:{
"trigger":"$gameSelfSwitches.value('' + this._mapId + ',' + this._eventId + ',' + 'B') &&
$gameSelfSwitches.value('' + this._mapId + ',' + this._eventId + ',' + 'D') &&
($gameVariables.value(4) >= '9')"
}>
と記述したところUnexpected end of JSON と表示されます
何が正しくなくてこのようなエラーが発生するのでしょうか?
初歩的な質問かもしれませんが何卒よろしくお願いいたします

プラグインヘルプにも書かれていますが、条件式を表す文字列の途中に、
二重引用符(")や不等号(< および >) を使うことができません。

二重引用符については、前回の質問で、説明した通り、おかしな位置で、文字列が区切られてしまうことがあるからです。

不等号が使えない理由ですが、これは、
条件設定の開始記号が < 終了記号が > のために、途中で < >、特に > が入ると、
正しくない位置で条件設定の文章が終了して(終了したと読み取られて)しまったり、
正しく、設定内容が読み取れなくなってしまうからです。

通常、条件式で不等号を使いたい場合への対応で < の 代わりに &lt;、> の代わりに &gt; を使えるような対応をするのですが、
このプラグインでは対応されていないようなので、プラグイン側に変更を加える必要があります。

プラグインをJavaScript を編集できるソフト(お勧めは VisualStudioCode)で開いて、
以下に示す変更を行ってください。
(ファイルのバックアップをしっかりとっておいてください)

122 行目あたりにある

コード: 全て選択

var json = data.meta.SAN_ExtendedEventPage;

という部分の下に、以下の2行を追加してください。

コード: 全て選択

    json = json.replace(/&lt;/mg, '<');
    json = json.replace(/&gt;/mg, '>');


これで、 < の 代わりに &lt; > の代わりに &gt; と記述すれば、正しく動作するようになるかと思います。

以上、ご確認ください。
Iron
記事: 15
登録日時: 2021年5月11日(火) 19:36

Re: SAN 拡張イベントページ制御にてエラーが発生する

投稿記事by Iron » 2023年10月31日(火) 11:05

前回に引き続き丁寧な回答ありがとうございます!
ヘルプを見るのを忘れていました…申し訳ないです
説明の通りプラグインを変更し
<SAN_ExtendedEventPage:{
"trigger":"$gameSelfSwitches.value('' + this._mapId + ',' + this._eventId + ',' + 'B') &&
$gameSelfSwitches.value('' + this._mapId + ',' + this._eventId + ',' + 'D')" &&
($gameVariables.value(4) &gt; ='9')"
}>
と記述したのですがUnexpected token in Json at position 166と出てしまいます
空白をすべて消してもこのエラーだったのですが今回は何がいけないのでしょうか?何度も申し訳ないです

プラグインのほうには
var json = data.meta.SAN_ExtendedEventPage;
json = json.replace(/&lt;/mg, '<');
json = json.replace(/&gt;/mg, '>');
var parameters = JSON.parse(json);
と記述してあります
Iron
記事: 15
登録日時: 2021年5月11日(火) 19:36

Re: SAN 拡張イベントページ制御にてエラーが発生する

投稿記事by Iron » 2023年10月31日(火) 11:49

自己解決しました!
色々消し忘れてました!!!!!
すいません!!!!!
ありがとうございました!!!!!!

“MV:質問” へ戻る