事件值被添加到统计名称中
统计模板功能强大且灵活,但如果配置不当,有时会产生意外结果。统计模板会创建可变的统计路径或统计实例。统计模板基于从源事件中所选字段的名称 和值 派生的变量生成统计名称。 这是你可以捕获类似玩家在每张地图中获得了 多少 黄金的方式。 不仅事件 名称 会添加到统计名称中,事件 值 也会添加到其中。这通常会造成混淆和意外结果。单个统计规则的示例
假设你的游戏发送名为GameEnd 的事件。它有一个名为 Map 的 int 字段和一个名为 Gold 的 int 字段。
若要使用单个统计规则按地图捕获最高分,你需要为统计数据指定一个名称,例如 GoldByMap,并向统计规则添加一个 Map 字段。在此示例中,Map 值是数字 ID。
你的参数(包含要用于递增统计数据的值的字段)将是 GameEnd 事件上的 Gold 字段。
假设你的游戏向 XBOX 服务发送 GameEnd 事件。事件的 Map 字段值为 1。Gold 字段值为 100。
结果是统计数据被写入统计路径:GoldByMap.Map.1。此统计路径的新值为 100。
下表显示我们目前所拥有的内容。
统计路径具有下表所示的各部分。
如果下一个事件的
Map 值为 2,则该事件的 Gold 字段将添加到该新统计路径:GoldByMap.Map.2。
假设事件上的 Gold 字段的值为 200。
我们现在还将拥有下表所示的内容。
这样,你可以将统计数据值分开保存,而无需为每个
Map 定义统计数据。
错误地向统计规则添加字段名而不是字段值的示例
使用前面的示例,让我们看看当你还将Gold 字段名添加到 Map 统计规则时(而不是仅添加 Gold 参数值),会产生什么不良结果。这将导致以下统计名称:GoldByMap.Map.1.Gold.100。
请注意,玩家获得的黄金值 (100) 也在统计数据的名称中。
这意味着在地图 1 上获得 100 黄金的玩家,此统计数据的值将为 100:GoldByMap.Map.1.Gold.100。
如果玩家在该地图上获得 101 黄金,此配置会导致以下结果,即一个不同的统计名称:GoldByMap.Map.1.Gold.101。结果是,这些统计数据仅在玩家获得统计名称中定义的特定数量的黄金时才会递增,这可能不是我们想要的。