查看“︁工程参考/修炼配置”︁的源代码
来自天龙知识库
←
工程参考/修炼配置
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
__NOTOC__ <div class="lua-reference"> <div class="lua-lead"> <div role="heading" aria-level="2" class="lua-h1">修炼配置</div> <div class="lua-sub">7 张表 · 三本宝典 × 十五卷秘籍 · 经验以字符串读取避免 32 位截断</div> </div> 修炼系统由'''三本宝典'''(BOOK_COUNT=3)各辖若干'''秘籍卷'''(VOLUME_COUNT=15)组成:<code>Book(卷号)</code> 规定卷 0–4 属第一本、5–10 属第二本、其余属第三本。每卷独立记等级与境界,境界决定等级上限:<code>MaxLevel(境界)</code> 为 境界 1–6 时 = 境界×10,境界 7–12 时 = 60+(境界−6)×15(最高 150)。 七张表中五张由服务端 <code>TLBBXiuLian::LoadTables</code>(实现位于 <code>Common/CultivationTables.h</code>,调用点在 <code>Server/GameServer/Server/Main/GameTable.cpp</code>)加载,另两张(宝典、秘籍)由客户端 <code>Game.exe</code> 自己读。 == 加载与启动校验 == 五张服务端表'''列数必须精确相等''':明细 63、概率 3、评分 16、规则 4、宝石评分 2。随后: * 明细按(门派, 等级)建键,重复即失败;门派必须是 0..8 或 10(9 无效,非门派行整行跳过);等级 0..150。 * 概率表必须'''正好 150 行'''(1..150 各一行)。 * 评分表每个门派只能出现一次,且 0..8 与 10 十个门派必须全部齐备;同时每个门派的 0..150 级在明细表里都要有行——少一级就启动失败。 * 规则表必须正好 31 行,等级 119..149。 * 宝石评分表不能为空。 == XiuLianDetail.txt(63 列,2416 行)=== 每行一个「门派 × 等级」的修炼消耗。第 1 列索引、第 2 列等级、第 3 列门派;从第 4 列起每 4 列一卷,共 15 卷: {| class="wikitable" ! scope="col" style="width:16%" | 组内列 ! scope="col" style="width:22%" | 类型 ! scope="col" | 说明 |- | 经验 || '''STRING''' || 以十进制字符串读取(<code>TLBBExp::TableValue</code>),避开 DBC 32 位整型截断;必须 ≥0。 |- | 金钱 || INT || ≥0。 |- | 加成 || FLOAT || 有限且 ≥0。 |- | 系数 || FLOAT || 有限且 ≥0。 |} '''注意类型行''':本文件第一行把经验列标为 STRING、第二行却是 INT 样式——加载器按第一行取类型并走 <code>pString</code>,改类型行会让经验读错。样本里大量行的经验为 0,表示该等级不消耗经验。 == XiuLianRate.txt(3 列,150 行)=== 按等级两列概率(均为 FLOAT,≥0,有限),等级 1..150 各一行、不重复。 == XiuLianNewScore.txt(16 列,16 行)=== 门派 + 15 卷的基础评分,每卷 0..1000。样本 <code>0 8 1 12 1 2 25 1 15 6 8 5 11 6 17 8</code>。十个门派(0..8、10)各一行,缺一即启动失败。 == XiuLianRule.txt(4 列,31 行)=== 等级 119..149 每行三个宝典的境界上限(1..12)。样本首行 <code>119 9 9 9</code> 表示 119 级时三本宝典最高到 9 阶。 == XiuLianGemScore.txt(2 列,1231 行)=== 宝石编号 → 进阶评分。编号必须落在 50000001..59999999 之间(开区间),评分 0..10000,编号不重复。样本 <code>50101001 1</code>。 == XiuLianBook.txt(4 列,3 行,客户端)=== 三本宝典的定义。列为 编号、名称、图标、说明;编号必须小于 3。客户端接口 <code>GetXiuLianBookInfo(id, key)</code>(实现位于 <code>Client/Game/Interface/GMGameInterface_Script_PlayerMySelf.cpp</code>)按 key 取 <code>Name</code>/<code>Icon</code>/<code>IconName</code>/<code>Explain</code>,另外 <code>Level</code> 与 <code>HasActived</code> 来自角色数据不是本表。样本名称带颜色码,如 <code>#cfff263五行宝典</code>。 == XiuLianMiJi.txt(5 列,15 行,客户端)=== 十五卷秘籍的定义。列为 编号、所属宝典、名称、图标、说明;编号必须小于 15,所属宝典取值 0/1/2 且与 <code>Book(卷号)</code> 的划分一致(卷 0–4→0、5–10→1、11–14→2)。接口 <code>GetXiuLianMiJiInfo(id, key)</code> 取 <code>Name</code>/<code>Icon</code>/<code>IconName</code>/<code>Explain</code>,等级与境界同样来自角色数据;<code>UpLevelNeedExp</code>/<code>UpLevelNeedMoney</code> 会去查明细表的下一级行。 == 修改清单 == * 调某一卷的消耗:改 XiuLianDetail 对应(门派, 等级)行、该卷那一组的四列;经验列保持字符串写法。 * 加新门派:需要在评分表补一行、明细表补 0..150 全部 151 行,还要改 <code>IsSchool</code> 代码(写死 0..8 与 10)。 * 调境界上限:改 XiuLianRule 对应等级行的三列;境界上限的代码常量 MAX_REALM=12。 * 客户端不同步时,界面上的宝典与秘籍名称图标仍是旧值;改这两张表要按客户端资源更新流程同步并重启 Game.exe。 [[Category:工程参考]] </div>
返回
工程参考/修炼配置
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息