工程参考/配置文件/Server/ItemQuality.txt

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


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

ItemQuality.txt 是随服务端保留的旧品质权重表。当前 Server 会读取它,但未找到把它接入现行装备生成的调用。因此,改这里的“武器Q1”等数值,不能作为调整当前装备星数或掉落品质的办法。要修改当前品质分布,先看 ItemSegQuality 与 ItemSegAffect 两页。本页用于识别旧表、保持文件合法和核对为何修改没有预期效果。

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

文件位置与生效

项目 说明
运行文件 ./Config/ItemQuality.txt,相对于读取程序的工作目录。源码 resources/Server/Config 是样本位置,实际部署可能另有副本。
读取程序 Server 游戏进程;旧表加载已确认,实际装备业务调用未发现
生效方法 保留运行文件。确需核对时先备份,正常保存并停服后修改 Server 工作目录的 Config 副本,再重启 Server。当前检索范围未发现本表独立重载入口。不要以“未发现业务调用”为由删除启动仍需读取的文件。
样本格式 GB18030-compatibleCRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。

样本为 50 条数据、101 列:第一列标签为 0..49,后面是 100 个整数槽。不能因某一类装备不用就删除对应列。

第一列和数据行的区别

加载器没有把第一列写入等级键,而是将第 1 条有效数据记为等级 0,第 2 条记为等级 1,依次类推。第一列仍由 DBC 建唯一索引,但旧业务查询按加载后的 0..49 查找。把第一行标签改为 100,不会变成“100 级规则”;插入、删除、交换行则会改变后续数据对应的位置。注释和空首列行不计入有效数据行。

列分组速查

样本表头分组 列号与内部槽
武器 Q1..Q20 第 2..21 列;零基槽 0..19
衣服 Q1..Q20 第 22..41 列;零基槽 20..39
帽子腰带 Q1..Q20 第 42..61 列;零基槽 40..59
鞋子戒指 Q1..Q20 第 62..81 列;零基槽 60..79
护腕项链 Q1..Q20 第 82..101 列;零基槽 80..99

这些分组是样本列名。旧函数会连续扫描全部 100 槽,没有先按装备部位选 20 槽,也没有把槽下标自动转为现行星数。

文件格式

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

字段详解

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

字段与类型 含义与修改要点 缺项或特殊值
第 1 列
INT:Item Level
保留样本 0..49 标签、唯一性与原数据行顺序;实际等级键是从 0 开始的有效行位置。不是物品模板 ID、人物对象 ID、GUID 或背包位置。 首列空使整行跳过,后面的行位置随之变化;重复标签由 DBC 报错。旧查询找不到行位置时记日志并返回空指针,不钳制到首尾行。
第 2 列
INT:武器Q1
保存到旧品质权重槽 0。样本名称中 Q1 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 3 列
INT:武器Q2
保存到旧品质权重槽 1。样本名称中 Q2 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 4 列
INT:武器Q3
保存到旧品质权重槽 2。样本名称中 Q3 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 5 列
INT:武器Q4
保存到旧品质权重槽 3。样本名称中 Q4 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 6 列
INT:武器Q5
保存到旧品质权重槽 4。样本名称中 Q5 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 7 列
INT:武器Q6
保存到旧品质权重槽 5。样本名称中 Q6 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 8 列
INT:武器Q7
保存到旧品质权重槽 6。样本名称中 Q7 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 9 列
INT:武器Q8
保存到旧品质权重槽 7。样本名称中 Q8 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 10 列
INT:武器Q9
保存到旧品质权重槽 8。样本名称中 Q9 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 11 列
INT:武器Q10
保存到旧品质权重槽 9。样本名称中 Q10 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 12 列
INT:武器Q11
保存到旧品质权重槽 10。样本名称中 Q11 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 13 列
INT:武器Q12
保存到旧品质权重槽 11。样本名称中 Q12 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 14 列
INT:武器Q13
保存到旧品质权重槽 12。样本名称中 Q13 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 15 列
INT:武器Q14
保存到旧品质权重槽 13。样本名称中 Q14 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 16 列
INT:武器Q15
保存到旧品质权重槽 14。样本名称中 Q15 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 17 列
INT:武器Q16
保存到旧品质权重槽 15。样本名称中 Q16 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 18 列
INT:武器Q17
保存到旧品质权重槽 16。样本名称中 Q17 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 19 列
INT:武器Q18
保存到旧品质权重槽 17。样本名称中 Q18 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 20 列
INT:武器Q19
保存到旧品质权重槽 18。样本名称中 Q19 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 21 列
INT:武器Q20
保存到旧品质权重槽 19。样本名称中 Q20 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 22 列
INT:衣服Q1
保存到旧品质权重槽 20。样本名称中 Q1 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 23 列
INT:衣服Q2
保存到旧品质权重槽 21。样本名称中 Q2 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 24 列
INT:衣服Q3
保存到旧品质权重槽 22。样本名称中 Q3 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 25 列
INT:衣服Q4
保存到旧品质权重槽 23。样本名称中 Q4 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 26 列
INT:衣服Q5
保存到旧品质权重槽 24。样本名称中 Q5 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 27 列
INT:衣服Q6
保存到旧品质权重槽 25。样本名称中 Q6 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 28 列
INT:衣服Q7
保存到旧品质权重槽 26。样本名称中 Q7 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 29 列
INT:衣服Q8
保存到旧品质权重槽 27。样本名称中 Q8 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 30 列
INT:衣服Q9
保存到旧品质权重槽 28。样本名称中 Q9 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 31 列
INT:衣服Q10
保存到旧品质权重槽 29。样本名称中 Q10 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 32 列
INT:衣服Q11
保存到旧品质权重槽 30。样本名称中 Q11 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 33 列
INT:衣服Q12
保存到旧品质权重槽 31。样本名称中 Q12 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 34 列
INT:衣服Q13
保存到旧品质权重槽 32。样本名称中 Q13 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 35 列
INT:衣服Q14
保存到旧品质权重槽 33。样本名称中 Q14 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 36 列
INT:衣服Q15
保存到旧品质权重槽 34。样本名称中 Q15 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 37 列
INT:衣服Q16
保存到旧品质权重槽 35。样本名称中 Q16 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 38 列
INT:衣服Q17
保存到旧品质权重槽 36。样本名称中 Q17 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 39 列
INT:衣服Q18
保存到旧品质权重槽 37。样本名称中 Q18 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 40 列
INT:衣服Q19
保存到旧品质权重槽 38。样本名称中 Q19 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 41 列
INT:衣服Q20
保存到旧品质权重槽 39。样本名称中 Q20 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 42 列
INT:帽子腰带Q1
保存到旧品质权重槽 40。样本名称中 Q1 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 43 列
INT:帽子腰带Q2
保存到旧品质权重槽 41。样本名称中 Q2 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 44 列
INT:帽子腰带Q3
保存到旧品质权重槽 42。样本名称中 Q3 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 45 列
INT:帽子腰带Q4
保存到旧品质权重槽 43。样本名称中 Q4 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 46 列
INT:帽子腰带Q5
保存到旧品质权重槽 44。样本名称中 Q5 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 47 列
INT:帽子腰带Q6
保存到旧品质权重槽 45。样本名称中 Q6 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 48 列
INT:帽子腰带Q7
保存到旧品质权重槽 46。样本名称中 Q7 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 49 列
INT:帽子腰带Q8
保存到旧品质权重槽 47。样本名称中 Q8 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 50 列
INT:帽子腰带Q9
保存到旧品质权重槽 48。样本名称中 Q9 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 51 列
INT:帽子腰带Q10
保存到旧品质权重槽 49。样本名称中 Q10 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 52 列
INT:帽子腰带Q11
保存到旧品质权重槽 50。样本名称中 Q11 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 53 列
INT:帽子腰带Q12
保存到旧品质权重槽 51。样本名称中 Q12 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 54 列
INT:帽子腰带Q13
保存到旧品质权重槽 52。样本名称中 Q13 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 55 列
INT:帽子腰带Q14
保存到旧品质权重槽 53。样本名称中 Q14 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 56 列
INT:帽子腰带Q15
保存到旧品质权重槽 54。样本名称中 Q15 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 57 列
INT:帽子腰带Q16
保存到旧品质权重槽 55。样本名称中 Q16 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 58 列
INT:帽子腰带Q17
保存到旧品质权重槽 56。样本名称中 Q17 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 59 列
INT:帽子腰带Q18
保存到旧品质权重槽 57。样本名称中 Q18 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 60 列
INT:帽子腰带Q19
保存到旧品质权重槽 58。样本名称中 Q19 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 61 列
INT:帽子腰带Q20
保存到旧品质权重槽 59。样本名称中 Q20 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 62 列
INT:鞋子戒指Q1
保存到旧品质权重槽 60。样本名称中 Q1 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 63 列
INT:鞋子戒指Q2
保存到旧品质权重槽 61。样本名称中 Q2 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 64 列
INT:鞋子戒指Q3
保存到旧品质权重槽 62。样本名称中 Q3 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 65 列
INT:鞋子戒指Q4
保存到旧品质权重槽 63。样本名称中 Q4 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 66 列
INT:鞋子戒指Q5
保存到旧品质权重槽 64。样本名称中 Q5 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 67 列
INT:鞋子戒指Q6
保存到旧品质权重槽 65。样本名称中 Q6 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 68 列
INT:鞋子戒指Q7
保存到旧品质权重槽 66。样本名称中 Q7 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 69 列
INT:鞋子戒指Q8
保存到旧品质权重槽 67。样本名称中 Q8 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 70 列
INT:鞋子戒指Q9
保存到旧品质权重槽 68。样本名称中 Q9 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 71 列
INT:鞋子戒指Q10
保存到旧品质权重槽 69。样本名称中 Q10 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 72 列
INT:鞋子戒指Q11
保存到旧品质权重槽 70。样本名称中 Q11 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 73 列
INT:鞋子戒指Q12
保存到旧品质权重槽 71。样本名称中 Q12 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 74 列
INT:鞋子戒指Q13
保存到旧品质权重槽 72。样本名称中 Q13 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 75 列
INT:鞋子戒指Q14
保存到旧品质权重槽 73。样本名称中 Q14 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 76 列
INT:鞋子戒指Q15
保存到旧品质权重槽 74。样本名称中 Q15 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 77 列
INT:鞋子戒指Q16
保存到旧品质权重槽 75。样本名称中 Q16 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 78 列
INT:鞋子戒指Q17
保存到旧品质权重槽 76。样本名称中 Q17 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 79 列
INT:鞋子戒指Q18
保存到旧品质权重槽 77。样本名称中 Q18 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 80 列
INT:鞋子戒指Q19
保存到旧品质权重槽 78。样本名称中 Q19 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 81 列
INT:鞋子戒指Q20
保存到旧品质权重槽 79。样本名称中 Q20 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 82 列
INT:护腕项链Q1
保存到旧品质权重槽 80。样本名称中 Q1 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 83 列
INT:护腕项链Q2
保存到旧品质权重槽 81。样本名称中 Q2 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 84 列
INT:护腕项链Q3
保存到旧品质权重槽 82。样本名称中 Q3 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 85 列
INT:护腕项链Q4
保存到旧品质权重槽 83。样本名称中 Q4 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 86 列
INT:护腕项链Q5
保存到旧品质权重槽 84。样本名称中 Q5 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 87 列
INT:护腕项链Q6
保存到旧品质权重槽 85。样本名称中 Q6 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 88 列
INT:护腕项链Q7
保存到旧品质权重槽 86。样本名称中 Q7 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 89 列
INT:护腕项链Q8
保存到旧品质权重槽 87。样本名称中 Q8 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 90 列
INT:护腕项链Q9
保存到旧品质权重槽 88。样本名称中 Q9 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 91 列
INT:护腕项链Q10
保存到旧品质权重槽 89。样本名称中 Q10 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 92 列
INT:护腕项链Q11
保存到旧品质权重槽 90。样本名称中 Q11 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 93 列
INT:护腕项链Q12
保存到旧品质权重槽 91。样本名称中 Q12 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 94 列
INT:护腕项链Q13
保存到旧品质权重槽 92。样本名称中 Q13 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 95 列
INT:护腕项链Q14
保存到旧品质权重槽 93。样本名称中 Q14 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 96 列
INT:护腕项链Q15
保存到旧品质权重槽 94。样本名称中 Q15 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 97 列
INT:护腕项链Q16
保存到旧品质权重槽 95。样本名称中 Q16 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 98 列
INT:护腕项链Q17
保存到旧品质权重槽 96。样本名称中 Q17 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 99 列
INT:护腕项链Q18
保存到旧品质权重槽 97。样本名称中 Q18 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 100 列
INT:护腕项链Q19
保存到旧品质权重槽 98。样本名称中 Q19 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。
第 101 列
INT:护腕项链Q20
保存到旧品质权重槽 99。样本名称中 Q20 仅作分组标签;如果直接调用旧抽取函数,它使用本格正整数累计值与百万分刻度比较,详见下文。未确认现行装备生成使用本格。 空值、缺少行尾值或非数字读为 0;旧抽取跳过 0 和负数。没有自动归一化、组内求和或负值纠正。不要把所填值直接读成当前掉落百分比。

常用修改实例

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

核对权重修改是否只停留在旧表

修改前:

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	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
Item Level	武器Q1	武器Q2	武器Q3	武器Q4	武器Q5	武器Q6	武器Q7	武器Q8	武器Q9	武器Q10	武器Q11	武器Q12	武器Q13	武器Q14	武器Q15	武器Q16	武器Q17	武器Q18	武器Q19	武器Q20	衣服Q1	衣服Q2	衣服Q3	衣服Q4	衣服Q5	衣服Q6	衣服Q7	衣服Q8	衣服Q9	衣服Q10	衣服Q11	衣服Q12	衣服Q13	衣服Q14	衣服Q15	衣服Q16	衣服Q17	衣服Q18	衣服Q19	衣服Q20	帽子腰带Q1	帽子腰带Q2	帽子腰带Q3	帽子腰带Q4	帽子腰带Q5	帽子腰带Q6	帽子腰带Q7	帽子腰带Q8	帽子腰带Q9	帽子腰带Q10	帽子腰带Q11	帽子腰带Q12	帽子腰带Q13	帽子腰带Q14	帽子腰带Q15	帽子腰带Q16	帽子腰带Q17	帽子腰带Q18	帽子腰带Q19	帽子腰带Q20	鞋子戒指Q1	鞋子戒指Q2	鞋子戒指Q3	鞋子戒指Q4	鞋子戒指Q5	鞋子戒指Q6	鞋子戒指Q7	鞋子戒指Q8	鞋子戒指Q9	鞋子戒指Q10	鞋子戒指Q11	鞋子戒指Q12	鞋子戒指Q13	鞋子戒指Q14	鞋子戒指Q15	鞋子戒指Q16	鞋子戒指Q17	鞋子戒指Q18	鞋子戒指Q19	鞋子戒指Q20	护腕项链Q1	护腕项链Q2	护腕项链Q3	护腕项链Q4	护腕项链Q5	护腕项链Q6	护腕项链Q7	护腕项链Q8	护腕项链Q9	护腕项链Q10	护腕项链Q11	护腕项链Q12	护腕项链Q13	护腕项链Q14	护腕项链Q15	护腕项链Q16	护腕项链Q17	护腕项链Q18	护腕项链Q19	护腕项链Q20
0	900000	80000	10000	5000	3000	1000	889	100	10	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	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

修改后:

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	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
Item Level	武器Q1	武器Q2	武器Q3	武器Q4	武器Q5	武器Q6	武器Q7	武器Q8	武器Q9	武器Q10	武器Q11	武器Q12	武器Q13	武器Q14	武器Q15	武器Q16	武器Q17	武器Q18	武器Q19	武器Q20	衣服Q1	衣服Q2	衣服Q3	衣服Q4	衣服Q5	衣服Q6	衣服Q7	衣服Q8	衣服Q9	衣服Q10	衣服Q11	衣服Q12	衣服Q13	衣服Q14	衣服Q15	衣服Q16	衣服Q17	衣服Q18	衣服Q19	衣服Q20	帽子腰带Q1	帽子腰带Q2	帽子腰带Q3	帽子腰带Q4	帽子腰带Q5	帽子腰带Q6	帽子腰带Q7	帽子腰带Q8	帽子腰带Q9	帽子腰带Q10	帽子腰带Q11	帽子腰带Q12	帽子腰带Q13	帽子腰带Q14	帽子腰带Q15	帽子腰带Q16	帽子腰带Q17	帽子腰带Q18	帽子腰带Q19	帽子腰带Q20	鞋子戒指Q1	鞋子戒指Q2	鞋子戒指Q3	鞋子戒指Q4	鞋子戒指Q5	鞋子戒指Q6	鞋子戒指Q7	鞋子戒指Q8	鞋子戒指Q9	鞋子戒指Q10	鞋子戒指Q11	鞋子戒指Q12	鞋子戒指Q13	鞋子戒指Q14	鞋子戒指Q15	鞋子戒指Q16	鞋子戒指Q17	鞋子戒指Q18	鞋子戒指Q19	鞋子戒指Q20	护腕项链Q1	护腕项链Q2	护腕项链Q3	护腕项链Q4	护腕项链Q5	护腕项链Q6	护腕项链Q7	护腕项链Q8	护腕项链Q9	护腕项链Q10	护腕项链Q11	护腕项链Q12	护腕项链Q13	护腕项链Q14	护腕项链Q15	护腕项链Q16	护腕项链Q17	护腕项链Q18	护腕项链Q19	护腕项链Q20
0	890000	90000	10000	5000	3000	1000	889	100	10	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	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;仅把第 2 列武器Q1从样本 900000 改为教学值 890000,第 3 列武器Q2从 80000 改为 90000。两个槽合计不变,整行总和仍为 1000000;保留其余 99 列和其他 49 行。

原始加载器可读回两个新值。在夹具中直接给旧函数传同一输入 0.895,原表返回零基槽 0,修改后返回槽 1。这个结果仅证明旧算法读到了修改,不能写成“游戏从一星变两星”。实际装备若没有变化,应检查现行 ItemSegQuality → ItemSegAffect 链路,而不是继续加大本表数值。三行示例不能覆盖完整表;核对结束恢复两个原值。

验证与排查

先检查 101 列、50 条有效行、首列唯一且行顺序不变。InitItemLevelTable() Ok 表示加载完成;Search GetItemQualityTB ItemLevel 表示旧等级查询失败。隔离对照可确认权重和槽下标,但启动日志不证明当前装备使用本表。运行程序若含未收录的定制调用,其具体入口、随机输入范围和游戏效果需要实测。恢复时停服还原备份并重启 Server;不需要凭本页把此表复制给客户端。

旧抽取函数到底怎样算

LargeInt = int(fRandValue * 1000000),按槽 0..99 顺序跳过非正数,遇到累计值大于或等于 LargeInt 就返回当前槽。全部扫完仍未命中返回 -1。它没有除以本行权重总和;总和不足会留下未命中区间,超过百万也不会自动缩放。等号属于前一槽的边界,输入 0 时第一个正权重可以命中,所以不能仅由样本数值宣称严格的概率。

函数名称为 CaculateQualityIndex,但当前只发现声明和定义;GetItemQualityTB 同样未发现实际业务调用。当前装备创建使用的是另一套品质段计算,不可混用这两套规则。

当前检索范围覆盖 Prj 源码中的文件名、路径宏、加载与查询函数、成员引用,并检查资源配置和 Lua 中的直接名称。Server 启动确实加载本表;未发现客户端或其他服务进程的加载依据。未发现旧查询函数的业务调用,不能据此断言所有外部程序都不用它。

关联与依据

Server/ItemValue.txt · Server/ItemSegQuality.txt · Server/ItemSegAffect.txt

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

  • Server/Server/GameServer/Server/Item/ItemTable.cpp:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Item/ItemTable.h:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Item/ItemTypes.h:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Item/ItemRuler.cpp:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Item/ItemRuler.h:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Main/Server.cpp:实际加载、解析、字段使用或示例关联依据
  • Common/ServerBase/FileDef.h:实际加载、解析、字段使用或示例关联依据
  • Common/DataBase/TLBB_DBC.cpp:实际加载、解析、字段使用或示例关联依据
  • Common/DataBase/TLBB_DBC.h:实际加载、解析、字段使用或示例关联依据
  • Client/Client/Game/DBC/GMDataBase.cpp:实际加载、解析、字段使用或示例关联依据

原始 DBC、两张表的加载和查询函数、旧品质抽取函数在独立夹具中执行,核对样本和示例;没有启动游戏、服务进程或数据库。夹具直接调用旧函数仅验证其算法,不证明游戏会调用。运行程序与源码是否一致、定制分支效果需要实测。