查看“︁工程参考/配置文件/Server/DarkConfigTable.ini”︁的源代码
来自天龙知识库
←
工程参考/配置文件/Server/DarkConfigTable.ini
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:<span style="font-size:24px;line-height:1.4;overflow-wrap:anywhere;">工程参考/配置文件/Server/DarkConfigTable.ini</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;"> [[首页|首页]] · [[工程参考/配置文件索引|配置文件索引]] · [[工程参考/配置文件修改约定|修改约定]] DarkConfigTable.ini 的 [DarkQuality] 节给出暗器品质五个档位的权重,共三组:创建暗器时用默认组,重置品质时按参数在高档和低档之间二选一。 [[#文件位置与生效|位置与生效]] · [[#文件格式|文件格式]] · [[#字段详解|字段详解]] · [[#常用修改实例|修改实例]] == 文件位置与生效 == {| 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/DarkConfigTable.ini</code>,相对于 Server 工作目录。路径写死,没有 FileDef 宏。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 读取程序 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | Server 在 TableInit::InitDarkQualityDiffTable 加载;创建暗器与重置品质时抽取 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 生效方法 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 停服后备份并修改实际 Server/Config 副本,再重启 Server。当前检索范围未发现单独重载入口,也不在 ReloadCombatTables 的清单里。客户端不加载本文件。 |- | 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;">ASCII</code>,<code style="white-space:normal;overflow-wrap:anywhere;">CRLF</code>。保留原编码;源码读取器不会自动把中文转为 UTF-8。 |} 加载器只读 [DarkQuality] 一节,共 15 个键,分三组各五个档位。每组五档之和必须正好等于 1000,否则会打印 NOT 1000 的断言(加载器在读完一整组之后再校验,所以不会因为单项写错而中途退出)。 两处键名拼写按源码保留:低档与高档的前缀是 GorwRate,不是 GrowRate;只有默认组写成 GrowRate。改名会让读取失败。 抽中的档位下标会再乘 40 加上 rand()%40 得到品质附加值:ItemRuler 里是 40*nQualityIndex + rand()%40,Item::ResetDarkQuality 里是 rand()%40 + 40*nQualityIndex;结果大于 200 时被改写为 0。 == 文件格式 == 使用 [节名] 与 Key=Value,节名和键名区分大小写,保持节标题位于行首。用单独一行分号写注释,保留原编码及 CRLF 换行;重复节或键取先匹配项,不依赖后写覆盖。缺项、空值与 0 分别按下表处理。 == 字段详解 == 模板 [n] 表示从 0 开始的序号,写入时应展开为实际数字;不是字面键名。 === [DarkQuality] === {| 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;">DefaultDark_Quality_GrowRate0</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 默认品质档位权重,对应 g_DarkQualityDiffTbl.m_DefaultQuality。第 0 级的相对权重,本级品质档下标就是 0。源码按 rand()%1000 在五档间累加命中。创建暗器时抽品质档用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::DefaultDark_Quality_GrowRate0 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">DefaultDark_Quality_GrowRate1</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 默认品质档位权重,对应 g_DarkQualityDiffTbl.m_DefaultQuality。第 1 级的相对权重,本级品质档下标就是 1。源码按 rand()%1000 在五档间累加命中。创建暗器时抽品质档用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::DefaultDark_Quality_GrowRate1 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">DefaultDark_Quality_GrowRate2</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 默认品质档位权重,对应 g_DarkQualityDiffTbl.m_DefaultQuality。第 2 级的相对权重,本级品质档下标就是 2。源码按 rand()%1000 在五档间累加命中。创建暗器时抽品质档用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::DefaultDark_Quality_GrowRate2 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">DefaultDark_Quality_GrowRate3</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 默认品质档位权重,对应 g_DarkQualityDiffTbl.m_DefaultQuality。第 3 级的相对权重,本级品质档下标就是 3。源码按 rand()%1000 在五档间累加命中。创建暗器时抽品质档用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::DefaultDark_Quality_GrowRate3 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">DefaultDark_Quality_GrowRate4</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 默认品质档位权重,对应 g_DarkQualityDiffTbl.m_DefaultQuality。第 4 级的相对权重,本级品质档下标就是 4。源码按 rand()%1000 在五档间累加命中。创建暗器时抽品质档用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::DefaultDark_Quality_GrowRate4 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">LowDark_Quality_GorwRate0</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 低档权重,对应 g_DarkQualityDiffTbl.m_LowDarkQuality。键名里的 Gorw 是源码拼写。第 0 级的相对权重,本级品质档下标就是 0。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality 在 nType 不等于 2 时用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::LowDark_Quality_GorwRate0 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">LowDark_Quality_GorwRate1</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 低档权重,对应 g_DarkQualityDiffTbl.m_LowDarkQuality。键名里的 Gorw 是源码拼写。第 1 级的相对权重,本级品质档下标就是 1。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality 在 nType 不等于 2 时用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::LowDark_Quality_GorwRate1 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">LowDark_Quality_GorwRate2</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 低档权重,对应 g_DarkQualityDiffTbl.m_LowDarkQuality。键名里的 Gorw 是源码拼写。第 2 级的相对权重,本级品质档下标就是 2。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality 在 nType 不等于 2 时用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::LowDark_Quality_GorwRate2 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">LowDark_Quality_GorwRate3</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 低档权重,对应 g_DarkQualityDiffTbl.m_LowDarkQuality。键名里的 Gorw 是源码拼写。第 3 级的相对权重,本级品质档下标就是 3。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality 在 nType 不等于 2 时用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::LowDark_Quality_GorwRate3 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">LowDark_Quality_GorwRate4</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 低档权重,对应 g_DarkQualityDiffTbl.m_LowDarkQuality。键名里的 Gorw 是源码拼写。第 4 级的相对权重,本级品质档下标就是 4。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality 在 nType 不等于 2 时用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::LowDark_Quality_GorwRate4 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">HighDark_Quality_GorwRate0</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 高档权重,对应 g_DarkQualityDiffTbl.m_HighDarkQuality。键名里的 Gorw 是源码拼写。第 0 级的相对权重,本级品质档下标就是 0。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality(2) 这一个分支才用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::HighDark_Quality_GorwRate0 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">HighDark_Quality_GorwRate1</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 高档权重,对应 g_DarkQualityDiffTbl.m_HighDarkQuality。键名里的 Gorw 是源码拼写。第 1 级的相对权重,本级品质档下标就是 1。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality(2) 这一个分支才用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::HighDark_Quality_GorwRate1 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">HighDark_Quality_GorwRate2</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 高档权重,对应 g_DarkQualityDiffTbl.m_HighDarkQuality。键名里的 Gorw 是源码拼写。第 2 级的相对权重,本级品质档下标就是 2。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality(2) 这一个分支才用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::HighDark_Quality_GorwRate2 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">HighDark_Quality_GorwRate3</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 高档权重,对应 g_DarkQualityDiffTbl.m_HighDarkQuality。键名里的 Gorw 是源码拼写。第 3 级的相对权重,本级品质档下标就是 3。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality(2) 这一个分支才用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::HighDark_Quality_GorwRate3 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">HighDark_Quality_GorwRate4</code><br>整数,写入 SHORT | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 高档权重,对应 g_DarkQualityDiffTbl.m_HighDarkQuality。键名里的 Gorw 是源码拼写。第 4 级的相对权重,本级品质档下标就是 4。源码按 rand()%1000 在五档间累加命中。 ResetDarkQuality(2) 这一个分支才用本组。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失会打印 read DarkQuality::HighDark_Quality_GorwRate4 failed 的断言;写负数后会参与求和校验,仍会被要求五档合计 1000。 |} == 常用修改实例 == 示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。 === 把默认组的 1 级品质权重从 874 降到 800,同时把 2 级从 100 提到 174 === 修改前: <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">[DarkQuality] DefaultDark_Quality_GrowRate0=874 DefaultDark_Quality_GrowRate1=100 DefaultDark_Quality_GrowRate2=20 DefaultDark_Quality_GrowRate3=5 DefaultDark_Quality_GrowRate4=1</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;">[DarkQuality] DefaultDark_Quality_GrowRate0=800 DefaultDark_Quality_GrowRate1=174 DefaultDark_Quality_GrowRate2=20 DefaultDark_Quality_GrowRate3=5 DefaultDark_Quality_GrowRate4=1</pre> 代码块保留节标题 [DarkQuality] 与默认组的五行权重,两级调整后合计仍是 1000。先备份原文件,只改这两行;低档与高档两组保持原值,节标题保留。 修改后创建暗器落在 1 级的概率从 874/1000 降到 800/1000,落在 2 级的概率从 100/1000 升到 174/1000。隔离加载读回 800 与 174。实际掉落与鉴定结果需要实测。 == 验证与排查 == 启动时若某组之和不是 1000,Server 日志出现 INI: read DarkQuality::m_DefaultQuality NOT 1000 一类断言;键名写错则出现 read DarkQuality::<键名> failed。确认 15 个键都在、三组各自合计 1000,再分别抽默认组与重置组观察品质分布(需要实测)。恢复备份后重启。 === 与其它暗器表的分工 === 本文件管品质数值分布;DarkSkillList.txt 管按等级换技能,DarkSkillStudy.txt 管 40/70/90 级的随机换体系,Public/DarkExpLevel.txt 管升级经验。四者互不替代。 === 值域 === 值按 SHORT 保存,单个键不要超过 32767;因为每组必须合计 1000,实际也不应该出现大数。 == 关联与依据 == [[工程参考/配置文件/Server/DarkSkillList.txt|Server/DarkSkillList.txt]] · [[工程参考/配置文件/Server/DarkSkillStudy.txt|Server/DarkSkillStudy.txt]] · [[工程参考/配置文件/Public/DarkExpLevel.txt|Public/DarkExpLevel.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;">Server/Server/GameServer/Server/Item/Item.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Item/ItemRuler.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/Ini.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/Ini.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Server/Config/DarkConfigTable.ini</code>:实际加载、解析、字段使用或示例关联依据 原始 InitDarkQualityDiffTable 与 INI 读取器隔离测试。暗器品质抽取未在游戏中执行。 </div> [[Category:工程参考]]
返回
工程参考/配置文件/Server/DarkConfigTable.ini
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息