查看“︁工程参考/配置文件/Server/MergeConfig.txt”︁的源代码
来自天龙知识库
←
工程参考/配置文件/Server/MergeConfig.txt
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:<span style="font-size:24px;line-height:1.4;overflow-wrap:anywhere;">工程参考/配置文件/Server/MergeConfig.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;"> [[首页|首页]] · [[工程参考/配置文件索引|配置文件索引]] · [[工程参考/配置文件修改约定|修改约定]] MergeConfig.txt 为七类业务保存关闭与重新开放时间。只有对应代码或脚本检查了该开关,才会受影响;不能把它当成关闭整个帮会、商店或交易系统的总开关。 [[#文件位置与生效|位置与生效]] · [[#文件格式|文件格式]] · [[#字段详解|字段详解]] · [[#常用修改实例|修改实例]] == 文件位置与生效 == {| 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/MergeConfig.txt</code>,相对于读取程序的工作目录。源码 resources/Server/Config 是样本位置,实际部署可能另有副本。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 读取程序 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | Server 游戏进程,相关 Lua 脚本读取关闭状态 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 生效方法 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 正常重启 Server,或由 access=0 的管理员通过现有 GM 命令入口发送 reloadtab name=MergeConfig。命令查找等号后的完整内容,MergeConfig 大小写精确匹配且不要附带尾随空格;每个 Server 分别执行。此命令不是 Lua 函数。重载不清空未读到的尾部记录,因此保留完整七行,不通过删行、注释某一行来停用。 |- | 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。 |} 数据行必须依次为 Procreate、Guild、City、PShop、Commision、YBCash、YBUse,KEY 区分大小写,Commision 保留原拼写。程序按数据行位置核对 KEY,改变第一列索引不能改变规定顺序。 == 文件格式 == 首行是类型行:<code style="white-space:normal;overflow-wrap:anywhere;">INT STRING STRING 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:索引 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 第一列为 DBC 唯一索引,保留 0..6 的样本惯例。业务类型由数据行位置决定,不按此值寻找 KEY。 | 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;">第 2 列</code><br>STRING:KEY | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 七行固定顺序:0 Procreate 珍兽繁殖入口;1 Guild 创建帮会入口;2 City 申请城市入口;3 PShop 开店入口;4 Commision 元宝寄售入口;5 YBCash 元宝票 NPC 兑换预留项;6 YBUse 使用元宝票。详细影响以本页说明的消费处为准。 | 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;">第 3 列</code><br>STRING:描述 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 人工阅读用说明列,加载器没有拿这一列决定业务类型。保留列位置和 Tab,即使不用说明也要保留空列。 | 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;">第 4 列</code><br>INT:打烊时间(YYMMDDHH) | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 关闭时间下界,按服务器当前本地日期小时比较,包含该小时。26091002 表示 2026-09-10 02 时;不是 Unix 秒、毫秒或 YYYYMMDDHH。没有分钟精度。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 构造时初值 0;正常配置明确填写。0 不单独表示关闭功能,必须与结束值一起判断。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">第 5 列</code><br>INT:再次营业时间(YYMMDDHH) | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 重新开放时间上界,不包含该小时。仅当 关闭时间 <= 当前值 < 重新开放时间,状态才为关闭。26091005 表示到 2026-09-10 05 时恢复。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 两列同为 0 不关闭;相等或结束早于开始都没有满足条件的区间。不存在自动跨日修正。 |} == 常用修改实例 == 示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。 以下代码块保留真实 Tab;本地示例文件为 ASCII/CRLF,列名用英文便于核对分隔符。 === 安排一次三小时的繁殖入口关闭窗口 === 修改前: <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 STRING INT INT Index KEY Description CloseTime ReopenTime 0 Procreate Procreate 0 0 1 Guild Guild 0 0 2 City City 0 0 3 PShop PShop 0 0 4 Commision Commision 0 0 5 YBCash YBCash 0 0 6 YBUse YBUse 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 STRING INT INT Index KEY Description CloseTime ReopenTime 0 Procreate Procreate 26091002 26091005 1 Guild Guild 0 0 2 City City 0 0 3 PShop PShop 0 0 4 Commision Commision 0 0 5 YBCash YBCash 0 0 6 YBUse YBUse 0 0</pre> 全部七行保留,只把 Procreate 的时间由 0/0 改为 26091002/26091005。按服务器本地时间,在 2026-09-10 02:00 到 05:00 之间返回关闭状态,其他行保持原值;这些日期是教学值,实际应换成计划日期。源码样本不一定原为 0/0,操作时只改目标行的两列,不替换其他业务的现有安排。表格式本身不验证真实日历日期,务必检查月份、日和小时。 == 验证与排查 == 在独立测试环境检查服务器时区、当前日期与目标七行,重载后查看 LoadMergeConfigTable Done 日志。用正常脚本回调中的 [[Lua接口/服务端/IsShutout|IsShutout(sceneId,selfId,opType)]] 显式比较:1 为关闭、0 为未关闭,失败可能为 -1;不要用 Lua 的 if result 判断,因为 0 也为真。边界应分别验证开始前、开始小时、结束小时。失败时恢复完整七行并重载或重启;恢复配置不回滚期间已经完成的业务操作。 已核对的脚本消费效果:Procreate 隐藏“珍兽繁殖”选项;Guild 隐藏“创建帮会”;City 隐藏“申请城市”;PShop 把“建立自己的商店”分支换成“注销我的店铺”,其他商店管理入口仍在;Commision 隐藏“我想寄售元宝”,还受 IsCloseYuanBaoSell 开关约束。YBCash 的样本脚本调用已注释,当前检索范围未发现活跃消费,不能承诺其业务效果。YBUse 在服务端使用物品编号 30501036 时检查,关闭期间不执行 UseYuanBaoTicket。菜单隐藏不等于对所有请求路径统一封禁,其他入口需要实测。 == 关联与依据 == [[工程参考/配置文件/Server/GMList.ini|Server/GMList.ini]] [[工程参考/配置文件索引|其他配置及整理状态]] · [[工程参考/服务端外网设置|服务端外网设置]] · [[Lua接口/服务端函数索引|Lua 接口索引]] * <code style="white-space:normal;overflow-wrap:anywhere;">Common/DataBase/TLBB_DBC.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/DataBase/TLBB_DBC.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/TimeManager.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Other/MergeServerManagerG.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Other/MergeServerManagerG.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Main/Server.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Packets/CGCommandHandler.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Packets/CGUseItemHandler.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Script/LuaFnRegister.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Script/LuaFnTbl_Attr.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Script/LuaFnMacro.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Data/Script/ScriptGlobal.lua</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Data/Script/event/petprocreate/PetProcreateRegister.lua</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Data/Script/event/misc/commisionshop.lua</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Data/Script/obj/luoyang/oluoyang_fanchunren.lua</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Data/Script/obj/luoyang/oluoyang_qiaofusheng.lua</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">resources/Public/Data/Script/obj/qianzhuang/oqianzhuang_suishenyuanbao.lua</code>:实际加载、解析、字段使用或示例关联依据 本页核对源码读取、字段使用与样本格式,未启动游戏、服务端或数据库。解析验证不等于游戏实测;广播、权限、客户端交互等运行结果需要实测。 </div> [[Category:工程参考]]
返回
工程参考/配置文件/Server/MergeConfig.txt
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息