工程参考/配置文件/Server/ItemQuality.txt
ItemQuality.txt 是随服务端保留的旧品质权重表。当前 Server 会读取它,但未找到把它接入现行装备生成的调用。因此,改这里的“武器Q1”等数值,不能作为调整当前装备星数或掉落品质的办法。要修改当前品质分布,先看 ItemSegQuality 与 ItemSegAffect 两页。本页用于识别旧表、保持文件合法和核对为何修改没有预期效果。
文件位置与生效
| 项目 | 说明 |
|---|---|
| 运行文件 | ./Config/ItemQuality.txt,相对于读取程序的工作目录。源码 resources/Server/Config 是样本位置,实际部署可能另有副本。
|
| 读取程序 | Server 游戏进程;旧表加载已确认,实际装备业务调用未发现 |
| 生效方法 | 保留运行文件。确需核对时先备份,正常保存并停服后修改 Server 工作目录的 Config 副本,再重启 Server。当前检索范围未发现本表独立重载入口。不要以“未发现业务调用”为由删除启动仍需读取的文件。 |
| 样本格式 | GB18030-compatible,CRLF。保留原编码;源码读取器不会自动把中文转为 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、两张表的加载和查询函数、旧品质抽取函数在独立夹具中执行,核对样本和示例;没有启动游戏、服务进程或数据库。夹具直接调用旧函数仅验证其算法,不证明游戏会调用。运行程序与源码是否一致、定制分支效果需要实测。