工程参考/配置文件/Public/ReputationTable.txt
ReputationTable.txt 是一张 64×64 的整数矩阵。第 1 列是势力编号,第 2 列是名称,第 3 列是是否在客户端显示,第 4 到 67 列依次是对 0 到 63 号势力的初始声望值,第 68 列是内部说明。样本 64 行、68 列。
新建角色时用 FillReputationListWithDefaultData 把整行复制到角色的声望列表,所以这里的值只是初始值。已经存在的角色不受改动影响。
文件位置与生效
| 项目 | 说明 |
|---|---|
| 运行文件 | ../Public/Config/ReputationTable.txt(宏 FILE_REPUTATION_TABLE),相对于进程工作目录;客户端从资源目录按同名文件加载。
|
| 读取程序 | GameServer:TableInit 里调用 InitGlobalReputationTable(FILE_REPUTATION_TABLE);客户端经 DBC_REPUTATION 用 InitGlobalReputationTableFromMemory 读同一份;查询在 Common/Combat/CampAndStand.cpp |
| 生效方法 | 停服后备份并修改实际副本,重启 Server;客户端一侧需要随资源更新并重启客户端。两处副本必须一致。 |
| 样本格式 | GB18030-compatible,CRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。
|
加载由 TemplateManager_T 完成:第 1 列的值当作数组下标写入第 nID 项,随后由 Reputation_T::InitFromDB 读名称、显示标志、64 个数值与说明。
| 检查项 | 结论 |
|---|---|
| 编号能不能越界 | 不能。必须在 0 到 63 之间,否则 AssertEx 并丢弃该行(Reputation_T::MAX_ID = 63)。 |
| 初始值的含义 | 正数友好、负数敌对、0 中立。样本里既有 275000 也有 -160000。 |
| 矩阵是否要求对称 | 不要求。A 对 B 与 B 对 A 是两个独立的格子。 |
| 改了影响谁 | 只影响之后新建的角色;已存在角色的声望列表不会被这张表回填。 |
| 查询入口 | GetSpecificReputationFromGlobalTable(自己, 对方),任一侧越界返回 0。
|
文件格式
首行是类型行: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 INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT STRING;第二行是列名行,程序跳过其内容;从第三行开始读取数据。各列用真实 Tab 分隔,保留首列、空列及行尾,不用空格代替。数据行行首 # 表示注释,分号不是此表的注释规则。首列为空的行被跳过;不足的尾列补为空值,多余列不参与本页字段读取。空整数和非数字经 atoi 可能成为 0,空字符串仍为空,不把解析成功当作业务合法。第一列须唯一,重复会触发读取器错误。
字段详解
列号从 1 开始,源码列下标从 0 开始。
| 字段与类型 | 含义与修改要点 | 缺项或特殊值 |
|---|---|---|
第 1 列INT:ID |
声望阵营编号,同时是 DBC 索引列。TemplateManager_T 把它当作数组下标写入 m_vTemplateList[nID],必须落在 0 到 63 之间。 | 必填且不能重复。超出范围会触发 AssertEx 并丢弃该行。 |
第 2 列STRING:势力名称$1$ |
势力名称。保存为字符串指针,客户端通过 IsDisplayInClient 决定要不要显示。 | 必填。留空会得到空名称。 |
第 3 列INT:是否显示 |
是否在客户端显示。判断式是大于 0,所以 1 与其它正数都表示显示。 | 空或 0 表示不显示。填 -1 也不会报错,只是不显示。 |
第 4 列INT:0 |
本阵营对 0 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 5 列INT:1 |
本阵营对 1 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 6 列INT:2 |
本阵营对 2 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 7 列INT:3 |
本阵营对 3 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 8 列INT:4 |
本阵营对 4 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 9 列INT:5 |
本阵营对 5 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 10 列INT:6 |
本阵营对 6 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 11 列INT:7 |
本阵营对 7 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 12 列INT:8 |
本阵营对 8 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 13 列INT:9 |
本阵营对 9 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 14 列INT:10 |
本阵营对 10 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 15 列INT:11 |
本阵营对 11 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 16 列INT:12 |
本阵营对 12 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 17 列INT:13 |
本阵营对 13 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 18 列INT:14 |
本阵营对 14 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 19 列INT:15 |
本阵营对 15 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 20 列INT:16 |
本阵营对 16 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 21 列INT:17 |
本阵营对 17 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 22 列INT:18 |
本阵营对 18 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 23 列INT:19 |
本阵营对 19 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 24 列INT:20 |
本阵营对 20 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 25 列INT:21 |
本阵营对 21 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 26 列INT:22 |
本阵营对 22 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 27 列INT:23 |
本阵营对 23 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 28 列INT:24 |
本阵营对 24 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 29 列INT:25 |
本阵营对 25 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 30 列INT:26 |
本阵营对 26 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 31 列INT:27 |
本阵营对 27 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 32 列INT:28 |
本阵营对 28 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 33 列INT:29 |
本阵营对 29 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 34 列INT:30 |
本阵营对 30 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 35 列INT:31 |
本阵营对 31 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 36 列INT:32 |
本阵营对 32 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 37 列INT:33 |
本阵营对 33 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 38 列INT:34 |
本阵营对 34 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 39 列INT:35 |
本阵营对 35 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 40 列INT:36 |
本阵营对 36 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 41 列INT:37 |
本阵营对 37 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 42 列INT:38 |
本阵营对 38 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 43 列INT:39 |
本阵营对 39 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 44 列INT:40 |
本阵营对 40 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 45 列INT:41 |
本阵营对 41 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 46 列INT:42 |
本阵营对 42 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 47 列INT:43 |
本阵营对 43 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 48 列INT:44 |
本阵营对 44 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 49 列INT:45 |
本阵营对 45 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 50 列INT:46 |
本阵营对 46 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 51 列INT:47 |
本阵营对 47 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 52 列INT:48 |
本阵营对 48 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 53 列INT:49 |
本阵营对 49 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 54 列INT:50 |
本阵营对 50 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 55 列INT:51 |
本阵营对 51 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 56 列INT:52 |
本阵营对 52 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 57 列INT:53 |
本阵营对 53 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 58 列INT:54 |
本阵营对 54 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 59 列INT:55 |
本阵营对 55 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 60 列INT:56 |
本阵营对 56 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 61 列INT:57 |
本阵营对 57 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 62 列INT:58 |
本阵营对 58 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 63 列INT:59 |
本阵营对 59 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 64 列INT:60 |
本阵营对 60 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 65 列INT:61 |
本阵营对 61 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 66 列INT:62 |
本阵营对 62 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 67 列INT:63 |
本阵营对 63 号阵营的初始声望值。新建角色时用 FillReputationListWithDefaultData 把这一整行复制到角色的声望列表。 | 空为 0。样本里有负数(敌对)。改这里只影响新角色的初始值,已存在角色的声望不受影响。 |
第 68 列STRING:"DESC,内部注释用" |
内部说明文字。读取后只保存在 m_szDesc,当前核对范围内没有界面使用它。 | 不生效。留空即可。 |
常用修改实例
示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。 以下代码块保留真实 Tab;本地示例文件保留原样本编码、中文表头与 CRLF。网页文字使用浏览器编码显示,不表示运行文件应改存 UTF-8。
把 32 号势力对 0 号势力的初始声望从 0 改为 1000
修改前:
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 INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT STRING ID 势力名称$1$ 是否显示 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 "DESC,内部注释用" 32 Name-32 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DESC32
修改后:
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 INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT STRING ID 势力名称$1$ 是否显示 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 "DESC,内部注释用" 32 Name-32 1 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DESC32
按第 1 列定位 32 号势力。第 4 列对应 0 号势力(第 4 列起依次是 0 到 63 号),样本值是 0,这里改成 1000,其余 67 列与另 63 行全部保留。
只有之后新建的角色会拿到这个新值;已经建号的角色不受影响,需要改数据库或用脚本单独调整。
示例块含类型行、列名行与该行原文,不能覆盖整张表。改完需要重启 Server,并同步更新客户端资源。
验证与排查
Server 启动日志出现 Load ReputationTable.txt 的 OK 记录。改完重启后新建一个角色,打开声望界面确认对应势力的初始值变成了新值;再用一个已存在的角色确认它的声望没有跟着变。客户端要更新资源后重启再看显示。失败时恢复备份并重启。
只影响新建角色
FillReputationListWithDefaultData 只在初始化角色声望列表时调用一次。改这张表不会回溯修改已有角色。
格子不对称
第 5 行第 4 列是「5 号对 0 号」,第 1 行第 8 列是「0 号对 5 号」。想让两个势力互相友好或敌对,要改两个格子。
编号是数组下标
第 1 列必须落在 0 到 63 之间。填 64 会触发 AssertEx 并丢弃整行,后果是查这个势力时返回空指针、按 0 处理。
查询越界返回 0
GetSpecificReputationFromGlobalTable 任一侧超出 0 到 63 就返回 0,不报错。
关联与依据
Public/CampAndStand.txt · Public/IDCollections.txt
其他配置及整理状态 · 服务端外网设置 · Lua 接口索引
Common/DataBase/TLBB_DBC.cpp:实际加载、解析、字段使用或示例关联依据Common/DataBase/TLBB_DBC.h:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Main/GameTable.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Main/GameTable.h:实际加载、解析、字段使用或示例关联依据Common/Combat/CampAndStand.cpp:实际加载、解析、字段使用或示例关联依据Common/Combat/CampAndStand.h:实际加载、解析、字段使用或示例关联依据Common/ServerBase/FileDef.h:实际加载、解析、字段使用或示例关联依据Client/Client/Common/TDDBC_Struct.h:实际加载、解析、字段使用或示例关联依据Client/Client/Game/DBC/GMDataBase.cpp:实际加载、解析、字段使用或示例关联依据Client/Client/Game/Procedure/GameProcedure.cpp:实际加载、解析、字段使用或示例关联依据resources/Public/Config/ReputationTable.txt:实际加载、解析、字段使用或示例关联依据
本页核对 TemplateManager_T 按下标写入的行为、Reputation_T::InitFromDB 的名称 / 显示标志 / 64 个数值 / 说明四段读取与 MAX_ID=63、FillReputationListWithDefaultData 的复制范围、两个查询函数的越界返回;样本 64 行的编号范围与列宽经脚本核算。未启动服务端,新建角色的实际声望需要实测。