查看“︁工程参考/其他功能配置”︁的源代码
来自天龙知识库
←
工程参考/其他功能配置
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
__NOTOC__ <div class="lua-reference"> <div class="lua-lead"> <div role="heading" aria-level="2" class="lua-h1">其他功能配置</div> <div class="lua-sub">7 张表 · 功能开关、武魂重洗、战斗上限、神器升级、传送定义、敏感词、便捷购买</div> </div> 这七张表分属不同子系统,共同点是都在启动时加载、结构改动会直接导致服务起不来。除便捷购买表外都找到了明确读取方。 == FeatureOpen.ini(功能开关,23 行)== 由 GameServer 启动时读取(调用点 <code>Server.cpp</code> 的 <code>FeatureGate::ServerState().Load("./Config/FeatureOpen.ini")</code>,解析实现位于 <code>Common/FeatureGateConfig.h</code>)。'''只读一次,不支持热更新''',改完要重启该区全部 GameServer。 * 只有一个节 <code>[FeatureOpen]</code>,注释用 <code>;</code> 或 <code>#</code>。 * 五个键'''必须全部出现且只出现一次''':<code>Cultivation</code>(修炼)、<code>Wuhun</code>(武魂)、<code>HappyDDZ</code>(欢乐斗地主)、<code>Longwen</code>(龙纹)、<code>Diaowen</code>(雕纹),值只能 0 或 1。 * 未知键、重复键、缺键都会让解析失败→GameServer 启动失败。 * 可选节 <code>[HappyDDZReward]</code> 一旦出现,<code>Type</code>、<code>AmountPerScore</code>、<code>MaxPerWin</code> 三个键必须齐全。 * Lua 侧用 <code>LuaFnIsFeatureOpen</code> 查询;龙纹与雕纹关闭后保留物品与已有属性,只停止入口和新操作。 == KFSConfigTable.ini(武魂重洗权重,15 行)== 武魂表加载时附带读取(实现位于 <code>Server/GameServer/Server/Main/GameTable.cpp</code> 的 <code>InitWuhunTables</code>)。 * 节 <code>[KFSQuality]</code>,12 个键:<code>LowKFS_GorwRate0..5</code>(低级重洗)与 <code>HighKFS_GorwRate0..5</code>(高级重洗)。 * 每键为非负整数;'''低级组与高级组各自相加必须正好等于 1000''',否则武魂表整体加载失败。 * 样本:低级 738/200/50/9/2/1,高级 0/875/100/18/6/1。 == CombatLimits.ini(战斗上限,63 行)== 启动时由 <code>TLBBCombat::LoadLimits</code>(调用点 <code>Common/ServerBase/Config.cpp</code>)读取,客户端 <code>Data/Config</code> 下有同名副本需同步。 * 七个键必须齐全且各出现一次,键名区分大小写,值为十进制正整数:<code>RawAttribute</code>(宽属性容量,样本 100 亿)、<code>ItemAttribute</code>(单条物品属性,样本 32767)、<code>SingleSettlement</code>(单次结算,样本 2147483647)、<code>CriticalDisplay</code>(会心显示,样本 9999)、<code>HitFormula</code>(命中公式,样本 100000)、<code>Resistance</code>(抗性,样本 4096)、<code>EffectiveResistance</code>(有效抗性,样本 100)。 * 不要加节名、不要把注释写在数值后面;文件保持 UTF-8 无 BOM、每行少于 255 字节。 * 调低上限前先核对已有存档:超限字段会拒绝装载,不会自动缩小旧数据。 == SuperWeaponUp.txt(神器升级,20 列 154 行)== 由 <code>ItemTable::InitSuperWeaponUp</code> 加载,'''必须正好 20 列'''且至少一行。列为 神器ID、材料种类、神兵符、数量、辅助材料1/数量、辅助材料2/数量、十一个门派目标、花费。约束: * 神器 ID 必须在蓝装表(<code>GetBlueItemTB</code>)里存在;材料种类 1..3。 * 用了几个材料位就要几个:对应材料的数量 >0 且不超过背包上限,材料本身必须是普通物品;没用到的材料位必须填 -1/-1;同种材料不能重复。 * 十一个门派目标列(少林、明教、丐帮、武当、峨眉、星宿、天龙、天山、逍遥、无门派、曼陀)每一列都必须是蓝装表里存在的物品。 * 花费 ≥0。神器 ID 重复即失败。 == TransportDefine.txt(传送定义,16 列 308 行)== 由 <code>TableInit::InitTransportDefine</code> 加载,'''必须正好 16 列'''。列为 编号、来源场景名、来源场景号、来源点名、来源 X、来源 Z、三个整数、目标场景号、两个整数、等级下限、目标场景名、目标 X、目标 Z、一个整数。约束: * 来源与目标场景号都必须 0..MAX_SCENE-1,且'''不能相同'''。 * 等级下限与四个坐标都必须 ≥0。 * 编号不重复;只接受静态场景号,参考表里的动态帮会占位号会被拒。 * 任一记录不合法都会 Assert 并中断启动。 == StrFilter.txt(敏感词过滤,2663 行)== 由 LoginServer 启动时加载(调用点 <code>Server/LoginServer/Login/Main/Login.cpp</code>),'''读失败 LoginServer 起不来'''。 * 文件必须是合法 UTF-8、无 BOM、无内嵌零字节。 * 前两行必须逐字等于 <code>INT\tSTRING\tINT\tINT\tINT\tINT</code>(两行表头)。 * 每个数据行 6 个制表符分隔字段:第 1 列必须是纯数字,第 2 列是词根本身(不能为空),第 3–6 列是标记(其中含「按子串匹配」标志)。 * 空行跳过;行格式不对直接拒绝加载。 == ConvenientBuyShopTable.txt(便捷购买,9 列 5 行)== 八列整数加一列文本,样本是「更换脸型 / 更换发型 / 更换头像 / 更换发色 / 幻世武器」五条便捷购买入口。'''当前检索未发现读取它的代码'''(服务端与 Lua 均无),客户端 <code>Data/Config</code> 有同名副本。改它不会改变运行行为,除非后续版本接入。 == 修改清单 == * 关一个系统玩法:改 FeatureOpen.ini 对应键为 0 并重启该区全部 GameServer;不要删键。 * 调武魂重洗分布:改 KFSConfigTable.ini,保持两组各自合计 1000。 * 提高属性上限:改 CombatLimits.ini 并同步客户端副本,重启两端。 * 这三类都是启动硬校验,改前备份并在本地先起一次服务。 [[Category:工程参考]] </div>
返回
工程参考/其他功能配置
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息