查看“︁工程参考/配置文件/Server/DarkSkillList.txt”︁的源代码
来自天龙知识库
←
工程参考/配置文件/Server/DarkSkillList.txt
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:<span style="font-size:24px;line-height:1.4;overflow-wrap:anywhere;">工程参考/配置文件/Server/DarkSkillList.txt</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;"> [[首页|首页]] · [[工程参考/配置文件索引|配置文件索引]] · [[工程参考/配置文件修改约定|修改约定]] DarkSkillList.txt 是暗器技能的进化链。每一行是一条链,16 列对应暗器等级 10、20、…、160 时该链上的技能编号。暗器升级时先按当前技能编号找到所在行,再取新等级那一列的值替换进去。 [[#文件位置与生效|位置与生效]] · [[#文件格式|文件格式]] · [[#字段详解|字段详解]] · [[#常用修改实例|修改实例]] == 文件位置与生效 == {| 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/DarkSkillList.txt</code>,相对于 Server 工作目录。路径写死,没有 FileDef 宏。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 读取程序 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | Server 在 TableInit::InitDarkSkillListTable 加载;Item::DarkLevelupSkill 与 Item::AdjustDarkSkill 按等级列取值 |- | 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;">GB18030-compatible</code>,<code style="white-space:normal;overflow-wrap:anywhere;">CRLF</code>。保留原编码;源码读取器不会自动把中文转为 UTF-8。 |} 样本 31 行、16 列。加载器只要求列数不少于 16,不校验任何数值,也不要求第一列是编号。DarkLevelupSkill 与 AdjustDarkSkill 都先要求暗器等级落在 40 到 160 之间且能被 10 整除,再把等级换算成列下标:下标 = 等级/10 − 1,并夹在 0..15。所以第 1 列对应 10 级、第 16 列对应 160 级,但等级 10、20、30 对应的第 1 到第 3 列在任何调用路径里都取不到,真正会被读取的是第 4 列(40 级)到第 16 列(160 级)。 Item::DarkLevelup 在等级大于 149 时直接返回失败,所以靠升级最高停在 150 级,第 16 列(160 级)在升级路径中不可达;只有 AdjustDarkSkill 在暗器已经是 160 级时才读它。 样本前 24 行是每行 16 个连续编号的技能链(32000 到 32399),后 7 行是整行同值的收尾链(32400 到 32406 各占一行)。表头第 13 列样本写成「130级110级技能」,是原表保留的笔误,不要顺手按其它列的格式去改它,除非确实要改这一列的业务含义。 == 文件格式 == 首行是类型行:<code style="white-space:normal;overflow-wrap:anywhere;">INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT</code>;第二行是列名行,程序跳过其内容;从第三行开始读取数据。各列用真实 Tab 分隔,保留首列、空列及行尾,不用空格代替。数据行行首 # 表示注释,分号不是此表的注释规则。首列为空的行被跳过;不足的尾列补为空值,多余列不参与本页字段读取。空整数和非数字经 atoi 可能成为 0,空字符串仍为空,不把解析成功当作业务合法。第一列须唯一,重复会触发读取器错误。 == 字段详解 == 列号从 1 开始,源码列下标从 0 开始。 {| 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;">第 1 列</code><br>INT:10级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 列位对应暗器等级 10,但两条调用路径都要求等级 ≥40,本列取不到。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 2 列</code><br>INT:20级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 列位对应暗器等级 20,但两条调用路径都要求等级 ≥40,本列取不到。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 3 列</code><br>INT:30级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 列位对应暗器等级 30,但两条调用路径都要求等级 ≥40,本列取不到。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 4 列</code><br>INT:40级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 40 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 5 列</code><br>INT:50级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 50 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 6 列</code><br>INT:60级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 60 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 7 列</code><br>INT:70级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 70 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 8 列</code><br>INT:80级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 80 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 9 列</code><br>INT:90级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 90 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 10 列</code><br>INT:100级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 100 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 11 列</code><br>INT:110级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 110 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 12 列</code><br>INT:120级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 120 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 13 列</code><br>INT:130级110级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 130 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 14 列</code><br>INT:140级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 140 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 15 列</code><br>INT:150级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 150 时该链上的技能编号。样本编号从 32000 到 32406。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 16 列</code><br>INT:160级技能 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 暗器等级 160 时该链上的技能编号。样本编号从 32000 到 32406。正常升级在 150 级封顶,本列只在 AdjustDarkSkill 处理 160 级暗器时用到。修改时同一行内各列应保持合法的技能编号,否则该等级会写入查不到的技能。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 空经 atoi 为 0;调用方遇到 ≤0 会跳过该槽位,相当于本列不推进。 |} == 常用修改实例 == 示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。 以下代码块保留真实 Tab;本地示例文件保留原样本编码、中文表头与 CRLF。网页文字使用浏览器编码显示,不表示运行文件应改存 UTF-8。 === 把第一条链 40 级时的技能从 32003 改为 32999 === 修改前: <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT 10级技能 20级技能 30级技能 40级技能 50级技能 60级技能 70级技能 80级技能 90级技能 100级技能 110级技能 120级技能 130级110级技能 140级技能 150级技能 160级技能 32000 32001 32002 32003 32004 32005 32006 32007 32008 32009 32010 32011 32012 32013 32014 32015</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;">INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT 10级技能 20级技能 30级技能 40级技能 50级技能 60级技能 70级技能 80级技能 90级技能 100级技能 110级技能 120级技能 130级110级技能 140级技能 150级技能 160级技能 32000 32001 32002 32999 32004 32005 32006 32007 32008 32009 32010 32011 32012 32013 32014 32015</pre> 按第一列定位 32000(样本第 1 条链)。第 4 列对应暗器等级 40,样本 32003。只改第 4 列,保留 16 列和其余 30 行。本片段含表头与该行,不能覆盖整表。 暗器到 40 级时,若某个槽位的当前技能属于这一行,槽位会先写入第 4 列的值 32999;因为 40 级同时触发 DarkSkillStudy 的第 1 阶段抽取,第 0 个槽位还可能被那一次抽取覆盖。隔离加载读回 32999。技能能否释放取决于技能模板是否存在,需要实测。 == 验证与排查 == 启动日志出现 Load DarkSkillList.txt ... OK!。31 行、16 列。列数少于 16 会 Assert 失败。技能编号写错不会在加载时报错,只在暗器升级时表现为槽位落空。恢复备份后重启。 本表负责「同一体系内按等级换技能」,DarkSkillStudy 负责「40/70/90 级时随机换到哪条体系」,两者配合使用。改本表不会改变暗器品质,品质在 DarkConfigTable.ini。 == 关联与依据 == [[工程参考/配置文件/Server/DarkSkillStudy.txt|Server/DarkSkillStudy.txt]] · [[工程参考/配置文件/Public/DarkExpLevel.txt|Public/DarkExpLevel.txt]] · [[工程参考/配置文件/Server/DarkConfigTable.ini|Server/DarkConfigTable.ini]] [[工程参考/配置文件索引|其他配置及整理状态]] · [[工程参考/服务端外网设置|服务端外网设置]] · [[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;">Common/ServerBase/FileDef.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/DataBase/TLBB_DBC.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Server/Config/DarkSkillList.txt</code>:实际加载、解析、字段使用或示例关联依据 原始 InitDarkSkillListTable 隔离加载测试。暗器升级换技能未在游戏中执行。 </div> [[Category:工程参考]]
返回
工程参考/配置文件/Server/DarkSkillList.txt
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息