工程参考/配置文件/Public/AbilityLevelUp:修订间差异

来自天龙知识库
跳到导航跳到搜索
雪舞​(留言 | 贡献)
维护配置文件知识库:完整字段、读取范围、手工修改实例与核对状态
 
Waylee​(留言 | 贡献)
维护配置文件知识库:完整字段、读取范围、手工修改实例与核对状态
 
第129行: 第129行:


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


== 字段详解 ==
== 字段详解 ==
第189行: 第189行:
=== 把采矿 1 级需求金钱从 2500 改为 5000 ===
=== 把采矿 1 级需求金钱从 2500 改为 5000 ===
修改前:
修改前:
<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 STRING INT INT INT INT INT INT STRING INT INT
<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 STRING INT STRING INT INT INT INT STRING INT STRING
级别 名称 需求金钱 需求经验 技能熟练度限制 技能熟练度限制(客户端显示) 本级熟练度的上限 等级限制 NPC名称 NPC需求金钱 NPC需求经验
级别 名称 需求金钱 需求经验 技能熟练度限制 技能熟练度限制(客户端显示) 本级熟练度的上限 等级限制 NPC名称 NPC需求金钱 NPC需求经验
1 采药(等级1) 2500 10000 0 0 1500 20 空 0 0</pre>
1 采药(等级1) 2500 10000 0 0 1500 20 空 0 0</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 STRING INT INT INT INT INT INT STRING INT INT
<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 STRING INT STRING INT INT INT INT STRING INT STRING
级别 名称 需求金钱 需求经验 技能熟练度限制 技能熟练度限制(客户端显示) 本级熟练度的上限 等级限制 NPC名称 NPC需求金钱 NPC需求经验
级别 名称 需求金钱 需求经验 技能熟练度限制 技能熟练度限制(客户端显示) 本级熟练度的上限 等级限制 NPC名称 NPC需求金钱 NPC需求经验
1 采药(等级1) 5000 10000 0 0 1500 20 空 0 0</pre>
1 采药(等级1) 5000 10000 0 0 1500 20 空 0 0</pre>
第200行: 第200行:
按第一列定位级别 1。样本需求金钱 2500、经验 10000。只改第 3 列,保留 11 列和其余 9 行。本片段含表头与该行。
按第一列定位级别 1。样本需求金钱 2500、经验 10000。只改第 3 列,保留 11 列和其余 9 行。本片段含表头与该行。


采矿升到 1 级(或该级配置)的金钱变为 5000。隔离加载读回 2500→5000。Ability.txt 必须仍指向 caikuang.txt。实际升级需要实测。
采矿升到 1 级(或该级配置)的金钱变为 5000。隔离加载读回 2500→5000。Ability.txt 必须仍指向 caikuang.txt。


== 验证与排查 ==
== 验证与排查 ==
第246行: 第246行:
* <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Config/AbilityLevelUp/menpaifuzhu.txt</code>:实际加载、解析、字段使用或示例关联依据
* <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Config/AbilityLevelUp/menpaifuzhu.txt</code>:实际加载、解析、字段使用或示例关联依据
* <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Config/AbilityLevelUp/assistant_menpai.txt</code>:实际加载、解析、字段使用或示例关联依据
* <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Config/AbilityLevelUp/assistant_menpai.txt</code>:实际加载、解析、字段使用或示例关联依据
原始 LoadFromDB 隔离测试。升级流程未在游戏中执行。
</div>
</div>
[[Category:工程参考]]
[[Category:工程参考]]

2026年10月26日 (一) 17:23的最新版本


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

AbilityLevelUp 目录是生活技能升级消耗表。Ability.txt 点名哪些文件进入加载列表,再一次性 LoadAll。23 个同格式 txt 里,当前有 17 个被引用。XinFaStudySpend_V1.txt 也在这个目录,但不是本加载器读的,格式也不同。

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

文件位置与生效

项目 说明
运行文件 ../Public/Config/AbilityLevelUp/ 下各 txt。目录在 AbilityManager::Init 里写死。文件名来自 Ability.txt 第 5 列。
读取程序 Server 在 Ability.txt 点名后由 AbilityLevelUpConfig::LoadFromDB 加载;升级与 Lua 查询
生效方法 与 Ability.txt 一起备份。停服后修改实际 Public 副本,再重启 Server。当前检索范围未发现独立重载。只改目录里未被点名的文件不会生效。
样本格式 GB18030-compatible,CRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。

每个被点名的文件至少 11 列。第 1 列级别作数组下标,0..10000。重复级别后行覆盖前行。第 2 列名称不读。NPC 名称最长 30 字节。

文件 Ability.txt 引用 样本要点
Public/AbilityLevelUp/pengren.txt 1 烹饪 约 10 级。烹饪
Public/AbilityLevelUp/zhiyao.txt 2 制药 约 10 级。制药
Public/AbilityLevelUp/putongshenghuo.txt 3 镶嵌 约 10 级。镶嵌用这张,不是 xiangqian.txt
Public/AbilityLevelUp/zhuzao.txt 4 铸造 约 10 级。铸造
Public/AbilityLevelUp/fengren.txt 5 缝纫 约 10 级。缝纫
Public/AbilityLevelUp/gongyi.txt 6 工艺 约 10 级。工艺
Public/AbilityLevelUp/caikuang.txt 7 采矿 约 10 级。采矿;名称列样本写成采药,服务器不读名称列
Public/AbilityLevelUp/caiyao.txt 8 采药 约 10 级。采药
Public/AbilityLevelUp/diaoyu.txt 9 钓鱼 约 10 级。钓鱼
Public/AbilityLevelUp/zhongzhi.txt 10 种植 约 10 级。种植
Public/AbilityLevelUp/menpaishenghuo.txt 11..19 门派生活 约 10 级。开光等到奇门遁甲
Public/AbilityLevelUp/assistant.txt 20..26 及 40..51 等 约 100 级。工程学、驱鬼、跑商、骑乘、材料加工等共用,100 级
Public/AbilityLevelUp/yaoli.txt 27 药理 约 100 级。药理
Public/AbilityLevelUp/yangsheng.txt 28 养生法 约 100 级。养生法
Public/AbilityLevelUp/shenghuofuzhu.txt 29..37 生活辅助 约 100 级。佛法、采火术等到道法
Public/AbilityLevelUp/dingweifu.txt 39 咫尺天涯 约 3 级。定位符
Public/AbilityLevelUp/cailiaojiagong.txt 49 材料加工 约 1 级。仅 1 级
Public/AbilityLevelUp/xiangqian.txt 当前 Ability.txt 未引用 约 10 级。格式相同,未加载
Public/AbilityLevelUp/normal.txt 当前未引用 约 10 级。格式相同,未加载
Public/AbilityLevelUp/gaojishenghuo.txt 当前未引用 约 10 级。格式相同,未加载
Public/AbilityLevelUp/menpai.txt 当前未引用 约 10 级。格式相同,未加载
Public/AbilityLevelUp/menpaifuzhu.txt 当前未引用 约 100 级。格式相同,未加载
Public/AbilityLevelUp/assistant_menpai.txt 当前未引用 约 100 级。格式相同,未加载

查询 GetLevelUpInfo(等级) 按下标取,不是扫描。Lua LuaFnGetAbilityLevelUpConfig。

文件格式

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

字段详解

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

字段与类型 含义与修改要点 缺项或特殊值
第 1 列
INT:级别
技能等级,作为数组下标。样本从 1 起。 须 0..10000。缺级的下标 Get 返回空。
第 2 列
STRING:名称
样本说明文字。加载器不读。采矿表第 1 级写成采药,不影响采矿。 改它不会改变升级消耗。
第 3 列
INT:需求金钱
升级要的钱。样本采矿 1 级 2500。 空为 0。
第 4 列
INT:需求经验
升级要的人物经验。样本采矿 1 级 10000。 空为 0。
第 5 列
INT:技能熟练度限制
升级所需熟练度。 空为 0。
第 6 列
INT:技能熟练度限制(客户端显示)
给客户端显示的熟练度。Server 仍加载。 空为 0。
第 7 列
INT:本级熟练度的上限
本级熟练度上限。样本采矿 1 级 1500。 空为 0。
第 8 列
INT:等级限制
人物等级限制。样本采矿 1 级 20。 空为 0。
第 9 列
STRING:NPC名称
升级 NPC 名,最多 30 字节。样本多为 空。 过长加载失败。
第 10 列
INT:NPC需求金钱
向 NPC 升级的额外金钱。 空为 0。
第 11 列
INT:NPC需求经验
向 NPC 升级的额外经验。列数必须 ≥11。 空为 0。缺列失败。

常用修改实例

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

把采矿 1 级需求金钱从 2500 改为 5000

修改前:

INT	STRING	INT	STRING	INT	INT	INT	INT	STRING	INT	STRING
级别	名称	需求金钱	需求经验	技能熟练度限制	技能熟练度限制(客户端显示)	本级熟练度的上限	等级限制	NPC名称	NPC需求金钱	NPC需求经验
1	采药(等级1)	2500	10000	0	0	1500	20	空	0	0

修改后:

INT	STRING	INT	STRING	INT	INT	INT	INT	STRING	INT	STRING
级别	名称	需求金钱	需求经验	技能熟练度限制	技能熟练度限制(客户端显示)	本级熟练度的上限	等级限制	NPC名称	NPC需求金钱	NPC需求经验
1	采药(等级1)	5000	10000	0	0	1500	20	空	0	0

按第一列定位级别 1。样本需求金钱 2500、经验 10000。只改第 3 列,保留 11 列和其余 9 行。本片段含表头与该行。

采矿升到 1 级(或该级配置)的金钱变为 5000。隔离加载读回 2500→5000。Ability.txt 必须仍指向 caikuang.txt。

验证与排查

启动有 LoadAll AbilityLevelUpConfig Done。caikuang 1 级金钱 5000。改名未引用文件不会被读。恢复 Ability.txt 与本文件后重启。

未引用

xiangqian、normal、gaojishenghuo、menpai、menpaifuzhu、assistant_menpai 格式相同但当前 Ability.txt 未点名。

心法文件

本目录的 XinFaStudySpend_V1.txt 与 Public/XinFaStudySpend_V1.txt 不是同一份哈希。心法花费由 FILE_XINFA_STUDY_SPEND 加载,不走本管理器。

关联与依据

Public/Ability.txt · Public/AbilityExpTable.txt

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

  • Server/Server/GameServer/Server/Ability/AbilityLevelUpConfig.cpp:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Ability/AbilityLevelUpConfig.h:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Ability/AbilityManager.cpp:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Ability/AbilityManager.h:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Obj/Obj_Human.cpp:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Script/LuaFnTbl_Ability.h:实际加载、解析、字段使用或示例关联依据
  • Common/DataBase/TLBB_DBC.cpp:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/pengren.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/zhiyao.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/putongshenghuo.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/zhuzao.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/fengren.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/gongyi.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/caikuang.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/caiyao.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/diaoyu.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/zhongzhi.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/menpaishenghuo.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/assistant.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/yaoli.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/yangsheng.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/shenghuofuzhu.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/dingweifu.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/cailiaojiagong.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/xiangqian.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/normal.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/gaojishenghuo.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/menpai.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/menpaifuzhu.txt:实际加载、解析、字段使用或示例关联依据
  • resources/Public/Config/AbilityLevelUp/assistant_menpai.txt:实际加载、解析、字段使用或示例关联依据