工程参考/配置文件/Public/ImpactDirectly.txt

来自天龙知识库
跳到导航跳到搜索


首页 · 配置文件索引 · 修改约定

ImpactDirectly.txt 描述一条「直接效果」最多五段的表现:每段一个特效、一个音效、一个绑定骨骼点。它只有表现信息,没有数值。样本 200 条记录、19 列(1 列 ID + 5 组三段 + 2 列预留 + 1 列说明)。

位置与生效 · 文件格式 · 字段详解 · 修改实例

文件位置与生效

项目 说明
运行文件 ../Public/Config/ImpactDirectly.txt,相对于客户端工作目录。服务端工作目录下没有这份文件。
读取程序 客户端 GMDataBase 注册为 DBC_DIRECTLY_IMPACT;服务端源码中检索不到读取入口
生效方法 改的是客户端资源表现,随客户端资源一起更新;服务端不需要重启,也不会读到它。
样本格式 GB18030-compatibleCRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。

第 1 列是 ID,客户端按它查询;第 2 到 16 列是 5 组「特效ID、音效ID、绑定点」,第 17、18 列样本为空,第 19 列是中文说明,只供阅读。

整表除了第 1 列以外全是字符串,写进去的是资源名或路径。第 3 列一类音效值带反斜杠路径(Skills\Weapon\…),保持原样,不要改成正斜杠或加引号。

本表在服务端 Prj/GameCode 全树里检索不到任何读取入口(既没有 FILE_ 宏,也不在 FileDef.h),只有客户端 DBC 注册表点了名。因此它在服务端侧不生效。

文件格式

首行是类型行:INT STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING;第二行是列名行,程序跳过其内容;从第三行开始读取数据。各列用真实 Tab 分隔,保留首列、空列及行尾,不用空格代替。数据行行首 # 表示注释,分号不是此表的注释规则。首列为空的行被跳过;不足的尾列补为空值,多余列不参与本页字段读取。空整数和非数字经 atoi 可能成为 0,空字符串仍为空,不把解析成功当作业务合法。第一列须唯一,重复会触发读取器错误。

字段详解

列号从 1 开始,源码列下标从 0 开始。

字段与类型 含义与修改要点 缺项或特殊值
第 1 列
INT:ID
客户端 DBC 表 DBC_DIRECTLY_IMPACT 的主键。 客户端按主键查询;服务端不读本表。
第 2 列
STRING:特效ID1
第 1 段直接播放的特效资源名。 空表示这一段不出特效。
第 3 列
STRING:音效ID1
第 1 段配套音效路径。 空表示不出声。
第 4 列
STRING:特效的绑定点1
第 1 段特效挂到哪个骨骼绑定位置。 空按默认绑定。
第 5 列
STRING:特效ID2
第 2 段直接播放的特效资源名。 空表示这一段不出特效。
第 6 列
STRING:音效ID2
第 2 段配套音效路径。 空表示不出声。
第 7 列
STRING:特效的绑定点2
第 2 段特效挂到哪个骨骼绑定位置。 空按默认绑定。
第 8 列
STRING:特效ID3
第 3 段直接播放的特效资源名。 空表示这一段不出特效。
第 9 列
STRING:音效ID3
第 3 段配套音效路径。 空表示不出声。
第 10 列
STRING:特效的绑定点3
第 3 段特效挂到哪个骨骼绑定位置。 空按默认绑定。
第 11 列
STRING:特效ID4
第 4 段直接播放的特效资源名。 空表示这一段不出特效。
第 12 列
STRING:音效ID4
第 4 段配套音效路径。 空表示不出声。
第 13 列
STRING:特效的绑定点4
第 4 段特效挂到哪个骨骼绑定位置。 空按默认绑定。
第 14 列
STRING:特效ID5
第 5 段直接播放的特效资源名。 空表示这一段不出特效。
第 15 列
STRING:音效ID5
第 5 段配套音效路径。 空表示不出声。
第 16 列
STRING:特效的绑定点5
第 5 段特效挂到哪个骨骼绑定位置。 空按默认绑定。
第 17 列
STRING:预留1
样本为空。 未使用。
第 18 列
STRING:预留2
样本为空。 未使用。
第 19 列
STRING:效果说明
样本写「金刚附魔圈的伤害」一类中文注释,只供阅读。 未使用。

常用修改实例

示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。 以下代码块保留真实 Tab;本地示例文件保留原样本编码、中文表头与 CRLF。网页文字使用浏览器编码显示,不表示运行文件应改存 UTF-8。

把 0 号直接效果第 1 段的特效 ID 换成 all_bj9999

修改前:

INT	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING
ID	特效ID1	音效ID1	特效的绑定点1	特效ID2	音效ID2	特效的绑定点2	特效ID3	音效ID3	特效的绑定点3	特效ID4	音效ID4	特效的绑定点4	特效ID5	音效ID5	特效的绑定点5	预留1	预留2	效果说明
0	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点			物理伤害

修改后:

INT	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING	STRING
ID	特效ID1	音效ID1	特效的绑定点1	特效ID2	音效ID2	特效的绑定点2	特效ID3	音效ID3	特效的绑定点3	特效ID4	音效ID4	特效的绑定点4	特效ID5	音效ID5	特效的绑定点5	预留1	预留2	效果说明
0	all_bj9999	Skills\Weapon\fist_hit_middle_2.wav	身体受击点	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点	all_bj0000	Skills\Weapon\fist_hit_middle_2.wav	身体受击点			物理伤害

按第一列定位 0 号效果。样本第 2 列特效 ID 为 all_bj0000,改为教学值 all_bj9999。只改第 2 列,保留 19 列和其余 199 行。本片段含表头与该行,不能覆盖整表。

该列是资源名,写错名字的后果是客户端找不到特效而显示空白;服务端不受影响。

验证与排查

服务端启动日志不会出现本文件名,服务端日志与本表无关。客户端是否生效要看资源里是否存在写进去的特效与音效名,判断依据是客户端检索结果而不是服务端日志。

服务端不读

服务端的效果表现来自 StandardImpact 与 ImpactSEData,本表只服务客户端表现层。若只想改「打上去有什么表现」,先确认改的是客户端读的那份资源。

与 Bullet.txt 的区别

子弹类表现由客户端 Bullet.txt(DBC_BULLET_DATA)负责,本表是「命中瞬间直接播特效」这一类。

关联与依据

Public/ImpactSEData_V1.txt · Public/SkillTemplate_V1.txt

其他配置及整理状态 · 服务端外网设置 · Lua 接口索引

  • Common/DataBase/TLBB_DBC.cpp:实际加载、解析、字段使用或示例关联依据
  • Common/ServerBase/FileDef.h:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/ImpactDirectly.txt:实际加载、解析、字段使用或示例关联依据

本页只核对客户端的 DBC 注册项与样本列结构,未运行客户端,也未在服务端找到读取入口。