起動してなかった時間により起動トークを変える¶
概要¶
ゴーストが終了していた時間の長さに応じて、起動時のトークを変える実装方法を説明します。GETSECCOUNT()を使って終了時と起動時の時刻を記録・比較することで、文脈に応じた反応が可能になります。
コード例¶
終了時のタイムスタンプ保存¶
OnGhostUnload {
LastCloseSecCount = GETSECCOUNT()
}
起動時のトーク分岐¶
OnBoot {
_elapsed = GETSECCOUNT() - LastCloseSecCount
_days = _elapsed / (60 * 60 * 24)
if _elapsed < 60 * 10 {
// 10分未満
"\0\s[0]あれ、もう戻ってきたの?\e"
}
elseif _days >= 7 {
// 7日以上
"\0\s[0]%(_days)日ぶりだね!久しぶり!\e"
}
else {
// 通常
"\0\s[0]おかえり。\e"
}
}
説明¶
実装のポイント:
| 処理 | 内容 |
|---|---|
GETSECCOUNT() |
現在のシステム時刻を秒数として取得 |
LastCloseSecCount |
終了時のタイムスタンプを保存するグローバル変数 |
_elapsed |
経過秒数 |
_days |
経過日数(秒数 ÷ 86400) |
経過時間を条件として分岐させることで、短時間の離席と長期間の不在で異なるトークを実現できます。7日以上の不在では具体的な日数を表示するなど、より個性的な演出が可能です。
関連項目¶
- マニュアル/関数/GETSECCOUNT
- マニュアル/関数/GETTIME