///////// 文 ゴーストテンプレート ///////// ランダムトーク辞書 ///////// copyright (C) 2002-2003 umeici. //**** トランスレータ ******************************************************************* //---- OnTranslateイベント -------------------------------------------------------------- OnTranslate { // 順次変換して、結果を次へ渡していく reference0 = REPLACE(reference0, "ちゃんさん", "ちゃん") reference0 = REPLACE(reference0, "くんさん", "くん") reference0 = REPLACE(reference0, "さんさん", "さん") reference0 = changecostume(reference0) // 最終結果のみ出力 reference0 } //**** ランダムトーク ******************************************************************* //---- OnAiTalkイベント ----------------------------------------------------------------- OnAiTalk { if mikireflag == 0 { //---- 通常のランダムトーク、ただしチェイン中はチェイントーク if CHAIN.IDName == "" { LastTalk = RandomTalk // 数字を喋る対策 _tmp = TOINT(LastTalk) if ISINSIDE(_tmp, 1, 100) == 0 { "%LastTalk" } else { RandomTalk } } else { ChainTalk } } else { //---- 見切れ中なので見切れ中のトークを行う MikireTalk } } //---- ランダムトーク ------------------------------------------------------------------- RandomTalk : nonoverlap { "\0\s[6]空を統べる御方よ。\w5\n\s[0]その身を震わせる彼らに、\w5\n\s[6]ささやかな日常が戻りますように。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]その大きな、\w5暖かな手で、\w5\n\s[6]彼らを癒して下さい。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]どんな時にも、\w5希望を忘れるべきでないと、\w5\n\s[6]彼らに気付かせてください。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]彼らの苦しみと、\w5悲しみを、\w5\n\s[6]いつか笑顔へと替えてください。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]彼らが、\w5一刻も早く、\w5安息の地と、\w5\n\s[6]平穏な日々を手に入れられますように。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]大きな爪痕を癒す力を、\w5\n\s[6]どうか彼らにお与え下さい。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]あなたの、\w5小さな子らに、\w5\n\s[6]希望と、\w5明日をお与え下さい。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]あなたの前には無力な彼らに、\w5\n\s[6]どうか救いの手を差し伸べてください。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]我らが友が見失いし導を、\w5\n\s[6]どうかお与え下さい。\e" "\0\s[6]空を統べる御方よ。\w5\n\s[0]あなたの救いを求めるものに、\w5\n\s[6]どうか勇気をお与えください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]あなたと同じく、あわれみ深い我らが友に、\w5\n\s[6]あわれみをおかけください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]一枚一枚の木の葉や、ひとつひとつの小石の中に\w5\nあなたが隠された救いや知恵を、\w5\n\s[6]我らが友も見つけることができますように。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]きょう一日我らが友を照らし、導いてください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]我らが友がほがらかに、\w5\nすこやかに過ごせますよう、導いてください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]我らが友を支えてくれた多くの人たちに、\w5\n\s[5]たくさんの恵みをお与えください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]我らが友が幸福の中にあっても、\w5\n困っている人たちのことを忘れないよう、\w5\n導いてください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]過去にある「知識」ばかりを追い求める我らが友に、\w5\n未来から来る「知恵」も探すべきなのだと\w5\n気付かせてください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]人の先頭に立ちたいと考える我らが友に、\w5\nそう思うならば、皆の「しもべ」になるべきだと\w5\n気付かせてください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]変えることの出来るものについては、\w5\nそれを変える勇気を、我らが友にお与えください。\e:chain=ChainTalk_01" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]我らが友に必要な、すべての恵みを与えてください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]一日の働きを終えた我らが友に、\w5\n\s[5]やすらかな憩いの時間をお与えください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[3]悲しみに沈む我らが友に、慰めをお与えください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[3]自暴自棄な振る舞いを続ける我らが友に、\w5\n最悪のときにも、感謝すべきものがあることを\w5\n悟らせてください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]人を信じられない我らが友に、\w5\n人の優しさ、温かさを思い出させてください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]自らの価値について思い悩む我らが友に、\w5\n少なくともわたしには、高価で尊いものであると\w5\n気付かせてください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[4]おびえる我らが友に、\w5\n少なくともわたしは共にいて、独りではないことを\w5\n気付かせてください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[3]「愛し方」が分からず思い悩む我らが友に、\w5\n\s[5]愛は言葉や口先だけではなく、真心と行動で示すもの\nであると\s[0]気付かせてください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]孤独にさいなまれる我らが友に、\w5\n\s[5]「自分は大ぜいの人の愛の中にいるのだ」と\w5\n\s[0]気づかせてください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]欲しいものを手に入れられず、人をねたむ我らが友に、\w5\n\n\s[6]「私たちは何一つこの世に持って来なかったし、\w5\n 何一つ持って出ることもできないのだ」と\w5\n\s[0]気づかせてください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]我らが友に罪を犯す者をあなたが赦すごとく、\w5\n我らが友の罪も赦してください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]我らが友の言葉、行い、怠りがあなたを悲しませた\w5\nならば、\s[6]どうかお許しください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[0]我らが友が、自分自身から解放されますように、\w5\nどうか、お力をお貸しください。\e" "\0\s[6]あわれみ深い、空を統べる御方よ。\w5\n\n\s[3]我らが友は重荷を背負い、疲れ果てています。\w5\n\n\s[0]友の荷を共に背負える力をお貸しください。\e" } //---- トークチェインのサンプル --------------------------------------------------------- ChainTalk_01 {{CHAIN "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]変えることが出来ないものについては、\w5\nそれを受けいれる冷静さを、\w5\n我らが友にお与えください。\e" "\0\s[6]空を統べる御方よ。\w5\n\n\s[0]変えることの出来るものと、\w5\n変えることの出来ないもの、\w5\nそれ識別する知恵を、我らが友にお与えください。\e" }}CHAIN //**** 時報/重なり ********************************************************************** //---- OnMinuteChangeイベント ----------------------------------------------------------- OnMinuteChange { //---- 時間の分を見て 0 であれば時報。それ以外のときは重なり処理を行う if minute == 0 { //---- 分 = 0 だったので時報 "\0\s[0]%hour時になりました。\e" } elseif mikireflag == 1 { //---- 分 != 0 、かつ見切れていたら見切れ中のトークを行う MikireTalk } } //**** 見切れ *************************************************************************** //---- OnSecondChangeイベント ----------------------------------------------------------- OnSecondChange { //---- 1 秒毎に実行される。ここではあまり重い処理を行わないこと //---- このテンプレートでは、見切れ処理のみ行っている if mikireflag == 1 && reference1 == 0 { //---- 見切れの終了 EndMikireTalk } mikireflag = reference1 } //---- 見切れ中 ------------------------------------------------------------------------- MikireTalk { "\0\s[4]???\e" } //---- 見切れ終了 ----------------------------------------------------------------------- EndMikireTalk { "\0\s[5]・・・\e" } //**** サーフィス復元 ******************************************************************* //---- OnSurfaceRestoreイベント --------------------------------------------------------- OnSurfaceRestore { "\1\s[10]\0\s[0]\e" "\1\s[10]\0\s[6]\e" } //**** 自動的にサーフィス番号を変換するフィルタ ***************************************** //umeiciさん作の、和音向けサーフィス番号変換フィルタを改変しました。 //---- changecostume(str) //---- OnTranslateから呼ばれるインタフェース部分 //---- 処理結果を返す changecostume { //---- 置換実行 changecostume_main(_argv[0]) } //---- changecostume_main(str) //---- str内の\s[n]タグのsurface番号に「floatingmodeの50倍」と「directionmodeの100倍」を加算する //---- 処理結果を返す changecostume_main { _str = _argv[0] _pos = 0 _exitflag = 0 while _exitflag == 0 { //---- "\s["を検索、見つからなければ処理完了 _pos = STRSTR(_str, "\s[", _pos) if _pos == -1 { _exitflag = 1 } //---- "\s["に続く"]"を検索、見つからなければ処理完了 else { _pos += 3 _pose = STRSTR(_str, "]", _pos) if _pose == -1 { _exitflag = 1 } //---- \s[]タグ発見、置換実行 else { //---- surface番号にdressmodeの50倍と、directionmodeの100倍を加算 _floatingmode = floatingmode * 50 _directionmode = directionmode * 100 _len = _pose - _pos _num = TOINT(SUBSTR(_str, _pos, _len)) + _floatingmode +_directionmode //---- 置換 _str = replaceto(_str, _pos, _len, TOSTR(_num)) } } } //---- 結果を返す _str } //---- replaceto(str, pos, num, str0) //---- strのposバイト目からnumバイトをstr0に置換する //---- 処理結果を返す replaceto { //---- pos前方の部分文字列を取得 _strs = "" if _argv[1] > 0 { _strs = SUBSTR(_argv[0], 0, _argv[1]) } //---- pos+num後方の部分文字列を取得 _pose = _argv[1] + _argv[2] _lene = STRLEN(_argv[0]) - _pose _stre = "" if _lene > 0 { _stre = SUBSTR(_argv[0], _pose, _lene) } //---- 結合して返す _strs + _argv[3] + _stre } //**** 単語 ***************************************************************************** //---- 人名全般 ------------------------------------------------------------------------- ms { "こないだのあいつ" "豚野郎" } //---- モノ全般 ------------------------------------------------------------------------- mz { "ケルズの書" } //---- 集合 ----------------------------------------------------------------------------- ml { "信徒" } //---- 会社名 --------------------------------------------------------------------------- mc { "グレンフィナン" } //---- 店の名前 ------------------------------------------------------------------------- mh { "免罪符販売所" } //---- 技 ------------------------------------------------------------------------------- mt { "解脱" "悟り" } //---- 食べ物 --------------------------------------------------------------------------- me { "ホウレンソウ" "卵" "パン" } //---- 地名 ----------------------------------------------------------------------------- mp { "約束の地" } //---- 長めの名詞 ----------------------------------------------------------------------- dms { "食べられない肉" } //**** 単語取得イベント ***************************************************************** On_\ms { ms } On_\mz { mz } On_\ml { ml } On_\mc { mc } On_\mh { mh } On_\mt { mt } On_\me { me } On_\mp { mp } On_\dms { dms }