![]() |
|
| トップページへ | [ 一覧 | 検索 | 最終更新 ] [ 差分 | 履歴 ] |
|
|
チュートリアル2.トークを書いてみる†辞書ファイルが入ってるフォルダを開く†テンプレートゴーストを立たせてる状態で、開発パレットの一番下にある「開く」というボタンをクリックしてみてください。 辞書を覗いてみる†まずはメイン辞書である「dic_main.dic」をテキストエディタで開いてみてください。 //起動
OnBoot
{
"\1\s[10]\0\s[0]こんにちは。\e"
}
と、いう記述があると思います。
さくらスクリプトについて†YAYA以外のSHIORIでも共通して使うものなので、このWikiではこれ以上詳しく説明しません。
色んなトークの書き方をしてみる†トークをランダムで選ばれるようにする†起動するたび毎回同じ挨拶ばかりじゃつまらないので、3種類に増やしてみましょう。 OnBoot
{
"\0\s[0]こんにちはー。\e"
"\0\s[0]おっすー。\e"
"\0\s[0]やっほー。\e"
}
YAYAは{ }の中に" "や' 'でくくった文字列が複数あると、その中のどれか一コだけランダムで選ばれます。 OnBoot
{
"\0\s[0]こんにちはー。\e" ; "\0\s[0]おっすー。\e" ; "\0\s[0]やっほー。\e"
}
OnBoot
{
"\0\s[0]"
--
"こんにちはー。"
"おっすー。"
"やっほー。"
--
\e
}
こう書いてしまう事もできます。 OnBoot
{
"\0\s[0]" ; -- ; "こんにちはー。" ; "おっすー。" ; "やっほー。" ; -- ; "\e"
}
OnBoot
{
"きょうは"//←<1>この2つのどっちかが選ばれる
"明日は"//←<2>
--
"晴れ"//←(1)この4つの中のどれかが選ばれる
"雨"//←(2)
"曇り"//←(3)
"雷"//←(4)
--
"です。"//←1コしかないので必ずコレが選ばれる
}
こう書くと OnBoot : nonoverlap
{
"\0\s[0]"
--
"こんにちはー。"
"おっすー。"
"やっほー。"
--
\e
}
関数名の後ろに「 : nonoverlap」をつけましょう。同じ文が連続して選ばれなくなります。 オリジナル関数を作ってみる†OnBoot
{
"\0\s[0]きょうは"
"\0\s[0]明日は"
--
"晴れ"
"雨"
"曇り"
"雷"
--
"です。\e"
}
上でも書いたコレを OnBoot
{
"\0\s[0]きょうは"
"\0\s[0]明日は"
--
天気一覧
--
"です。\e"
}
天気一覧
{
"晴れ"
"雨"
"曇り"
"雷"
}
こんな風に、独立したオリジナル関数を作ってそれを呼び出して書くことも可能です。 OnBoot
{
"\0\s[0]きょうは"
"\0\s[0]明日は"
--
天気一覧
--
"です。\e"
}
OnGhostChanged
{
"\0\s[0]昨日は"
--
天気一覧
--
"だったよ。\e"
}
天気一覧
{
"晴れ"
"雨"
"曇り"
"雷"
}
こんな風に複数の関数から呼び出せるので使いまわしできるってことです。 OnBoot
{
"\0\s[0]きょうは%(天気一覧)です。\e"
}
天気一覧
{
"晴れ"
"雨"
"曇り"
"雷"
}
「" "」の中身から関数を呼び出したいときは、こうやって「%(関数名)」と書きます。 オリジナル関数を作る時の注意†関数名(上の例でいうと「天気一覧」の文字)は英語でも日本語でもいいんですが、以下のルールを守る必要があります。
詳しくはマニュアル/文法/2.関数ページを見てください。 辞書を見やすくする†空白や改行を入れてみる†最初に関数名を書く、中身を「{}」でくくる、という書き方のルールがちゃんと合ってれば OnBoot {
"\1\s[10]\0\s[0]こんにちは。\e"
}
こんな風に書いちゃっても構いません。 OnBoot { "\1\s[10]\0\s[0]こんにちは。\e" }
OnBootと{の間などにある空白・改行は、入れても入れなくても大丈夫。タブをいれてもOK。 OnBoot{"\1\s[10]\0\s[0]こんにちは。\e"}
基本的に""の外にある空白やタブ、改行は無視されるので、 OnBoot
{
"\1\s[10]\0\s[0]こんにちは。\e"
}
こんなんでもよし。 【ここ】OnBoot【ここ】{【ここ】"\0\s[0]いっちばーん。\e"【ここ】}【ここ】
上の【ここ】の所に空白(半角空白、全角空白、タブ)や改行をいくらでも入れまくれるって訳です。 コメントアウト†コメントアウトを使うと、その部分だけ辞書として読み込まれなくなります。 // 起動イベント
OnBoot
{
"\0\s[0]こんにちはー。\e"
}
↓こんな位置にも入れられます。 OnBoot
{
"\0\s[0]こんにちはー。\e"// 起動トーク
}
「/*」と「*/」でくくってもコメントアウトになります。 /*
起動イベント
一番最初に起動した時呼ばれる
*/
OnBoot
{
"\0\s[0]こんにちはー。\e"
}
後で辞書を見返した時どこが何なのかすぐ思い返せるよう、注釈をばんばん入れておきましょう。 やっちゃいけないこと†こんなことやるとエラーが出てゴーストがピクリとも動かなくなるので注意! OnBoot
{
"\0\s[0]改行\n
します。\e"
}
" "や' 'でくくってる文字列の途中を改行してしまうとエラー。 OnBoot
{
"\0\s[0]改行\n/
します。\e"
}
こうやって行末に「/」を入れれば改行できます。 //起動
OnBoot
{
"\1\s[10]\0\s[0]こんにちは。\e"
}
OnBoot
{
"\1\s[10]\0\s[0]やっほー!\e"
}
同じ名前の関数を2つ以上書いちゃだめです。必ず1個だけ! ゴーストが全然動かない!これってエラー?どうしよう!†落ち着いてエラーの原因を調べてみましょう。 自力で調べる†以前まではきちんとゴーストが動いてた訳で、当然エラーの原因はその後に書いた辞書。 YAYA用デバッグツールを使う†前回用意したアレ。 実行ログを見る†yaya.dllと同じ階層にあるyaya.txtを開いてみてください。 //log, ayame.log // ログを指定されたファイルに記録 という項目があるので log, ayame.log // ログを指定されたファイルに記録 一番左の「//」を削って上書き保存。 スクリプトログを見る†ゴーストに一体どんなさくらスクリプトが送られてるのか知りたい時に有効。
|