实体
统计 CStats
读写统计与进度
CStats.h · 枚举 eStats.h
逻辑帧改统计。id 以 eStats 为准。
读统计
GetStatValue / GetStatID
static float GetStatValue(unsigned short stat);
static char* GetStatID(unsigned short stat);
static bool GetStatType(unsigned short stat); // true=float 表等,见实现写统计
SetStatValue / IncrementStat / DecrementStat
static void SetStatValue(unsigned short stat, float value);
static void IncrementStat(unsigned short stat, float value);
static void DecrementStat(unsigned short stat, float value);
static void SetNewRecordStat(unsigned short stat, float value);进度与犯罪等级
GetPercentageProgress / FindCriminalRatingNumber
static float GetPercentageProgress();
static int FindCriminalRatingNumber();
static char* FindCriminalRatingString();任务尝试
RegisterMissionAttempted / RegisterMissionPassed
static void RegisterMissionAttempted(unsigned char missionId);
static void RegisterMissionPassed(unsigned char missionId);
static char GetTimesMissionAttempted(unsigned char missionId);脚本更新提示
DisplayScriptStatUpdateMessage
static void DisplayScriptStatUpdateMessage(unsigned char state, unsigned int stat, float value);
// STAT_UPDATE_INCREASE / STAT_UPDATE_DECREASE体能相关更新
UpdateStatsWhenSprinting / UpdateStatsWhenDriving
游戏内部调用;一般别每帧手搓,除非做自定义训练。
static void UpdateStatsWhenSprinting();
static void UpdateStatsWhenRunning();
static void UpdateStatsWhenDriving(CVehicle* vehicle);
// ... 见 CStats.h原始表
StatTypesInt / StatTypesFloat
直接扫表要小心上下限与反应逻辑。
static int* StatTypesInt; // [224]
static float* StatTypesFloat; // [83]