プレイ時間計測プラグイン PlayTime 1. はじめに PlayTimeは、吉里吉里/KAGにおいて、ゲームのプレイ時間を計測する マクロを提供する。 プレイ時間には、大きく「そのゲームを遊んだ全体のプレイ時間」及び 「そのセーブデータでのプレイ時間」の二つがあり、別々に管理できる。 2. 使用例 最初に一度だけ、KAGスクリプト(例えばfirst.ks)の頭で以下を実行。 [call storage=PlayTime.ks] この時点から時間計測が開始される。以後、以下のようなKAGタグが 使用できるようになる。 ; このセーブデータでの現在のプレイ時間を表示 このセーブデータでの現在のプレイ時間は、[playtime_current] です。[l][r] ; 全体のプレイ時間を表示 このゲームを [playtime_current_all] 遊びました。[l][r] 3. KAGタグリファレンス [playtime_init] 説明: 「このセーブデータでの現在のプレイ時間」を初期化する。 プラグイン読み込み時に既に一度初期化されているので、特に 要求がなければ実行する必要なし。 ゲーム本編開始直後に呼ぶことで、そのセーブデータのプレイ時間を 初期化する。「全体のプレイ時間」は初期化しないことに注意。 ゲーム本編開始直後に必ず呼ぶこと。呼ばないと、「最初に戻る」 で最初に戻った時に、その時点でのプレイ時間がそのまま引き継がれて しまう。そんなこと気にしないという男らしい人ならいいけど。 引数: なし [playtime_current] 説明: 「このセーブデータでの現在のプレイ時間」文字列を表示する。内部的には [emb exp="..."]のマクロとなっている。 引数: なし [playtime_current_all] 説明: 「全体のプレイ時間」文字列を表示する。[playtime_current]の全体版。 なお、全体のプレイ時間は、セーブデータを削除しない限りリセット できない。…する必要あればそういうマクロ追加してもいいけどさ。 引数: なし [playtime_pause] 説明: プレイ時間のカウントアップを一時停止する。タイトル画面や エンディングスタッフロールなど、カウントしなくていい部分で 使うとよし。ただ、pause/resume は殆ど使わないから、あんまテスト してないんだよね…(とか怖いことを書く)。 引数: なし [playtime_resume] 説明: [playtime_pause] からの復帰。カウント再開。 引数: なし 4. TJS クラスリファレンス…というかその抜粋 PlayTime クラス定義 PlayTime_obj インスタンス PlayTime_obj.curTime() 現セーブデータのプレイ時間を1/1000秒 単位で得る PlayTime_obj.curTime_all() 全体のプレイ時間を1/1000秒単位で得る PlayTime_obj.sync() 以下の変数にプレイ時間を格納する f.playtime = 現セーブデータのプレイ時間 sf.playtime = 全体のプレイ時間 あとはアレだ、実際のスクリプトを読んでください是非(投げた)。