ページ 11

SAN 拡張イベントページ制御にてセルフスイッチを使いたい

Posted: 2023年10月18日(水) 11:12
by Iron
件名の通りSAN 拡張イベントページ制御にてセルフスイッチを条件に入れてセルフスイッチBとDがONの時イベントを出現…といったようにしたいのですが
<SAN_ExtendedEventPage:{
"trigger":"$gameSelfSwitches.Value([this._mapId, this._eventId, "D"], true) "
}>
と記述するとUnexpected token D とエラーが出ます
この場合Dの部分には何を記述すればいいのでしょうか

Re: SAN 拡張イベントページ制御にてセルフスイッチを使いたい

Posted: 2023年10月18日(水) 14:31
by ecf5DTTzl6h6lJj02
こんにちは。
Iron さんが書きました:件名の通りSAN 拡張イベントページ制御にてセルフスイッチを条件に入れてセルフスイッチBとDがONの時イベントを出現…といったようにしたいのですが
<SAN_ExtendedEventPage:{
"trigger":"$gameSelfSwitches.Value([this._mapId, this._eventId, "D"], true) "
}>
と記述するとUnexpected token D とエラーが出ます
この場合Dの部分には何を記述すればいいのでしょうか
D が 二重引用符(") で囲われてしまっているために、文字列の区切りが
"trigger":"$gameSelfSwitches.Value([this._mapId, this._eventId, "D"], true) "
となってしまい、D が文字列ではない扱いになってしまうために起こっているエラーです。
また、このイベントのセルフスイッチ D がON(true)になっている場合という条件の書き方も正しくありません。
$gameSelfSwitches.value() メソッドは 引数に
'マップID,イベントID,セルフスイッチ番号(A B C D のいずれか)'
という文字列を指定して、指定したセルフスイッチの状態を返却させるメソッドです。
また、この関数で、直接、セルフスイッチがONか(OFFか)という判定をすることはできません。

コード: 全て選択

$gameSelfSwitches.value('マップID,イベントID,セルフスイッチ番号') === true もしくは false
と、きちんと返却された値が true なのか(falseなのか)を判定させなければいけません。
(条件式として、true か判定する場合は === true を省略できます)
最後尾に、true や false を書いても、本来そこに値は設定されないので、無視されます。
ご注意ください。

SAN 拡張イベント制御でこのイベントのセルフスイッチBとDがONのときを出現条件としたい場合は、
以下のように冒頭に注釈を書くことで、設定可能です。

コード: 全て選択

◆注釈:<SAN_ExtendedEventPage:{
:  :"trigger":"$gameSelfSwitches.value('' + this._mapId + ',' + this._eventId + ',' + 'B') &&
:  :$gameSelfSwitches.value('' + this._mapId + ',' + this._eventId + ',' + 'D')"
:  :}>
(ここで書いているのは書き方の一例で、他にも書き方はありますが、解説はしません。)

以上、ご確認ください。

Re: SAN 拡張イベントページ制御にてセルフスイッチを使いたい

Posted: 2023年10月18日(水) 14:42
by Iron
なるほど!
わかりやすく丁寧な解説ありがとうございます!
これで何とかなりそうです!
助かりました!!