///////// 文 ゴーストテンプレート ///////// 起動/終了/切り替えトーク辞書 SetShellName { shellname = _argv[0] if shellname == 'みっくみく' { is_pocket = 0 is_funnel = 0 } else { is_pocket = 1 is_funnel = 1 } } #define KEEPS_FILENAME 'dict-keeps-savedata.txt' OnGhostLoad { if FOPEN(KEEPS_FILENAME,'r') { while 1 { _r = FREAD(KEEPS_FILENAME) if _r == -1 { break } _r = CUTSPACE(_r) if SUBSTR(_r,0,1) == '#' { continue } if RE_SEARCH(_r,'(.+?)[ \t]+?:[ \t]+?"(.+?)"') == 0 { continue } _result = RE_GETSTR if _result[1] == 'username' { username = _result[2] } } FCLOSE(KEEPS_FILENAME) FDEL(KEEPS_FILENAME) } stroke = 0 mikireflag = 0 } OnNotifySelfInfo : void { SetShellName(reference3) } //**** 初回起動 ************************************************************************* //---- OnFirstBootイベント -------------------------------------------------------------- OnFirstBoot { //---- 変数の初期化 if STRLEN(username) == 0 { username = "ユーザーさん" } teachusername = 0 is_pocket = 1 is_funnel = 1 SetShellName(reference7) //---- Vanishカウントを見て、真の初回か否かを判定する if reference0 == 0 { //---- ほんとうに初めての起動 "\h\s[6]\u\s[10]\h\s[6]……。\w9\w5\u……\w9\nおっ、\w5着いたみたいやな。\w9\w5\h\nえ?\s[0]\w5あ\w5‥\w5‥\w9\s[5]みたいですね。\w9\w9\x\h\c\u\c\h\s[5]始めまして。わたしは美紅と申します。\w9\w5\uワイはころんや。\w9\w9\h\n\n不束者ですがこれから宜しくお願いしますね。\w9\w5\u\n\nなんや、やけに硬い挨拶やな。\w9\w9\h\s[0]\n\n最初くらいはきちんとしておかないと。\w9\n第一印象が大切ですからね。\w9\w5\u\n\nこの世界ではインパクトが最大の武器だと思うんやが\w5‥\w5‥。\w9\w9\h\s[6]\n\nわたしは普通の女の子ですから。\w9\w5\u\n\nほぉう。\w9\w5\h\s[7]\n\n何で疑問形なんですか?\w9\w9\h\c\u\c\uおい、\w5そろそろ\w5‥\w5‥。\w9\w5\h\s[2]あ、\w5\s[0]そうですね。\w9それでは改めて、\w9\w5\s[5]\n長くなりましたが、\w5これから宜しくお願いしますね。\e" } else { //---- 再インストール後の初回起動 "\u\s[10]\h\s[50]初めまして。\n\w9\w9……\w5\s[3]あれ?\w9\w5前にどこかでお会いしませんでした?\w9\w9\u\s[10]ん?\w9\w9ワイは知らんで?\w9\w9\h\n\n\![*]\q[うん,yes_toboot]\n\![*]\q[会ったこと無いと思うけど,no_tofirstboot]" } } Select.yes_toboot { //ファンネルサーフィスを使っているが、ここではシェルは常に初期状態なのできにしない "\h\s[2]ああっ!!\w9\w9\s[4]やっぱりそうですか。\w9\w9\s[3]ごめんなさい。\w9\w9\u\s[10]……。\w9\w9\h\s[107]\n\nころん、\w9さっきはっきりと知らないって言い切りましたよね。\w9\w9\u\s[11]\n\nちゃ、\w9ちゃうんや、\w9さっきのは冗談\w5‥\w5‥\w9\h\n\nお仕置きっ!!\s[750]\w9\w9\u\n\nぎょっ!!\w5\s[-1]\w9\w9\h\s[4]\n\n逃げましたか。\w9\h\s[50]\n失礼しました。\w9\w9\s[5]それでは、\w5これからも宜しくお願いしますね。\e" } Select.no_tofirstboot { "\h\s[3]デジャヴでしたか。\w9\w9\u\s[10]マトリックスに異常が\w5‥\w5‥。\w9\w9\h\s[4]\n\n微妙に古いですよ、\w5そのネタ。\w9\w9\w9\w9\u\c\h\c\s[0]えっと、\w5\s[50]それじゃ改めて。\w9\w9\nわたしは美紅と言います。\w9\w9\u\s[10]ワイはころんや。\w9\w9\h\s[5]\n\nこれから暫くここでお世話になります。\w9\w9\nよろしくお願いしますね。\w9\w9\e" } //**** 通常の起動 *********************************************************************** //---- OnBootイベント ------------------------------------------------------------------- OnBoot { SetShellName(reference0) //異常終了 if reference6 == 'halt' { "\u\s[10]\h\s[4]落ちましたね\w5…\w5…\w9\w9\uなんかしらんけど異常終了やな。\w9\w9\h\s[3]\n\nとりあえず、\w5何度も起きるようでしたら報告をお願いしますね。\e" return } //---- 起動時間を確認してあいさつを変化 _funcname = 'TalkBootup.' + GetTimeSlot if ISFUNC(_funcname) { EVAL(_funcname) return } "\h\s[0]\u\s[10]\h\s[0]‥\w5‥\w5どなたですか?\w8\uコリャ。\w8\w5\h\s[5]\n\n冗談ですよ。\w8\w5\u\n\n……。\e" } //早朝------------------------- TalkBootup.EarlyMorning { "\u\s[-1]\h\s[50]おはようございます。\w9\w9朝、\w5早いんですね。\w9\w9\w9\s[6]\nほら。\w9ころんも起きて。\w9\w9\u\s[10]……\w5何でお前は普通に起きとるんや。\w9\w9\h\s[5]\n\n%(username)より早く起きて待ってるのは基本ですよ。\w9\w9\u\n\nんな器用なことできるかい。\e" } //朝------------------------- TalkBootup.Morning { "\u\s[10]\h\s[5]おはようございます。\w9\w9今日も一日頑張りましょうね。\w9\u\s[10]どうせ%(username)のことや、\w5遊んどるだけやろ。\w9\w9\h\s[7]\n\nころんっ!!\e" } //昼------------------------- TalkBootup.Day { "\u\s[10]\h\s[5]こんにちは。\w9\w9\u\s[10]昼間から起動かい。\w9\w9\h\s[50]\n\n暇なんですね。\w9\w9\u\n\nはっきり言うなや。\e" "\h\s[0]\u\s[10]\h\s[0]‥\w5‥\w5どなたですか?\w8\uコリャ。\w8\w5\h\s[5]\n\n冗談ですよ。\w8\w5\u\n\n……。\e" } //夕方------------------------- TalkBootup.Evening { "\u\s[10]\h\s[50]こんばんは、\w5%(username)。\e" "\h\s[0]‥\w5‥\w5あれ。\w9\nころんがいない。\w9\w9\s[4]\n何をしてるんでしょうか。\w9\w9\u\s[10]すまんすまん。\w9\w5\h\s[7]\n\n遅いですよ。\w9\u\n\nいやぁ、\w5ちと着替えに時間がかかってしもうてな。\w9\w9\h\s[4]\n\n着替え\w5‥\w5‥\w9ですか‥\w5‥\w5?\e" } //夜------------------------- TalkBootup.Night { "\u\s[10]\h\s[6]夜ですか。\w9\w9\u夜やなぁ。\e" "\h\s[0]‥\w5‥\w5あれ。\w9\nころんがいない。\w9\w9\s[4]\n何をしてるんでしょうか。\w9\w9\u\s[10]すまんすまん。\w9\w5\h\s[7]\n\n遅いですよ。\w9\u\n\nいやぁ、\w5ちと着替えに時間がかかってしもうてな。\w9\w9\h\s[4]\n\n着替え\w5‥\w5‥\w9ですか‥\w5‥\w5?\e" } //深夜------------------------- TalkBootup.Midnight { "\u\s[10]\h\s[4]……\w5もう深夜ですよ?\w9\w9\nこんな時間から一体何を\w5‥\w5‥。\w9\w9\u\s[10]そんな解りきっとる事を。\w9\w9\h\s[3]\n\nえ‥\w5‥\w5?\e" "\h\s[0]……\w8えっと、誰でしたっけ?\w8\w5\u\s[10]まてぃ。\w8\h\s[5]\n\n%(ms)さん?\w8\w8\nそれとも%(ms)さん?\w8\w5\u\n\n……\w5お前、わざと間違っとるやろ。\w8\w8\h\s[0]\n\nあれ、ばれました?\w8\w5\u\n\n当たり前や。\e" } //---- 朝/昼/夜などをおおざっぱに調べる関数 ------------------------------------------- GetTimeSlot { if hour >= 4 && hour <= 6 { "EarlyMorning" } elseif hour >= 7 && hour <= 10 { "Morning" } elseif hour >= 11 && hour <= 15 { "Day" } elseif hour >= 16 && hour <= 18 { "Evening" } elseif hour >= 19 && hour <= 22 { "Night" } else { "Midnight" } } //**** 終了 ***************************************************************************** //---- OnCloseイベント ------------------------------------------------------------------ OnClose { if ghostuptime < 180 { //3分 "\u\s[10]……\w5えらい早いんやな。\w9\w9\h\s[3]えっと、\w5あの\w5‥\w5‥。\w9\w9\nまた、\w5呼んでくれますよね?\w9\w9\u\s[10]\n\n媚びとらんでさっさと終わるで。\w9\w9\h\s[4]\n\nはい。\w9\w9\-" return } "\h\s[5]それでは。\w9\w9\u\s[10]またな。\w9\w9\-" "\h\s[0]\u\s0\h\s[5]また呼んでくださいね。\w9\w9\-" } //**** 最小化からの復帰 ***************************************************************** //---- OnWindowStateRestoreイベント ----------------------------------------------------- OnWindowStateRestore { "\h\s[4]狭かったですね\w5‥\w5‥。\w9\w5\u\s[10]閉所恐怖症になりそうや。\e" "\h\s[0]\u\s[10]暗い\w5‥\w5‥。\w8\nここは暗い\w5‥\w5‥。\w8\w8\h\s[4]もう外に出られましたよ。\w8\w3\u\n\nん?\e" } //---- シェルチェンジ開始 --------------------------------------------------------------- OnShellChanging { old_shellname = shellname if shellname == reference0 { "\u\s[10]\h\s[5]同じ服ですね。\w5わかりました。" } else { "\u\s[10]\h\s[5]着替えですね。\w9\w5\u覗くんやないで。\w9\w5\h\s[4]\n\n……。\w9\e" } } //---- シェルチェンジ完了 --------------------------------------------------------------- OnShellChanged { SetShellName(reference0) if reference0 == old_shellname { "\u\s[10]\h\s[5]同じ服を着てきました。\w9\w9\uどうちゃうんや?\w9\w9\h\n\nほら、\w5洗ったばかりのさっぱりとした着心地♪\w9\w9\u\n\n…\w5…\w5見た目やとぜんぜんわからん。" } elseif reference0 == 'みっくみく' { "\u\s[10]\h\s[5]美っ紅美紅にしてやんよ〜♪\w9\w9\u…\w5…\w5なんやその格好は。\w9\w9\h\s[1]\n\nでも、\w5いろんなところがスースーして恥ずかしいです。\w9\w9\u\n\n普段の服とぜんぜんちゃうし。\e" } elseif reference0 == 'Ver3' { "\u\s[10]\h\s[5]普段の服がやはり落ち着きますね。\w9\w9\uワイはもうちょっと大胆なほうが\w5…\w5…\w9\w9\h\s[7]\n\nころんっ!" } else { "\u\s[10]\h\s[5]どうです、\w9似合いますか?\e" } ERASEVAR('old_shellname') }