(3)トーク作成例
では簡単なサンプルを作ってみましょう。
通常トークの辞書ファイルにたとえば
sentence : \0\s[132]こんにちわ!\n\w8\w8\0\s[102]よい天気ですね~!\e
sentence : \0\s[123]うふふ。\n\w8\w8……\0\s[402]任せてください!\e
などとすると、キャラクターを突っつくと、2種類のトークのうちどっちかをしゃべるはずです。
さらに、
sentence : \0\s[300]むー…\n\w8\w8…${足りないもの}が足りないわ…\e
足りないもの : 気合い, チョコレート分, やる気, 萌え
などとすると、${足りないもの}としたところに「気合い」「チョコレート分」「やる気」「萌え」のどれかが入ってネタが生成されます。
ここで注意。COLORS上で何人もキャラクターを作成していると、複数のキャラクターの別々の辞書ファイルに、同じエントリ名が混じってしまう場合があります。
たとえば上の例、別のキャラの辞書で
足りないもの : 時間, 毒, あんこ
などと書かれていると、本来別々の辞書であるはずにもかかわらず、両方が混じってしまいます。
そこで、エントリ名は好きに決めて構わないのですが、名前にキャラ名を含むようにしましょう。
たとえば、しんぷるとんという名前のキャラの場合、
sentence : \0\s[300]むー…\n\w8\w8…${_simpleton_.足りないもの}が足りないわ…\e
_simpleton_.足りないもの : 気合い, チョコレート分, やる気, 萌え
こんな風にしておけば、別のキャラの辞書と混じることはありません。
ただし、COLORS betaのシステム側で用意してくれているsentenceなどの特別なエントリ名の場合は、混ざらないようにする処理を内部でやってくれてますので、その点は心配する必要ありません。
(「_simpleton_.」について。しんぷるとんって名前だからsimpletonにしてますが、固有の名前であればなんでもいいでしょう。前後につけてる「_」にも文法的には意味はありません。最後の「.」は、本当は構造化の意味を持ちますが特にそれを利用した処理はしていません。)
続いて、これをCOLORS Widgetで動かそうと思う場合は、そのままでは動きませんので、次のようにします。
event.OnLoad : ${event.OnTalk}
event.OnClick : ${event.OnTalk}
event.OnTalk : ${sentence}
sentence : \0\s[132]こんにちわ!\n\w8\w8\0\s[102]よい天気ですね~!\e
sentence : \0\s[123]うふふ。\n\w8\w8……\0\s[402]任せてください!\e
sentence : \0\s[300]むー…\n\w8\w8…${_simpleton_.足りないもの}が足りないわ…\e
_simpleton_.足りないもの : 気合い, チョコレート分, やる気, 萌え
最初の3行が追加分です。COLORS Widgetでは、起動時も、クリック時も、自発トーク時も、sentenceに登録されたネタをしゃべるように設定したわけですね。もちろんそれぞれ別のネタをしゃべるように設定することもできます。
こんな風になります。…簡単でしょう?