Uint32 ufPlayTime( mode, est, carry, param[32] ) Uint8 mode Uint8 est Uint8 carry Uint8 param[32]
mode | 動作モード |
est | プレイ評価 |
carry | 攻略率 |
param[32] | フリーエリアへ書き込むデータ |
前回呼び出し時から今回の呼び出し時までの時間の差分をとり、 その値から各時間帯のプレイ時間を算出し保存します。 また、この関数は引数に与えられたプレイ評価、 攻略率、フリーエリアの内容を保存します。
est(プレイ評価)の値は、以下の通りとしてください。
128 = 標準的なプレイ、
標準より劣ると思われるプレイは128より減算
標準より優ると思われるプレイは128に加算
最低値 = 0
最大値 = 254
※ 255は未設定となります。 ここへ記録を残さない場合は、必ず255となるようにしてください。
carry(攻略率)の値は、以下の通りとしてください。
128 = ゲーム全体の50%を攻略
0 = ゲーム全体の0%を攻略
254 = ゲーム全体の100%を攻略
※ 255は未設定となります。ここへ記録を残さない場合は、必ず255となるようにしてください。
modeの値によって挙動が変わります。
mode = UFD_SAVE -> セーブカウントを増やします
mode = UFD_LOAD -> ロードカウントを増やします
mode = UFD_PLAY -> カウントは変更しません
この関数の返り値はあと何パケット追記が可能かを表しています。 この値が2を切ったら、次のufSynchが呼び出されるとリフレッシュが発生するので、 リフレッシュが起きて欲しくないときはufAutoSynchに0を指定して、ufSynchが起きないようにしてください。 そして、リフレッシュが起きても問題がない場面でufSynchを呼び出してください。 リフレッシュを行います。一度リフレッシュをすると、追記パケット数は増えます。
/* フリーデータエリア */ static Uint8 data[32]; /* プレイ時間の更新 */ /* セーブ・ロードカウントは変更されない */ /* プレイ評価 ... 標準, 攻略率 ... 50 % */ ufPlayTime(UFD_PLAY, 128, 128, data);