当前位置:首页 > 引擎 > Blue引擎

传奇怪物掩码统计功能详解 伤害统计脚本配置教程

admin19小时前1
一、功能整体介绍传奇怪物掩码统计是服务端核心实用功能,主要用于精准记录玩家、行会对怪物的伤害数据,包含每秒伤害、总伤害等核心数据统计,同时支持自定义统计创建、数据重置、数据导出等操作。该功能适配传奇各类版本服务器,通过新增数据表字段、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字段的攻击过滤掩码数据。

扫描二维码推送至手机访问。

本文章九路游发布,如需转载请注明出处。如有侵权请联系站长删除。

本文链接:https://www.9luu.com/504.html

分享给朋友: