传奇怪物掩码统计功能详解 伤害统计脚本配置教程
一、功能整体介绍传奇怪物掩码统计是服务端核心实用功能,主要用于精准记录玩家、行会对怪物的伤害数据,包含每秒伤害、总伤害等核心数据统计,同时支持自定义统计创建、数据重置、数据导出等操作。该功能适配传奇各类版本服务器,通过新增数据表字段、NPC命令、动态变量及攻击触发脚本,实现全方位的怪物伤害数据监测,…
一、功能整体介绍
传奇怪物掩码统计是服务端核心实用功能,主要用于精准记录玩家、行会对怪物的伤害数据,包含每秒伤害、总伤害等核心数据统计,同时支持自定义统计创建、数据重置、数据导出等操作。该功能适配传奇各类版本服务器,通过新增数据表字段、NPC命令、动态变量及攻击触发脚本,实现全方位的怪物伤害数据监测,且具备24小时自动重置机制,保障统计数据的精准性与时效性,是传奇服务器优化数据统计、玩家战力核算的核心功能。
二、怪物数据表新增字段说明
为实现怪物伤害掩码统计功能,传奇怪物数据表新增StatId(统计ID)字段,该字段数值区间对应不同统计场景,数值范围固定为1~20000,划分规则清晰,适配个人与行会双维度统计需求:
1、1~10000区间:对应个人伤害统计,单独记录单个玩家对指定怪物的伤害数据;
2、10001~20000区间:对应行会伤害统计,整合记录整个行会成员对怪物的累计伤害数据。
同时功能自带自动重置机制,任意统计ID对应的统计数据,若24小时无活跃操作,系统将自动清空重置数据,避免历史冗余数据影响统计结果。
三、核心统计变量参数
怪物掩码统计配套专属动态变量,可实时调用、输出各类伤害统计数据,支持脚本内嵌使用,核心变量参数如下:
1、每秒伤害输出变量:<$STAT(统计ID).DPS> ,用于实时获取对应统计ID的每秒伤害数值;
2、总伤害输出变量:<$STAT(统计ID).TOTAL> ,用于统计对应统计ID的累计伤害总量。
四、新增NPC操作命令
本次功能更新新增三条专属NPC命令,覆盖统计创建、数据重置、数据导出全流程操作,命令格式规范、参数可调,适配各类传奇脚本编辑场景。
4.1 自定义创建统计命令
命令格式:NewStat 统计ID
功能说明:手动创建自定义怪物伤害统计信息,可根据需求指定对应区间的统计ID,适配个人、行会不同统计场景。
4.2 统计数据重置命令
命令格式:ResetStat 统计ID all(可选)
功能说明:清空重置对应统计ID的伤害统计数据,参数可灵活配置。无第二个参数时,仅重置执行者所属的统计数据;第二个参数填写all时,重置该统计ID下所有玩家、行会的全部统计数据。
4.3 统计数据导出命令
命令格式:ExportStat 统计ID 数量 导出模式 排序方式
参数详解:
1、导出模式:支持STR、JSON两种格式,适配不同数据展示、对接场景;
2、排序方式:0为DPS升序、1为DPS降序、2为总伤害升序、3为总伤害降序,可按需调整数据排列规则。
五、数据导出格式规则
不同导出模式对应不同数据存储、展示格式,适配传奇脚本数据调用需求,具体规则如下:
1、STR格式:统计数据将导出至<$CALCRESULT>变量中,固定格式为【数量,角色名1|DPS1|伤害值1,角色名2|DPS2|伤害值2...】,数据分层清晰,便于读取展示;
2、JSON格式:统计数据将存储在键名为【STAT_统计ID】的JSON数据中,适合后台数据对接、批量统计。
同时系统支持内嵌固定变量写法,示例:<$STAT($TARINFO_STATID).DPS>,可嵌套固定变量调用统计数据,暂不支持$STR(M1)类动态变量嵌套使用。
六、攻击触发新增变量
为精准联动怪物伤害统计功能,攻击触发脚本新增多项专属变量,精准记录攻击行为、伤害数据及统计标识:
1、<$ATTINFO_DAMAGE>:单次攻击触发的实际伤害值;
2、<$TARINFO_STATID>:被攻击怪物对应的统计ID标识;
3、<$ATTINFO_HITTYPE>:攻击类型标识,0代表普通攻击,1代表暴击攻击。
七、核心触发脚本配置
怪物伤害统计核心触发为[@Attack]脚本,玩家或随从攻击指定怪物时自动触发统计功能,完整可直接使用的脚本代码如下:
[@Attack]
#if
TRUE
#act
SENDMSG 7 目标【<$TARINFO_NAME>】统计StatID:<$TARINFO_STATID>、每秒伤害值的伤害值:<$ATTINFO_DAMAGE>、伤害总值:<$STAT(1).TOTAL>
SENDMSG 7 统计StatID:<$TARINFO_STATID>、伤害总值:<$STAT(1).TOTAL>
ExportStat 1 100 str 1
SENDMSG 7 内嵌固定变量:<$STAT($TARINFO_STATID).DPS>
SENDMSG 5 CALCRESULT变量:<$CALCRESULT>
八、功能实操示例脚本
8.1 伤害数据导出示例
该脚本可实现前端展示每秒伤害、总伤害数据,支持一键导出统计数据,适配NPC界面展示需求:
[@ExportStat]
#say
每秒输出伤害:<$ATTINFO_DAMAGE>\
输出伤害总量:<$STAT(1).TOTAL>\
<导出数据/@导出>
[@导出]
#ACT
ExportStat 1 100 str 1
sendmsg 1 当前:<$CALCRESULT>
8.2 统计数据重置示例
简单高效的统计数据重置脚本,可一键清空指定统计ID的全部数据:
[@ResetStat]
#ACT
ResetStat 1 all
sendmsg 5 当前:重置统计信息
九、新增攻击过滤掩码变量
功能同步新增两项攻击过滤掩码变量,可读取怪物数据表中对应字段数据,辅助完善怪物攻击过滤与统计匹配规则:
1、<$ATTACKFILTERMASK>:读取DataTable_HeroDB.db monster数据表中ATTACKFILTERMASK字段的攻击过滤掩码数据;
2、<$ATTACKFILTERMASK0~31>:读取DataTable_HeroDB.db monster数据表中StatID字段的攻击过滤掩码数据。


