困ったときの対処法¶
AYAYA Wiki より転載
開発関連の質問は伺か開発フォーラムhttp://ghost.sakura.tv/fluxbb/viewforum.php?id=4 で行っています
動作が重い¶
動作ログを取る設定のままにしていませんか?
文の設定ファイルaya.txtをもう一回見直してみてください。
もしくは「***_shiori3.dic」内で「インストール済みゴーストリストを取得する」に設定していませんか?
取得する最大数を減らしてみてください。ゴーストリストを一切使用しないのなら0でも問題ありません。
選択肢が選べたり選べなかったりする¶
どこかで{}の閉じ忘れをしているかもしれません。
選択肢を選んでも「1」としか喋らなくなった。¶
文Ver5.0~Ver5.2以前の場合、OnChoiceSelectで指定した関数の中に、以下の文字が入っているかもしれません。
( ) [ ] ! ++ -- * / % + - & == != <= >= < > _in_ !_in_
&& || = := += -= *= /= %= +:= -:= *:= /:= %:= ,=
関数名に上記の文字をを含まないように直すと、普通に動く可能性があります。
(:::et cetera. - bbs)より。
トークに謎の「0」や「1」が混じってる¶
変数代入時、「i = 1」と書いたつもりが「i == 1」と書いてたりしませんか?
ランダムトークをしなくなってしまった¶
OnSecondChangeを消している可能性があります。
消しているとOnAiTalkが呼び出されません。
OnSecondChangeで何も行わない場合は
OnSecondChange{}
と記述しておいて下さい。(SatisFactoryの雑記より)
うまく起動しない¶
スクリプトの構文ミスの可能性が高いです。
文Ver.5の場合、文Ver.5の公開ページにある構文チェックツール「玉」を使うと、殆どの構文ミスを発見できます。
ハマりやすいミスの例。
- ' ' や " " の閉じ忘れ
- ' ' の中に ' 、 " " の中に " が入っていた
- elseifをelse ifと書いた
- ifを書かずにelseifからはじめてしまった
- ( ) や { } が多すぎ・少なすぎ
- 括弧の対応をチェックできるテキスト編集ソフト(エディタ)を探しましょう
- 変数名・関数名の大文字・小文字
- 一度も使ったことのない変数を利用しようとした
- 使ったことのない変数を参照してもエラーになりません。
- 辞書の文字コードの間違い
- UTF-8辞書を使っている方のみ。無論、ShiftJISで書いてしまうと大量の謎エラーに頭を抱えることになります。逆もしかり。
辞書中の特定の関数全てに「引数の型が不正です」エラー¶
関数を使用する時数値型の引数を入れないといけない部分に文字列型の引数を入れていたりその逆だったりすると、正しく記述した関数も含めてエラーが出てしまう場合があります。
「数値型、又は文字列型ではない引数が入る可能性がある」でもアウトになる事もあります。TOINTやTOSTRを活用しましょう。
- 例
i = TOSTR( i )
REPLACE( i , "abc" , "bca" )
SAORI実行時にフリーズする¶
パスの書き方に問題があるのかもしれません。
"saori\\xxx.dll"や"saori/xxx.dll"ではなく"saori\xxx.dll"と記述するようにしてください。
SakuraScriptの[]の中に「]」を記述したい。¶
文字列全体を""で囲んでください。
「"」で囲んだ中にある「"」は「""」と記述します。
_txt=REPLACE(テキスト,'"','""')
_txt='"' + _txt + '"'
"\![open,input,ID,-1,%(_txt)]"
簡単に使える関数を用意しました。
ESCAPE_TEXT
{
_r = _argv[0]
if RE_SEARCH(_r,'["\[\]]') >= 0 {
'"' + REPLACE(_r,'"','""') + '"'
}
else {
_r
}
}
をどこかに書いて
ESCAPE_TEXT(テキスト)
でうまく動くと思います。
ゴースト配布時、どのファイルを消せばいいのかわからない¶
ghost\master内に以下のファイルがあれば、抜いておきましょう。
(***に入る文字列はゴーストの設定によって違います)
***_variable.cfg (セーブデータ)
***.log (AYA/YAYA実行ログ)
ssp_shiori_log.txt (SSP実行ログ)
「profile」フォルダまるごと
「var」フォルダまるごと
tama.exe
aycencode.exe
暗号化前の***.dic (※辞書の暗号化をしている場合)