查看“︁工程参考/配置文件/Server/StandardImpact.txt”︁的源代码
来自天龙知识库
←
工程参考/配置文件/Server/StandardImpact.txt
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:<span style="font-size:24px;line-height:1.4;overflow-wrap:anywhere;">工程参考/配置文件/Server/StandardImpact.txt</span>}} __NOTOC__ <div class="config-file-reference" style="max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;overflow-wrap:anywhere;"> [[首页|首页]] · [[工程参考/配置文件索引|配置文件索引]] · [[工程参考/配置文件修改约定|修改约定]] StandardImpact.txt 是标准化的效果数据:一条效果持续多久、多久发作一次、死后留不留、能不能被驱散,以及最多 16 组「参数值 + 修正步长」。它和 Public/ImpactSEData_V1.txt 名字相近但分工不同——那个管实例的挂载与互斥规则,这个管效果本身的行为与数值。样本 9856 条记录、76 列,是全库第二大表。 [[#文件位置与生效|位置与生效]] · [[#文件格式|文件格式]] · [[#字段详解|字段详解]] · [[#常用修改实例|修改实例]] == 文件位置与生效 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="width:24%;text-align:left;background:#edf3f2;padding:8px;" | 项目 ! scope="col" style="width:76%;text-align:left;background:#edf3f2;padding:8px;" | 说明 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 运行文件 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">./Config/StandardImpact.txt</code>,相对于 Server 工作目录。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 读取程序 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | Server 在 TableInit::InitStandardImpactMgr 加载到 g_StandardImpactMgr(TemplateManager_T<ImpactData_T>);战斗系统按第 1 列 Data_Index 查询。客户端不注册本表 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 生效方法 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 停服后备份并修改实际 Server/Config 副本,再重启 Server。服务端另有 GM 指令 ReloadCombatTables(CGCommandHandler 里判定),会依次重跑 InitXinFaDataMgr、InitSkillTemplateDataMgr、InitSkillDataMgr、InitImpactSEDataMgr、InitSpecialObjDataMgr、InitIdCollectionMgr、InitStandardImpactMgr、InitPvpRulerManager、InitPunishRulerTables、InitReputationTable,可以热重载本表。客户端不加载本表。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 样本格式 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">GB18030-compatible</code>,<code style="white-space:normal;overflow-wrap:anywhere;">CRLF</code>。保留原编码;源码读取器不会自动把中文转为 UTF-8。 |} 列结构分三段。第 1 到 27 列是一条效果的固定属性,写入 ImpactData_T 的成员;第 28 到 75 列是 16 组三段结构,每组由 ImpactDescriptor_T 读成「说明 + 参数值 + 修正步长」;第 76 列是内部描述。 第 1 列既是数据下标也是数组下标,容量 42769(MAX_ID 42768)。样本 0..32409 且不连号,缺号不会报错,只有重复号才会互相覆盖。 第 28 到 75 列的组数由 NUMBER_OF_PARAMS=16 写死,不能再加组;每组固定占 3 列,中间插列会让后面所有组整体错位。样本 0 号是缺省伤害效果,源码注明不能删除或改变。 == 文件格式 == 首行是类型行:<code style="white-space:normal;overflow-wrap:anywhere;">INT STRING INT STRING INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING</code>;第二行是列名行,程序跳过其内容;从第三行开始读取数据。各列用真实 Tab 分隔,保留首列、空列及行尾,不用空格代替。数据行行首 # 表示注释,分号不是此表的注释规则。首列为空的行被跳过;不足的尾列补为空值,多余列不参与本页字段读取。空整数和非数字经 atoi 可能成为 0,空字符串仍为空,不把解析成功当作业务合法。第一列须唯一,重复会触发读取器错误。 == 字段详解 == 列号从 1 开始,源码列下标从 0 开始。 {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="width:34%;text-align:left;background:#edf3f2;padding:8px;" | 字段与类型 ! scope="col" style="width:42%;text-align:left;background:#edf3f2;padding:8px;" | 含义与修改要点 ! scope="col" style="width:24%;text-align:left;background:#edf3f2;padding:8px;" | 缺项或特殊值 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 1 列</code><br>INT:数据下标(Data_Index) | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nDataIndex,同时是 TemplateManager_T 的数组下标。同一个下标出现两次时后读到的行覆盖前一行。0 号样本注明「普通攻击的伤害效果,这一行永远不能删除或者改变」。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 须 ≥0 且小于容量 42769;样本 0..32409,编号不连续。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 2 列</code><br>STRING:效果名称 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_szName。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 3 列</code><br>INT:逻辑ID | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nLogicID,决定这条标准效果执行什么逻辑。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 指向不存在的逻辑时效果无表现。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 4 列</code><br>STRING:逻辑ID的说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_szLogicDesc,仅供内部阅读。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 5 列</code><br>INT:是否是持续性效果 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bIsOverTimed,非 0 为持续效果。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0,按瞬发处理。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 6 列</code><br>INT:瞬发效果ID/驻留效果ID | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nImpactID,指向挂到目标身上的效果实例。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 指向不存在的效果实例时挂不上。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 7 列</code><br>INT:分类ID | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nImpactClassID,用于识别某一类 BUFF。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 8 列</code><br>INT:互斥ID | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nMutexID,同互斥组的效果互相替换。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | -1 表示不参与互斥。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 9 列</code><br>INT:互斥优先级 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nLevel,互斥组内比大小。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 10 列</code><br>INT:影响性质 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nStandFlag。源码注释:-1 敌对、0 中立、1 友好。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0,按中立处理。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 11 列</code><br>INT:死后是否保留 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bRemainOnCorpse,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 12 列</code><br>INT:是否可以被技能驱散 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bCanBeDispeled,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 13 列</code><br>INT:是否可以被手动取消 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bCanBeCanceled,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 14 列</code><br>INT:是否需要引导支持 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bNeedChannelSupport,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 15 列</code><br>INT:是否是直通效果 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bIgnoreFliter,非 0 时忽略效果过滤器与修正器。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 16 列</code><br>INT:受到伤害时是否消失 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bFadeOutWhenUnitOnDamage,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 17 列</code><br>INT:开始动作时是否消失 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bFadeOutWhenUnitStartActions,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 18 列</code><br>INT:开始移动时是否消失 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bFadeOutWhenUnitMove,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 19 列</code><br>INT:下线是否消失 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bFadeOutWhenUnitOffline,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 20 列</code><br>INT:下线是否仍然计时 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bStillTimingWhenUnitOffline,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 21 列</code><br>INT:总持续时间(毫秒) | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nContinuance。持续性效果靠它取下线/到时判定。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0,持续效果不挂载。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 22 列</code><br>INT:发作时间间隔(毫秒) | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nInterval,两次发作之间隔多久。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0,只发作一次。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 23 列</code><br>INT:互斥规则是否参考制造者ID | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bMutexByCaster,非 0 时同一施法者的效果才互斥。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0,任意施法者的同名效果都互斥。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 24 列</code><br>INT:是否需要装备支持 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bNeedEquipmentSupport,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 25 列</code><br>INT:装备的ItemIndex | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_nItemIndexOfTheEquipment,配合第 24 列使用。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 26 列</code><br>INT:禁止反射 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bUnreflectable,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 27 列</code><br>INT:禁止吸收 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_bUnabsorbable,非 0 为真。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 28 列</code><br>STRING:参数1说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[0].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 29 列</code><br>INT:参数1值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[0].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 30 列</code><br>FLOAT:参数1修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[0].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 31 列</code><br>STRING:参数2说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[1].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 32 列</code><br>INT:参数2值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[1].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 33 列</code><br>FLOAT:参数2修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[1].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 34 列</code><br>STRING:参数3说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[2].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 35 列</code><br>INT:参数3值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[2].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 36 列</code><br>FLOAT:参数3修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[2].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 37 列</code><br>STRING:参数4说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[3].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 38 列</code><br>INT:参数4值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[3].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 39 列</code><br>FLOAT:参数4修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[3].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 40 列</code><br>STRING:参数5说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[4].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 41 列</code><br>INT:参数5值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[4].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 42 列</code><br>FLOAT:参数5修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[4].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 43 列</code><br>STRING:参数6说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[5].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 44 列</code><br>INT:参数6值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[5].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 45 列</code><br>FLOAT:参数6修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[5].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 46 列</code><br>STRING:参数7说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[6].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 47 列</code><br>INT:参数7值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[6].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 48 列</code><br>FLOAT:参数7修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[6].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 49 列</code><br>STRING:参数8说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[7].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 50 列</code><br>INT:参数8值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[7].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 51 列</code><br>FLOAT:参数8修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[7].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 52 列</code><br>STRING:参数9说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[8].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 53 列</code><br>INT:参数9值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[8].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 54 列</code><br>FLOAT:参数9修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[8].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 55 列</code><br>STRING:参数10说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[9].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 56 列</code><br>INT:参数10值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[9].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 57 列</code><br>FLOAT:参数10修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[9].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 58 列</code><br>STRING:参数11说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[10].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 59 列</code><br>INT:参数11值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[10].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 60 列</code><br>FLOAT:参数11修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[10].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 61 列</code><br>STRING:参数12说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[11].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 62 列</code><br>INT:参数12值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[11].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 63 列</code><br>FLOAT:参数12修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[11].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 64 列</code><br>STRING:参数13说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[12].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 65 列</code><br>INT:参数13值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[12].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 66 列</code><br>FLOAT:参数13修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[12].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 67 列</code><br>STRING:参数14说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[13].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 68 列</code><br>INT:参数14值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[13].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 69 列</code><br>FLOAT:参数14修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[13].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 70 列</code><br>STRING:参数15说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[14].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 71 列</code><br>INT:参数15值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[14].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 72 列</code><br>FLOAT:参数15修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[14].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 73 列</code><br>STRING:参数16说明 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[15].m_szDesc。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 74 列</code><br>INT:参数16值 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[15].m_nValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 75 列</code><br>FLOAT:参数16修正步长 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 由 ImpactDescriptor_T 读进 m_aParams[15].m_fStep,读 fValue。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 76 列</code><br>STRING:效果描述(内部使用) | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 写入 m_szDescription,只存不判。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空值原样存入。 |} == 常用修改实例 == 示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。 以下代码块保留真实 Tab;本地示例文件保留原样本编码、中文表头与 CRLF。网页文字使用浏览器编码显示,不表示运行文件应改存 UTF-8。 === 把 2 号效果(测试用 HOT)的总持续时间从 30000 改成 45000 === 修改前: <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">INT STRING INT STRING INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING Data_Index 效果名称$1$ 逻辑ID 逻辑ID的说明 是否是持续性效果 瞬发效果ID/驻留效果ID 分类ID(专门用于识别某一类BUFF) 互斥ID(效果互相替换用) 互斥优先级 影响性质 死后是否保留 是否可以被技能驱散 是否可以被手动取消 是否需要引导支持 是否是直通效果 受到伤害时是否消失 开始动作时是否消失 开始移动时是否消失 下线就消失否 下线仍然计时否 总持续时间(毫秒) 发作时间间隔(毫秒) 互斥规则是否参考制造者ID 是否需要装备支持 装备的ItemIndex 禁止反射 禁止吸收 参数1说明 参数值 修正步长 参数2说明 参数值 修正步长 参数3说明 参数值 修正步长 参数4说明 参数值 修正步长 参数5说明 参数值 修正步长 参数6说明 参数值 修正步长 参数7说明 参数值 修正步长 参数8说明 参数值 修正步长 参数9说明 参数值 修正步长 参数10说明 参数值 修正步长 参数11说明 参数值 修正步长 参数12说明 参数值 修正步长 参数13说明 参数值 修正步长 参数14说明 参数值 修正步长 参数15说明 参数值 修正步长 参数16说明 参数值 修正步长 效果描述(内部使用) 2 测试用HOT 10 StdImpact010 1 18 -1 50 1 1 0 1 1 0 0 0 0 0 1 0 30000 3000 0 0 0 0 0 子效果1数据索引 1 0 子效果2数据索引 -1 0 。。。 -1 0 子效果15数据索引 -1 0 子效果16数据索引 -1 0 , 一共可以填16个子效果,不用的子效果域请填-1。 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 </pre> 修改后: <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">INT STRING INT STRING INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING INT FLOAT STRING Data_Index 效果名称$1$ 逻辑ID 逻辑ID的说明 是否是持续性效果 瞬发效果ID/驻留效果ID 分类ID(专门用于识别某一类BUFF) 互斥ID(效果互相替换用) 互斥优先级 影响性质 死后是否保留 是否可以被技能驱散 是否可以被手动取消 是否需要引导支持 是否是直通效果 受到伤害时是否消失 开始动作时是否消失 开始移动时是否消失 下线就消失否 下线仍然计时否 总持续时间(毫秒) 发作时间间隔(毫秒) 互斥规则是否参考制造者ID 是否需要装备支持 装备的ItemIndex 禁止反射 禁止吸收 参数1说明 参数值 修正步长 参数2说明 参数值 修正步长 参数3说明 参数值 修正步长 参数4说明 参数值 修正步长 参数5说明 参数值 修正步长 参数6说明 参数值 修正步长 参数7说明 参数值 修正步长 参数8说明 参数值 修正步长 参数9说明 参数值 修正步长 参数10说明 参数值 修正步长 参数11说明 参数值 修正步长 参数12说明 参数值 修正步长 参数13说明 参数值 修正步长 参数14说明 参数值 修正步长 参数15说明 参数值 修正步长 参数16说明 参数值 修正步长 效果描述(内部使用) 2 测试用HOT 10 StdImpact010 1 18 -1 50 1 1 0 1 1 0 0 0 0 0 1 0 45000 3000 0 0 0 0 0 子效果1数据索引 1 0 子效果2数据索引 -1 0 。。。 -1 0 子效果15数据索引 -1 0 子效果16数据索引 -1 0 , 一共可以填16个子效果,不用的子效果域请填-1。 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 </pre> 按第一列定位 2 号效果。样本第 21 列总持续时间为 30000 毫秒,改为 45000。只改第 21 列,保留 76 列和其余 9855 行。本片段含表头与该行,不能覆盖整表。 GetInstanceByID(2)->m_nContinuance 变为 45000。隔离加载读回 45000。实际效果时长需要实测。 == 验证与排查 == 启动日志出现 Load StandardImpact.txt ... OK!。9856 条记录、76 列,2 号效果总持续时间为 45000。第 1 列写 ≥42769 会走 TemplateManager 越界断言并跳过该行;写成重复值则后一行覆盖前一行。恢复备份后重启,或用 ReloadCombatTables 指令。 === 与 ImpactSEData_V1 的区别 === Public/ImpactSEData_V1.txt 管「挂上之后怎么共存」(互斥、优先级、可驱散、死亡保留);本表管「效果本身是什么」(持续、发作间隔、参数与步长)。技能模板第 31 列的 m_nImpactIDOfSkill 指向前者,前者第 6 列再指向本表。 === 参数组的语义由逻辑决定 === 第 28 到 75 列的参数名在样本里写成「物理攻击+」「冰系攻击」一类,但读取器只按顺序存进 m_aParams[n],真正解释这些数值的是第 3 列的 m_nLogicID 对应逻辑。不要只按参数名猜算法。 == 关联与依据 == [[工程参考/配置文件/Public/ImpactSEData_V1.txt|Public/ImpactSEData_V1.txt]] · [[工程参考/配置文件/Public/SkillData_V1.txt|Public/SkillData_V1.txt]] · [[工程参考/配置文件/Public/SkillTemplate_V1.txt|Public/SkillTemplate_V1.txt]] [[工程参考/配置文件索引|其他配置及整理状态]] · [[工程参考/服务端外网设置|服务端外网设置]] · [[Lua接口/服务端函数索引|Lua 接口索引]] * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Main/GameTable.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Main/GameTable.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/Combat/TemplateManager.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/Combat/DataRecords.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/Combat/DataRecords.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/FileDef.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Packets/CGCommandHandler.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Server/Config/StandardImpact.txt</code>:实际加载、解析、字段使用或示例关联依据 原始 ImpactData_T::InitFromDB(含 ImpactDescriptor_T 与 Descriptor_T 子结构)与 TemplateManager_T 索引隔离加载测试。效果挂载、发作与驱散未在游戏中执行。 </div> [[Category:工程参考]]
返回
工程参考/配置文件/Server/StandardImpact.txt
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息