コンテンツにスキップ

困ったときの対処法

動作が遅い

  • aya.txt の動作ログ設定を確認。ログを取る設定のままにしていないか?
  • システム辞書のゴーストリスト取得が有効になっていないか確認。最大取得数を減らすか0に設定するとパフォーマンスが向上する。

選択肢が機能しない

辞書ファイル内の {} が閉じられていない可能性がある。波括弧の対応を確認すること。

OnChoiceSelect が正常に動作しない

YAYA バージョン 5.0〜5.2 では、関数名に ( ) [ ] ! ++ -- * / % + - & == != <= >= < > && || = := += -= *= /= %= などの演算子や特殊文字が含まれている場合、選択が失敗することがある。これらの文字を含まない名前に変更する。

セリフに謎の「0」や「1」が現れる

変数の代入に =(代入)ではなく ==(比較)を使っていないか確認。よくある間違いで予期しない出力が発生する。

ランダムトークが出ない

スクリプトに OnSecondChange{} が存在するか確認。これがないと OnAiTalk が実行されない。特定の動作が不要でも空の実装を含めること。

起動に失敗する

「玉」構文チェッカーツールでコンパイルエラーを特定する。よくある間違い:

  • クォートが閉じられていない
  • elseif が else if と書かれている
  • カッコ・波括弧の不一致
  • 文字コードの問題(UTF-8 vs Shift-JIS)

関数の型エラー

特定の関数で常に「引数の型が不正です」が表示される場合、ファイル全体で TOINT() や TOSTR() を使って引数の型が要件に合っているか確認する。

SAORIがフリーズする

パス区切りにバックスラッシュを使う:"saori\xxx.dll"("saori\\xxx.dll" や "saori/xxx.dll" は不可)。

SakuraScriptのカッコ処理

] を含むテキストはクォートで囲み、内部のクォートはダブルにしてエスケープする:'"' + text + '"'

配布前のクリーンアップ

配布前に以下のファイルを削除すること:

  • ***_variable.cfg(セーブデータ)
  • ***.log(実行ログ)
  • ssp_shiori_log.txt
  • profile/ と var/ フォルダ
  • 暗号化されていない .dic ファイル

関連