Event-based Stat rules overview
This topic describes how user stat rules work. They're used for event-based Stats, not for title-managed Stats.
Each stat rule has four parts.
- The producer event
- The name
- An operator
- A parameter
Event
Each stat rule is triggered by a specific event name that's logged by the title. Note that multiple stat rules can be triggered by a single event.
Naming requirements
A rule name has a "root" name. It's optionally followed by one or more "fields."
The root is an alphanumeric string. It can be up to 32 characters.
The total length of the stat instance name must not exceed 128 characters.
The name must start with a letter character and must contain only letters, numbers, and the hyphen (-) character. No spaces, commas, periods, underscores, or any other special character is allowed. Some example names are "EnemiesDefeated", "BestScoreUnder2Minutes", and "Total-Collectibles-Jewels".
Fields are separated by the dot (.) character.
Field names must exactly match the field names that are part of the producer event.
Important
When one or more fields are included as part of the stat rule name, this rule becomes a stat template. At runtime, the actual value of fields from the producer event is inserted into the stat instance name.
Some example valid template names are "EnemiesDefeated.WeaponID", "BestScoreUnder2Minutes.TrackId.DifficultyID", and "Total-Collectibles-Jewels.Found".
Some example valid instance names are "EnemiesDefeated.WeaponID.17", "BestScoreUnder2Minutes.TrackId.40.DifficultyID.Insane", and "Total-Collectibles-Jewels.Found.1".
Data type recommendations
We recommend that you use the integer data type for event fields that are part of a stat template name.
If the event field data type is Boolean, the value inserted is "1" for
true
, and "0" forfalse
.If the event field data type is Unicode string, you must ensure that the potential values for that field contain only valid characters (as previously described).
Operator
The value of the stat instance is calculated at runtime when the producer event is being processed. The stat rule executes an operation with the specified parameter. The supported operation options are as follows.
SUM
MAX
MIN
REPLACE
Parameter
The parameter can be either a constant value or a field name from the producing event as shown in the following table.
Operator | Parameter |
---|---|
SUM |
Constant or field |
MIN |
Field |
MAX |
Field |
REPLACE |
Constant or field |
The data type of the resulting stat instance is determined by the parameter's data type.
Integer, Float, and Boolean data types are supported by all operators.
The Unicode string data type is supported only by the REPLACE
operator.
Stat and parameter data types are shown in the following table.
Stat data type | Parameter data type | Notes |
---|---|---|
Integer | Int32, Int64, UInt32, UInt64, Boolean | The largest integer value supported is 56 bit. Boolean is converted from TRUE to 1 and FALSE to 0. |
Float | Float, Double | 64-bit float. |
String | UnicodeString, GUID | The maximum string length is 50 characters. |