///////// 文 ゴーストテンプレート ///////// ランダムトーク辞書 ///////// copyright (C) 2002-2003 umeici. //**** トランスレータ ******************************************************************* //---- OnTranslateイベント -------------------------------------------------------------- // もっとも単純な例。語尾変え(「。」→「にゅ。」)。動かないようにコメントアウトしています。 //OnTranslate //{ // REPLACE(reference0, "。", "にゅ。") //} //**** メインメニューの展開 ************************************************************* //---- メインメニュー展開 --------------------------------------------------------------- OpenMenu { if bootcount <= 2 { talkmode = 0 "\1\s[10]\0\s[30]" -- "・\w3・\w3・\w3・\w3・\w3・\w3" "・\w3・\w3・\w3・\w3・\w3・\w3は、\w5はい。" -- "\n\n/ \![*]\q[";--;MENUITEM("なにか話して");--;",OnAiTalk]\n/ \![*]\q[";--;MENUITEM("なんでもない");--;",ChoiceCancel]\e" } elseif bootcount <= 9 { talkmode = 1 "\1\s[10]\0\s[0]" -- "は、\w5はい・・・" "はい・・・?" -- "\n\n/ \![*]\q[";--;MENUITEM("なにか話して");--;",OnAiTalk]\n/ \![*]\q[";--;MENUITEM("なんでもない");--;",ChoiceCancel]\e" } else { talkmode = 2 "\1\s[10]\0\s[5]" -- "はい・・・?" "どうしたんですか・・・?" -- "\n\n/ \![*]\q[";--;MENUITEM("なにか話して");--;",OnAiTalk]\n/ \![*]\q[";--;MENUITEM("なんでもない");--;",ChoiceCancel]\e" } } //---- メニュー項目の後ろにスペースを補完する関数 MENUITEM { _menuitem = _argv[0] for _i = GETSTRBYTES(_menuitem) ; _i < 48 ; _i++ { _menuitem += " " } _menuitem } ChoiceCancel { if bootcount <= 2 { "\0\s[30]・\w3・\w3・\w3・\w3・\w3・\w3\e" } elseif bootcount <= 9 { "\0\s[35]\e" } else { "\0\s[34]\e" } } //**** ランダムトーク ******************************************************************* //---- OnAiTalkイベント ----------------------------------------------------------------- OnAiTalk { if mikireflag == 0 { //---- 通常のランダムトーク、ただしチェイン中はチェイントーク if CHAIN.IDName == "" { RandomTalk } else { ChainTalk } } else { //---- 見切れ中なので見切れ中のトークを行う MikireTalk } } //---- ランダムトーク ------------------------------------------------------------------- RandomTalk { EVAL("RandomTalk%talkmode") } RandomTalk0 : nonoverlap { "\0\s[31]ぼ、\w5ぼ、\w9\w9\s[30]ぼく\w3・\w3・\w3・\e" "\0\s[38]あ、\w5あ、\w5あの\w3・\w3・\w3・\w5\n\n\s[30]ぼく\w3・\w3・\w3・\e" "\0\w3・\w3・\w3・\w5\n\n\s[35]\w3・\w3・\w3・\s[30]\e" } RandomTalk1 : nonoverlap { "\0\s[32]猫、\w5なでたい、\w5です\w3・\w3・\w3・\e" "\0\s[0]キス(KIS)とか、\w5できます。\w5\n\n\w3・\w3・\w3・\s[1]\w3・\w3・\w3・\w5\n\s[30]か、\w5カタカナで、\w5書いたら、\w5\n凄いことになっちゃった・・・\e" "\0\s[1]なんで\w5「眼鏡のお姉さん」が好きなの、\w5\nばれたんだろう\w3・\w3・\w3・\e" "\0\s[1]ぼくの住んでいるところはね、\w5\n子供の日は、\w5大きな凧をあげます。\w5\n\n\s[32]楽しみ。\e" "\0\s[35]エレクトーン、\w5弾きたいです。\w5\n\s[36]時間\w5ないけど\w3・\w3・\w3・\e" "\0\s[31]葬送行進曲は、\w5聞いてると暗くなるから\w5\n一回でいいです・・・\e" //さとーさん提供のネタ(笑) "\0\s[32]T-SQUAREのライブ、\w5行きたいなあ・・・\e" "\0\s[1]AIBO、\w5可愛いです。\w5\n撫でたくなります。・・・\e" "\0\s[1]本物の流星雨、見てみたいなあ・・・\e" "\0\s[2]あ・・・。\w5\n\s[1]「%book」、\w5買って帰らなきゃ。\e" } RandomTalk2 : nonoverlap { "\0\s[35]そろそろ、\w5\n\s[36]設計の神様が降りてこないかな・・・\e" "\0\s[32]XPort開発キット、\w5おもしろいんだよ?\e" "\0\s[5]NHKスペシャル「地球大進化」、\w5見た?\e" "\0\s[32]計算機の性能向上で、\w5\n今では天文学者が「実験」をできるようになったんだよ。\e" "\0\s[6]ヒッグス場も、\w5\n質量の起源なんだって。\e" "\0\s[5]火星には、\w5\nむかし大量の液体の水が存在したんだって。\e" "\0\s[6]ベイズ理論、\w5かあ・・・\e" //さとーさん提供のネタ(笑) "\0\s[32]秋葉原に行くと、変に元気になるんです・・・\e" "\0\s[5]%machineって%moe_doushiよね!" } //---- トークチェインのサンプル --------------------------------------------------------- ChainTalk_1 {{CHAIN "\0\s[0]チェイントークしてます。\e" }}CHAIN //**** 時報/重なり ********************************************************************** //---- OnMinuteChangeイベント ----------------------------------------------------------- OnMinuteChange { //---- 時間の分を見て 0 であれば時報。それ以外のときは重なり処理を行う if minute == 0 { //---- 分 = 0 だったので時報 "\0%hour時です。\e" } elseif mikireflag == 1 { //---- 分 != 0 、かつ見切れていたら見切れ中のトークを行う MikireTalk } } //**** 見切れ *************************************************************************** //---- OnSecondChangeイベント ----------------------------------------------------------- OnSecondChange { //---- 1 秒毎に実行される。ここではあまり重い処理を行わないこと //---- このテンプレートでは、見切れ処理のみ行っている if mikireflag == 1 && reference1 == 0 { //---- 見切れの終了 EndMikireTalk } mikireflag = reference1 } //---- 見切れ中 ------------------------------------------------------------------------- MikireTalk { if bootcount <= 2 { "\0\s[30]・・・・・・\e" } if bootcount <= 9 { "\0\s[36]・・・・・・邪魔、ですか?\e" } else { "\0\s[4]・・・・・・邪魔、ですか?\e" } } //---- 見切れ終了 ----------------------------------------------------------------------- EndMikireTalk { if bootcount <= 2 { "\0\s[30]・・・・・・\e" } elseif bootcount <= 9 { "\0\s[35]・・・・・・あり、\w5がとう。\e" } else { "\0\s[34]・・・・・・ありがとう?\e" } } //**** サーフィス復元 ******************************************************************* //---- OnSurfaceRestoreイベント --------------------------------------------------------- OnSurfaceRestore { if bootcount <= 2 { "\0\s[30]\1\s[10]\e" } elseif bootcount <= 9 { "\0\s[35]\1\s[10]\e" } else { "\0\s[34]\1\s[10]\e" } }